在CentOS 7.4上安装OpenStack块存储和对象存储服务
一、部署OpenStack块存储服务(Cinder)
1. 简介
OpenStack的块存储服务(Cinder)为虚拟机提供持久化存储。它通过多种后端支持如NFS、iSCSI、Ceph等。
2. 安装前准备
[root@controller ~]# mysql -u root -p MariaDB [(none)]> CREATE DATABASE cinder; MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'yourpassword'; MariaDB [(none)]> FLUSH PRIVILEGES; [root@controller ~]# source admin-openrc [root@controller ~]# openstack user create --domain default --password yourpassword cinder [root@controller ~]# openstack role add --project service --user cinder admin
3. 配置与安装
控制节点:
[root@controller ~]# yum install -y openstack-cinder python-cinderclient [root@controller ~]# vim /etc/cinder/cinder.conf [database] connection = mysql+pymysql://cinder:yourpassword@controller/cinder [keystone_authtoken] auth_url = http://controller:5000 memcached_servers = controller:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service username = cinder password = yourpassword
重启相关服务并验证:
[root@controller ~]# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service [root@controller ~]# cinder service-list
二、添加OpenStack对象存储服务(Swift)
1. 简介
Swift提供了对象存储服务,适用于存储大量非结构化的数据。
2. 准备工作
[root@controller ~]# openstack user create --domain default --password yourpassword swift [root@controller ~]# openstack role add --project service --user swift admin [root@controller ~]# openstack service create --name swift --description "OpenStack Object Storage" object-store
3. 安装与配置
控制节点:
[root@controller ~]# yum install -y openstack-swift-proxy python-swiftclient memcached [root@controller ~]# vim /etc/swift/proxy-server.conf [pipeline:main] pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server
存储节点:
[root@object1 ~]# yum install xfsprogs rsync [root@object1 ~]# mkfs.xfs /dev/sdb [root@object1 ~]# mkdir -p /srv/node/sdb [root@object1 ~]# vim /etc/rsyncd.conf [account] path = /srv/node/ read only = false
4. 验证操作
[root@controller ~]# swift stat [root@controller ~]# swift upload test_container test_file.txt