OpenStack—M Cinder(块存储服务)
一、 数据库配置
Controller节点
# mysql -uroot -p123456
MariaDB [(none)]> create database cinder;
MariaDB [(none)]> grant all privileges on cinder.* to 'cinder'@'localhost' identified by '123456';
MariaDB [(none)]> grant all privileges on cinder.* to 'cinder'@'%' identified by '123456';
MariaDB [(none)]> exit
二、 创建服务凭证和API端点
Controller节点
1.生效环境变量
# . admin-openrc
2.创建服务凭证
# openstack user create --domain default --password-prompt cinder
# openstack role add --project service --user cinder admin
# openstack service create --name cinder --description "OpenStack Block Storage" volume
# openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
3. 创建API端点
# openstack endpoint create --region RegionOne volume public http://controller:8776/v1/%\(tenant_id\)s
# openstack endpoint create --region RegionOne volumev2 public http://controller:8776/v2/%\(tenant_id\)s
# openstack endpoint create --region RegionOne volume internal http://controller:8776/v1/%\(tenant_id\)s
# openstack endpoint create --region RegionOne volumev2 internal http://controller:8776/v2/%\(tenant_id\)s
# openstack endpoint create --region RegionOne volume admin http://controller:8776/v1/%\(tenant_id\)s
# openstack endpoint create --region RegionOne volumev2 admin http://controller:8776/v2/%\(tenant_id\)s
三、 安装并配置Cinder组件
Controller节点
1.安装Cinder组件所需软件包
# yum install -y openstack-cinder
2.配置Cinder所需组件
编辑/etc/cinder/cinder.conf文件
# vi /etc/cinder/cinder.conf
[DEFAULT]
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 192.168.100.10
[database]
connection = mysql+pymysql://cinder:[email protected]/cinder
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 123456
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = 123456
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
3.同步数据库
# su -s /bin/sh -c "cinder-manage db sync" cinder
注:Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
表示有数据表,同步数据库成功
4.配置Nova服务使用Cinder
编辑/etc/nova/nova.conf文件
# vi /etc/nova/nova.conf
[cinder]
os_region_name = RegionOne
5.启动Cinder服务并设置开机自启
# systemctl restart openstack-nova-api.service
# systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service
四、安装配置存储节点
Compute节点
1.安装并启动lvm2
# yum install -y lvm2
# systemctl enable lvm2-lvmetad.service
# systemctl start lvm2-lvmetad.service
2.添加一块10G的虚拟硬盘
1)点击Compute节点的虚拟机设置—添加—硬盘—下一步
2)选择SCSI—下一步
3)选择“创建新虚拟磁盘”—下一步
4)磁盘大小选择10G
5)下一步—完成,添加后需重启虚拟机
# reboot
3.查看虚拟硬盘是否添加
注:/dev/sdb为我们所添加的硬盘
# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb
4.创建物理卷/dev/sdb
# pvcreate /dev/sdb
5.创建卷组cinder-volumes
# pvcreate /dev/sdb
6.查看磁盘
# fdisk -l
6.配置lvm2组件
编辑/etc/lvm/lvm.conf文件
编辑# Configuration section devices部分
# vi /etc/lvm/lvm.conf
devices {
...
#添加
filter = [ "a/sdb","r/.*/" ]
7.安装并配置组件
1)安装Cinder组件所需软件包
# yum install -y openstack-cinder targetcli python-keystone
2)配置Cinder所需组件
编辑/etc/cinder/cinder.conf文件
# vi /etc/cinder/cinder.conf
[DEFAULT]
rpc_backend = rabbit
auth_strategy = keystone
my_ip = 192.168.100.20
enabled_backends = lvm
glance_api_servers = http://controller:9292
[database]
connection = mysql+pymysql://cinder:[email protected]/cinder
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 123456
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = 123456
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
若配置文件中没有[lvm]选项,则需自己添加
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm
8.启动Cinder服务并设置开机自启
# systemctl enable openstack-cinder-volume.service target.service
# systemctl start openstack-cinder-volume.service target.service
五、验证Cinder服务
Controller节点
# . admin-openrc
# cinder service-list
# cinder create --display-name myVolume 1
# cinder list