1、计算节点操作

1.1、安装支持的工具包

安装支持的工具包

安装 LVM 包,一些发行版安装过了:

执行安装命令:

yum -y install lvm2

kolla openstack docker仓库设置 openstack kvm docker_云计算

 

启动LVM的metadata服务2) 启动LVM的metadata服务

启动命令:

systemctl start lvm2-lvmetad.service

kolla openstack docker仓库设置 openstack kvm docker_云计算_02

1.2、创建LVM物理卷

创建LVM 物理卷 /dev/sdb

pvcreate /dev/sdb

kolla openstack docker仓库设置 openstack kvm docker_mysql_03

1.3、创建LVM卷组

创建 LVM 卷组 cinder-volumes

vgcreate cinder-volumes /dev/sdb

kolla openstack docker仓库设置 openstack kvm docker_IP_04

1.4、配置LVM

编辑/etc/lvm/lvm.conf文件:

vi /etc/lvm/lvm.conf

在文件中的devices{…}内加入如下代码:

filter = [ "a/sda/", "a/sdb/", "r/.*/"]

kolla openstack docker仓库设置 openstack kvm docker_云计算_05

 

1.5、安装并配置组件

安装Cinder,keystone包及其依赖

安装命令如下:

yum -y install openstack-cinder targetcli python-keystone

kolla openstack docker仓库设置 openstack kvm docker_云计算_06

kolla openstack docker仓库设置 openstack kvm docker_云计算_07

配置Cinder,编辑/etc/cinder/cinder.conf

命令如下:

vi /etc/cinder/cinder.conf

在cinder.conf文件中[database]块下加入数据库连接:

connection = mysql+pymysql://cinder:zhitu2017@controller/cinder

kolla openstack docker仓库设置 openstack kvm docker_运维_08

在cinder.conf文件中[DEFAULT]块下加入RabbitMQ消息队列的连接:

transport_url = rabbit://openstack:zhitu2017@controller

kolla openstack docker仓库设置 openstack kvm docker_服务器_09

在cinder.conf文件中[DEFAULT]块下加入认证服务访问:

auth_strategy = keystone

kolla openstack docker仓库设置 openstack kvm docker_运维_10

 

在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

kolla openstack docker仓库设置 openstack kvm docker_运维_11

在[DEFAULT]块下加入配置my_ip选项,请替换成当前服务器IP,也就是计算节点IP:

my_ip = 10.10..82.128

kolla openstack docker仓库设置 openstack kvm docker_mysql_12

在cinder.conf文件中合适的位置加入lvm配置,注意不要影响到其他块,也就是不要在其他块中部而是在尾部插入:

[lvm]

volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

volume_group = cinder-volumes

iscsi_protocol = iscsi

iscsi_helper = lioadm

 

kolla openstack docker仓库设置 openstack kvm docker_IP_13

在[DEFAULT]块下配置启用LVM后台:

enabled_backends = lvm

kolla openstack docker仓库设置 openstack kvm docker_云计算_14

在[DEFAULT]块下配置镜像服务 API 的位置:

glance_api_servers = http://controller:9292

kolla openstack docker仓库设置 openstack kvm docker_云计算_15

在[oslo_concurrency]块下配置锁路径:

lock_path = /var/lib/cinder/tmp

kolla openstack docker仓库设置 openstack kvm docker_服务器_16

启动块存储卷服务及其依赖的服务

启动命令如下:

systemctl start openstack-cinder-volume.service target.service

kolla openstack docker仓库设置 openstack kvm docker_mysql_17

2、控制节点操作

2.1、先决条件准备

创建数据库

使用客户端连接数据库,用户为root,执行如下命令:

mysql -u root -p

kolla openstack docker仓库设置 openstack kvm docker_服务器_18

创建cinder数据库,命令如下:

CREATE DATABASE cinder;

kolla openstack docker仓库设置 openstack kvm docker_云计算_19

分别执行如下命令,设置权限(密码为zhitu2017):

GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'zhitu2017';

GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'zhitu2017';

kolla openstack docker仓库设置 openstack kvm docker_服务器_20

设置 admin 凭证

获得 admin 凭证来获取只有管理员能执行的命令的访问权限,执行如下命令:

. /root/admin-openrc

kolla openstack docker仓库设置 openstack kvm docker_mysql_21

创建服务证书

创建一个cinder用户,并设置新密码,这里我们密码指定为:zhitu2017,命令如下:

openstack user create --domain default --password-prompt cinder

 

kolla openstack docker仓库设置 openstack kvm docker_运维_22

添加 admin 角色到 cinder 用户上:

openstack role add --project service --user cinder admin

kolla openstack docker仓库设置 openstack kvm docker_云计算_23

创建 cinderv2 和 cinderv3 服务实体(块存储服务需要两个服务实体),依次执行如下两条命令:

openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2;

openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3;

kolla openstack docker仓库设置 openstack kvm docker_IP_24

创建块设备存储服务的 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;

kolla openstack docker仓库设置 openstack kvm docker_云计算_25

kolla openstack docker仓库设置 openstack kvm docker_服务器_26

kolla openstack docker仓库设置 openstack kvm docker_mysql_27

 

kolla openstack docker仓库设置 openstack kvm docker_mysql_28

 

kolla openstack docker仓库设置 openstack kvm docker_云计算_29

kolla openstack docker仓库设置 openstack kvm docker_mysql_30

 

2.2、安装并配置组件

安装软件包

执行如下命令,安装cinder:

yum -y install openstack-cinder

kolla openstack docker仓库设置 openstack kvm docker_云计算_31

 

kolla openstack docker仓库设置 openstack kvm docker_服务器_32

编辑 /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

kolla openstack docker仓库设置 openstack kvm docker_运维_33

在[database]块中加入配置数据库连接:

connection = mysql+pymysql://cinder:zhitu2017@controller/cinder

kolla openstack docker仓库设置 openstack kvm docker_服务器_34

在[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

kolla openstack docker仓库设置 openstack kvm docker_mysql_35

 

在[oslo_concurrency]块中加入配置锁路径:

lock_path = /var/lib/cinder/tmp

kolla openstack docker仓库设置 openstack kvm docker_运维_36

初始化块设备服务的数据库:

执行命令:

su -s /bin/sh -c "cinder-manage db sync" cinder

kolla openstack docker仓库设置 openstack kvm docker_mysql_37

2.3、启动块存储相关服务

在控制节点,执行命令如下(两个服务一条命令):

systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service;

kolla openstack docker仓库设置 openstack kvm docker_IP_38

3、验证Cinder服务

3.1、获得 admin 凭证

获得 admin 凭证来获取只有管理员能执行的命令的访问权限,命令如下:

. /root/admin-openrc

 

kolla openstack docker仓库设置 openstack kvm docker_mysql_39

3.2、列出服务组件

列出服务组件以验证是否每个进程都成功启动,命令如下:

openstack volume service list

kolla openstack docker仓库设置 openstack kvm docker_IP_40