OpenStack——cinder组件部署
一、创建数据库实例和角色
[root@ct ~]# mysql -uroot -p
MariaDB [(none)]> CREATE DATABASE cinder;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO ‘cinder’@‘localhost’ IDENTIFIED BY ‘CINDER_DBPASS’;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO ‘cinder’@’%’ IDENTIFIED BY ‘CINDER_DBPASS’;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
二、创建用户
1、创建用户
[root@ct ~]# openstack user create --domain default --password CINDER_PASS cinder
[root@ct ~]# openstack role add --project service --user cinder admin
[root@ct ~]# openstack service create --name cinderv2 --description “OpenStack Block Storage” volumev2
[root@ct ~]# openstack service create --name cinderv3 --description “OpenStack Block Storage” volumev3
2、给v2和v3版本的api创建endpoint
openstack endpoint create --region RegionOne volumev2 public http://ct:8776/v2/%(project_id\)s
openstack endpoint create --region RegionOne volumev2 internal http://ct:8776/v2/%(project_id\)s
openstack endpoint create --region RegionOne volumev2 admin http://ct:8776/v2/%(project_id\)s
openstack endpoint create --region RegionOne volumev3 public http://ct:8776/v3/%(project_id\)s
openstack endpoint create --region RegionOne volumev3 internal http://ct:8776/v3/%(project_id\)s
openstack endpoint create --region RegionOne volumev3 admin http://ct:8776/v3/%(project_id\)s
3、安装cinder服务
[root@ct ~]# yum -y install openstack-cinder
4、修改cinder配置文件
[root@ct ~]# cp /etc/cinder/cinder.conf{,.bak}
[root@ct ~]# grep -Ev ‘#|^$’ /etc/cinder/cinder.conf.bak>/etc/cinder/cinder.conf
openstack-config --set /etc/cinder/cinder.conf database connection mysql+pymysql://cinder:CINDER_DBPASS@ct/cinder
openstack-config --set /etc/cinder/cinder.conf DEFAULT transport_url rabbit://openstack:RABBIT_PASS@ct
openstack-config --set /etc/cinder/cinder.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken memcached_servers ct: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 CINDER_PASS
openstack-config --set /etc/cinder/cinder.conf DEFAULT my_ip 192.168.100.111
openstack-config --set /etc/cinder/cinder.conf oslo_concurrency lock_path /var/lib/cinder/tmp
5、同步cinder数据库
[root@ct ~]# su -s /bin/sh -c “cinder-manage db sync” cinder
6、修改nova配置文件,并重启服务
[root@ct ~]# openstack-config --set /etc/nova/nova.conf cinder os_region_name RegionOne
[root@ct ~]# systemctl restart openstack-nova-api.service
7、配置节点验证
[root@ct ~]# cinder service-list
三、配置存储节点
1、安装cinder软件包
[root@c1 ~]# yum -y install openstack-cinder targetcli python-keystone
[root@c1 ~]# yum -y install lvm2 device-mapper-persistent-data
2、创建lvm物理卷和卷组
[root@c1 ~]# pvcreate /dev/sdb
[root@c1 ~]# vgcreate cinder-volumes /dev/sdb
3、修改lvm配置
[root@c1 ~]# cd /etc/lvm/
[root@c1 lvm]# vim lvm.conffilter = [ “a/sdc/”,“r/.*/” ] #141注释掉,并修改
# a表示允许,r表示拒绝
# 只允许lvm服务访问sdc中的数据,不允许lvm服务访问其他磁盘,这也间接实现了openstack创建的虚拟机只能访问sdb中的数据,不能访问其他磁盘
# 设置只允许实例访问sdc逻辑卷中的数据;如果不配置的话,本机的其他服务也有可能会访问sdc逻辑卷中的数据[root@c1 lvm]# systemctl restart lvm2-lvmetad.service
4、配置cinder模块
[root@c1 lvm]# cp /etc/cinder/cinder.conf{,.bak}
[root@c1 lvm]# grep -Ev ‘#|^$’ /etc/cinder/cinder.conf.bak>/etc/cinder/cinder.conf
openstack-config --set /etc/cinder/cinder.conf database connection mysql+pymysql://cinder:CINDER_DBPASS@ct/cinder
openstack-config --set /etc/cinder/cinder.conf DEFAULT transport_url rabbit://openstack:RABBIT_PASS@ct
openstack-config --set /etc/cinder/cinder.conf DEFAULT auth_strategy keystone
openstack-config --set /etc/cinder/cinder.conf DEFAULT my_ip 192.168.100.222 #c1的内网IP
openstack-config --set /etc/cinder/cinder.conf DEFAULT enabled_backends lvm
openstack-config --set /etc/cinder/cinder.conf DEFAULT glance_api_servers http://ct:9292
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/cinder/cinder.conf keystone_authtoken memcached_servers ct: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 CINDER_PASS
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
openstack-config --set /etc/cinder/cinder.conf oslo_concurrency lock_path /var/lib/cinder/tmp
5、开启cinder卷服务
[root@c1 lvm]# systemctl enable openstack-cinder-volume.service target.service
[root@c1 lvm]# systemctl start openstack-cinder-volume.service target.service
6、查看卷列表
#ct上查看
[root@ct ~]# openstack volume service list