1、向ketstone注册服务
(1)创建cinder块存储服务目录,块存储需要两个版本volumev2和volumev3
# openstack service create --name cinderv2 \
--description "OpenStack Block Storage" volumev2
# openstack service create --name cinderv3 \
--description "OpenStack Block Storage" volumev3
(2)创建块存储服务API访问点
#v2版本
# openstack endpoint create --region RegionOne \
volumev2 public http://controller:8776/v2/%\(project_id\)s
# openstack endpoint create --region RegionOne \
volumev2 internal http://controller:8776/v2/%\(project_id\)s
# openstack endpoint create --region RegionOne \
volumev2 admin http://controller:8776/v2/%\(project_id\)s
#v3版本
# openstack endpoint create --region RegionOne \
Volumev3 public http://controller:8776/v3/%\(project_id\)s
# openstack endpoint create --region RegionOne \
Volumev3 internal http://controller:8776/v3/%\(project_id\)s
# openstack endpoint create --region RegionOne \
Volumev3 admin http://controller:8776/v3/%\(project_id\)s
2、修改cinder配置文件
(1)编辑/etc/cinder/cinder.conf
[database]
connection = mysql+pymysql://cinder:cinder@controller/cinder
[DEFAULT]
transport_url = rabbit://openstack:openstack@controller
auth_strategy = keystone
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_id = default
user_domain_id = default
project_name = service
username = cinder
password = cinder
#配置程序锁,防止资源争抢
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
(2)配置控制节点/etc/nova/nova.conf,支持cinder
[cinder]
os_region_name = RegionOne
#重启nova-api
# systemctl restart openstack-nova-api.service
3、同步数据库数据
# su -s /bin/sh -c "cinder-manage db sync" cinder
4、启动并设置开机自启
# systemctl enable openstack-cinder-api.service \
openstack-cinder-scheduler.service
# systemctl start openstack-cinder-api.service \
openstack-cinder-scheduler.service
5、安装和配置存储节点
此配置可以单独部署一个节点,实验在计算节点上安装即可。
(1)创建卷组
# vgcreate cinder-volumes /dev/sdb
(2)安装和配置组件
# 编辑/etc/cinder/cinder.conf
[database]
connection = mysql+pymysql://cinder:cinder@controller/cinder
[DEFAULT]
transport_url = rabbit://openstack:openstack@controller
auth_strategy = keystone
enabled_backends = lvm
glance_api_servers = http://controller:9292
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_id = default
user_domain_id = default
project_name = service
username = cinder
password = cinder
# 配置逻辑卷项,配置文件中没有则添加
# lio实现iscsi的一种管理方式,iscsi是一种基于因特网及SCSI-3协议下的存储技术。
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
(3)启动管理服务
# systemctl enable openstack-cinder-volume.service target.service
# systemctl start openstack-cinder-volume.service target.service
# systemctl restart openstack-cinder-api.service \
openstack-cinder-scheduler.service
(4)验证
# openstack volume service list