#配置lvm逻辑卷组
yum install lvm2 device-mapper-persistent-data -y
systemctl enable lvm2-lvmetad.service
systemctl start lvm2-lvmetad.service
pvcreate /dev/sdb
vgcreate cinder-volumes /dev/sdb
vi /etc/lvm/lvm.conf
filter = [ "a/sda/", "a/sdb/", "r/.*/"]
#安装软件包,配置修改配置文件
yum install openstack-cinder targetcli python-keystone -y
cp -a /etc/cinder/cinder.conf{,.bak}
grep -Ev '#|^$' /etc/cinder/cinder.conf.bak>/etc/cinder/cinder.conf
openstack-config --set /etc/cinder/cinder.conf database connection mysql+pymysql://cinder:123456@controller/cinder
openstack-config --set /etc/cinder/cinder.conf DEFAULT transport_url rabbit://openstack:openstack@controller
openstack-config --set /etc/cinder/cinder.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken www_authenticate_uri http://controller:5000
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_url http://controller:5000
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken memcached_servers controller:11211
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_type password
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken project_domain_name default
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken user_domain_name default
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken project_name service
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken username cinder
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken password 123456
openstack-config --set /etc/cinder/cinder.conf DEFAULT my_ip 192.168.2.113
openstack-config --set /etc/cinder/cinder.conf oslo_concurrency lock_path /var/lib/cinder/tmp
openstack-config --set /etc/cinder/cinder.conf DEFAULT enabled_backends lvm
openstack-config --set /etc/cinder/cinder.conf DEFAULT glance_api_servers http://controller:9292
openstack-config --set /etc/cinder/cinder.conf lvm volume_driver cinder.volume.drivers.lvm.LVMVolumeDriver
openstack-config --set /etc/cinder/cinder.conf lvm volume_group cinder-volumes
openstack-config --set /etc/cinder/cinder.conf lvm target_protocol iscsi
openstack-config --set /etc/cinder/cinder.conf lvm target_helper lioadm
#启动服务
systemctl enable openstack-cinder-volume.service target.service
systemctl start openstack-cinder-volume.service target.service
#验证服务是否正常
[root@controller ~]# openstack volume service list
+------------------+--------------+------+---------+-------+----------------------------+
| Binary | Host | Zone | Status | State | Updated At |
+------------------+--------------+------+---------+-------+----------------------------+
| cinder-scheduler | controller | nova | enabled | up | 2020-07-19T23:03:56.000000 |
| cinder-volume | compute1@lvm | nova | enabled | up | 2020-07-19T23:03:13.000000 |
+------------------+--------------+------+---------+-------+----------------------------+
#使用NFS作为后端存储
openstack-config --set /etc/cinder/cinder.conf DEFAULT enabled_backends nfs
openstack-config --set /etc/cinder/cinder.conf nfs volume_driver cinder.volume.drivers.nfs.NfsDriver
openstack-config --set /etc/cinder/cinder.conf nfs nfs_shares_config /etc/cinder/nfs_shares
openstack-config --set /etc/cinder/cinder.conf nfs nfs_mount_point_base \$state_path/mnt
#vi /etc/cinder/nfs_shares
192.168.2.11:/data/nfs
#修改/etc/cinder/nfs_shares文件的权限
chown root:cinder /etc/cinder/nfs_shares
chmod 640 /etc/cinder/nfs_shares
#创建云硬盘类型
cinder type-create NFS
cinder type-create ISCSI
#将后端存储和云硬盘类型关联
使用lvm加入 vi /etc/cinder/cinder.conf
[lvm]
volume_backend_name = ISCSI-Storage
使用nfs加入 vi /etc/cinder/cinder.conf
[nfs]
volume_backend_name = NFS-Storage
#执行关联命令
cinder type-key NFS set volume_backend_name=NFS-Storage
cinder type-key ISCSI set volume_backend_name=ISCSI-Storage
#增加cinder卷缓存功能,可以提高建虚拟机的速度
vi /etc/cinder/cinder.conf
[DEFAULT]
cinder_internal_tenant_project_id = dde1dd51042443cfa88af9e1fb860745
cinder_internal_tenant_user_id = b6e92e68749044e4bf27e8c067912998
[lvm]
image_volume_cache_enabled = true