1、计算节点操作
1.1、安装支持的工具包
安装支持的工具包
安装 LVM 包,一些发行版安装过了:
执行安装命令:
yum -y install lvm2
启动LVM的metadata服务2) 启动LVM的metadata服务
启动命令:
systemctl start lvm2-lvmetad.service
1.2、创建LVM物理卷
创建LVM 物理卷 /dev/sdb
pvcreate /dev/sdb
1.3、创建LVM卷组
创建 LVM 卷组 cinder-volumes
vgcreate cinder-volumes /dev/sdb
1.4、配置LVM
编辑/etc/lvm/lvm.conf文件:
vi /etc/lvm/lvm.conf
在文件中的devices{…}内加入如下代码:
filter = [ "a/sda/", "a/sdb/", "r/.*/"]
1.5、安装并配置组件
安装Cinder,keystone包及其依赖
安装命令如下:
yum -y install openstack-cinder targetcli python-keystone
配置Cinder,编辑/etc/cinder/cinder.conf
命令如下:
vi /etc/cinder/cinder.conf
在cinder.conf文件中[database]块下加入数据库连接:
connection = mysql+pymysql://cinder:zhitu2017@controller/cinder
在cinder.conf文件中[DEFAULT]块下加入RabbitMQ消息队列的连接:
transport_url = rabbit://openstack:zhitu2017@controller
在cinder.conf文件中[DEFAULT]块下加入认证服务访问:
auth_strategy = keystone
在cinder.conf文件中[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 = zhitu2017
在[DEFAULT]块下加入配置my_ip选项,请替换成当前服务器IP,也就是计算节点IP:
my_ip = 10.10..82.128
在cinder.conf文件中合适的位置加入lvm配置,注意不要影响到其他块,也就是不要在其他块中部而是在尾部插入:
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm
在[DEFAULT]块下配置启用LVM后台:
enabled_backends = lvm
在[DEFAULT]块下配置镜像服务 API 的位置:
glance_api_servers = http://controller:9292
在[oslo_concurrency]块下配置锁路径:
lock_path = /var/lib/cinder/tmp
启动块存储卷服务及其依赖的服务
启动命令如下:
systemctl start openstack-cinder-volume.service target.service
2、控制节点操作
2.1、先决条件准备
创建数据库
使用客户端连接数据库,用户为root,执行如下命令:
mysql -u root -p
创建cinder数据库,命令如下:
CREATE DATABASE cinder;
分别执行如下命令,设置权限(密码为zhitu2017):
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'zhitu2017';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'zhitu2017';
设置 admin 凭证
获得 admin 凭证来获取只有管理员能执行的命令的访问权限,执行如下命令:
. /root/admin-openrc
创建服务证书
创建一个cinder用户,并设置新密码,这里我们密码指定为:zhitu2017,命令如下:
openstack user create --domain default --password-prompt cinder
添加 admin 角色到 cinder 用户上:
openstack role add --project service --user cinder admin
创建 cinderv2 和 cinderv3 服务实体(块存储服务需要两个服务实体),依次执行如下两条命令:
openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2;
openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3;
创建块设备存储服务的 API 入口点,依次执行如下6条命令:
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;
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.2、安装并配置组件
安装软件包
执行如下命令,安装cinder:
yum -y install openstack-cinder
编辑 /etc/cinder/cinder.conf,同时完成如下动作
执行如下命令:
vi /etc/cinder/cinder.conf
在[DEFAULT]块中加入配置RabbitMQ消息队列的连接:
transport_url = rabbit://openstack:zhitu2017@controller
在[DEFAULT]块中加入配置认证服务访问:
auth_strategy = keystone
在[DEFAULT]块中加入配置my_ip选项,请替换成当前服务器IP,也就是控制节点IP:
my_ip = 10.10.82.127
在[database]块中加入配置数据库连接:
connection = mysql+pymysql://cinder:zhitu2017@controller/cinder
在[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 = zhitu2017
在[oslo_concurrency]块中加入配置锁路径:
lock_path = /var/lib/cinder/tmp
初始化块设备服务的数据库:
执行命令:
su -s /bin/sh -c "cinder-manage db sync" cinder
2.3、启动块存储相关服务
在控制节点,执行命令如下(两个服务一条命令):
systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service;
3、验证Cinder服务
3.1、获得 admin 凭证
获得 admin 凭证来获取只有管理员能执行的命令的访问权限,命令如下:
. /root/admin-openrc
3.2、列出服务组件
列出服务组件以验证是否每个进程都成功启动,命令如下:
openstack volume service list