openstack pike版本安装笔记7(Block Storage Service:Cinder组件)

	Block Storage Service(Cinder):
		Cinder存储服务(控制节点)安装:
			创建用户(cinder)
				openstack user create --domain default --password-prompt cinder
			将用户cinder关联至租户(项目service)和role上:
				openstack role add --project service --user cinder admin
			创建cinder服务实体:
				openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
				openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
				注:块设备存储服务要求两个服务实体
			创建cinder服务 API 端点(endpoint):
				openstack endpoint create --region RegionOne volumev2 public http://con.colinshi.top:8776/v2/%\(project_id\)s
			    openstack endpoint create --region RegionOne volumev2 internal http://con.colinshi.top:8776/v2/%\(project_id\)s
				openstack endpoint create --region RegionOne volumev2 admin http://con.colinshi.top:8776/v2/%\(project_id\)s
				openstack endpoint create --region RegionOne volumev3 public http://con.colinshi.top:8776/v3/%\(project_id\)s
				openstack endpoint create --region RegionOne volumev3 internal http://con.colinshi.top:8776/v3/%\(project_id\)s
				openstack endpoint create --region RegionOne volumev3 admin http://con.colinshi.top:8776/v3/%\(project_id\)s
				注:块设备存储服务每个服务实体都需要端点。
			创建cinder数据库并配置访问权限:
			安装cinder服务:
				yum install openstack-cinder
			编辑配置文件/etc/cinder/cinder.conf:
				[DEFAULT]
				auth_strategy = keystone
				transport_url = rabbit://rabbit:rabbit@con.colinshi.top
				my_ip = 10.0.0.51
				
				[database]
				connection = mysql+pymysql://root:123456@con.colinshi.top/cinder
				
				[keystone_authtoken]
				auth_uri = http://con.colinshi.top:5000
				auth_url = http://con.colinshi.top:35357
				memcached_servers = con.colinshi.top:11211
				auth_type = password
				project_domain_name = default
				user_domain_name = default
				project_name = service
				username = cinder
				password = cinder
				
				[oslo_concurrency]
				lock_path = /var/lib/cinder/tmp
			初始化cinder服务的数据库:
				su -s /bin/sh -c "cinder-manage db sync" cinder
			编辑配置文件/etc/nova/nova.conf:
				[cinder]
				os_region_name = RegionOne
			重启NOVA-API服务
				systemctl restart openstack-nova-api.service
			启动Cinder服务,并将其配置为开机自启:	
				systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
				systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service
			
		存储节点:
			安装Cinder包:
				yum install lvm2 device-mapper-persistent-data openstack-cinder targetcli python-keystone
			创建LVM物理卷/dev/sdb(存储节点上提供多个物理硬盘,sda为系统,sdb提供物理卷服务)
				pvcreate /dev/sdb
			创建LVM卷组cinder-volumes
				vgcreate cinder-volumes /dev/sdb
			编辑配置文件/etc/lvm/lvm.conf:
				devices {
					filter = [ "a/sdb/", "r/.*/"]
				注: "a/sdb/"表示允许访问/sdb,"r/.*/"表示禁止其他所的
			编辑配置文件/etc/cinder/cinder.conf:
				[DEFAULT]
				auth_strategy = keystone
				transport_url = rabbit://rabbit:rabbit@con.colinshi.top
				my_ip = 10.0.0.52
				enabled_backends = lvm
				glance_api_servers = http://con.colinshi.top:9292
				
				[database]
				connection = mysql+pymysql://root:123456@con.colinshi.top/cinder
				
				[keystone_authtoken]
				auth_uri = http://con.colinshi.top:5000
				auth_url = http://con.colinshi.top:35357
				memcached_servers = con.colinshi.top:11211
				auth_type = password
				project_domain_name = default
				user_domain_name = default
				project_name = service
				username = cinder
				password = cinder
				
				[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
			启动Cinder服务,并将其配置为开机自启:
				systemctl enable lvm2-lvmetad.service openstack-cinder-volume.service target.service
				systemctl start lvm2-lvmetad.service openstack-cinder-volume.service target.service
				
		验证操作:
			列出服务组件以验证是否每个进程都成功启动:
			cinder service-list
		其他问题:
			如果这样配置完成,实际启动卷的时候会发生错误。
			经检查,应该存储节点/usr/lib/systemd/system/openstack-cinder-volume.service启动脚本中的一个配置文件的问题:
				ExecStart=/usr/bin/cinder-volume --config-file /usr/share/cinder/cinder-dist.conf --config-file /etc/cinder/cinder.conf --logfile /var/log/cinder/volume.log
				启动脚本调用/usr/share/cinder/cinder-dist.conf这个配置文件其中有一行定义了volumes_dir:
					#volumes_dir = /etc/cinder/volumes
				注释掉即可。

 这个组件安装后可以提供volumes服务。

posted @ 2018-09-13 13:59  colinshi  阅读(296)  评论(0编辑  收藏  举报