openstack-train安装 · 2022年10月12日 0

手动部署OpenStack Train双节点-安装cinder服务

一、在控制节点安装与配置Cinder

本项目将在控制节点为OpenStack云计算平台安装Cinder组件

1、安装Cinder软件包

[root@controller ~]# yum -y install openstack-cinder 

安装的“openstack-cinder”软件包里包括“cinder-api”和“cinder-scheduler”模块。安装“openstack-cinder”软件包时,和安装其他OpenStack核心组件时一样,会自动创建名为“cinder”的Linux系统用户和同名的用户组。

2、创建Cinder的数据库并授权

第1步,用下面的方法进入MariaDB数据库服务器。

[root@controller ~]# mysql -uroot -p000000

第2步,新建“cinder”数据库。

MariaDB [(none)]> CREATE DATABASE cinder; 

第3步,给用户授权使用新建数据库。

MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY '000000';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY '000000';

第4步,退出数据库。

MariaDB [(none)]> quit

3、修改Cinder配置文件

(1)将配置文件去掉注释和空行
第1步,备份配置文件。

[root@controller ~]# cp /etc/cinder/cinder.conf /etc/cinder/cinder.bak

第2步,去掉所有注释和空行,生成新的配置文件。

[root@controller ~]# grep -Ev '^$|#' /etc/cinder/cinder.bak > /etc/cinder/cinder.conf

这里的正则表达式“^|#”的具体含义为:匹配空行(“^”,其中“^”是一行的开头,“$”是一行的结尾),或者(符号“|”表示或者)匹配第一个字符为“#”的行。结合反向匹配参数“-v”,最终匹配的是所有不为空和不以注释符号“#”开头的行。
(2)编辑新的配置文件
第1步,打开配置文件进行编辑。

[root@controller ~]#   vi /etc/cinder/cinder.conf

第2步,修改“[database]”部分,实现与数据库“cinder”连接。

[database]
connection = mysql+pymysql://cinder:000000@controller/cinder

第3步,修改“[DEFAULT]”与“[keystone_authtoken]”部分,实现与Keystone交互。

[DEFAULT]
auth_strategy = keystone
[keystone_authtoken]
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = project
username = cinder
password = 000000

第4步,修改“[oslo_concurrency]”部分,配置锁路径。

[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

第5步,修改“[DEFAULT]”部分,实现与消息队列的连接。

[DEFAULT]
transport_url = rabbit://rabbitmq:000000@controller:5672

4、修改nova配置文件

Nova位于OpenStack云计算平台的核心位置,通常需要通过它和其他组件进行交互。这里需要设置Cinder与Nova的交互。

[root@controller ~]# vi /etc/nova/nova.conf

修改“[cinder]”部分,增加如下的区域名。

[cinder]
os_region_name = RegionOne

5、初始化Cinder的数据库

[root@controller ~]# su cinder -s /bin/sh -c "cinder-manage db sync" 
Deprecated: Option "logdir" from group "DEFAULT" is deprecated. Use option "log-dir" from group "DEFAULT".

二、Cinder组件初始化

1、创建Cinder用户并分配角色

第1步,导入环境变量模拟登录。

[root@controller ~]# . admin-login

第2步,在OpenStack云计算平台中创建用户“cinder”。

[root@controller ~]# openstack user create --domain default --password 000000 nova

第3步,给用户“cinder”分配“admin”角色

[root@controller ~]# openstack role add --project project --user cinder admin

2、创建Cinder服务及端点

(1)创建服务
OpenStack(Train版)Cinder支持的卷是第3版本。

[root@controller ~]# openstack service create --name cinderv3 volumev3

2)创建计算服务端点
OpenStack组件的服务端点有3种,分别对应Admin用户(admin)、内部组件(internal)、公众用户(public)服务的地址。
第1步,创建公众用户访问的服务端点。

[root@controller ~]# openstack endpoint create --region RegionOne volumev3 public http://controller:8776/v3/%\(project_id\)s

第2步,创建内部组件访问的服务端点。

[root@controller ~]# openstack endpoint create --region RegionOne volumev3 internal http://controller:8776/v3/%\(project_id\)s

第3步,创建Admin用户访问端点。

[root@controller ~]# openstack endpoint create --region RegionOne volumev3 admin http://controller:8776/v3/%\(project_id\)s

3、启动Cinder服务

第1步,重启Nova服务。

[root@controller ~]# systemctl restart openstack-nova-api

第2步,设置“cinder-api”和“cinder-scheduler”模块开机启动。

[root@controller ~]# systemctl enable openstack-cinder-api openstack-cinder-scheduler

第3步,立即启动Cinder服务。

[root@controller ~]# systemctl start openstack-cinder-api openstack-cinder-scheduler 

三、检测控制节点的Cinder服务

1.查看端口占用情况
Cinder服务会占用8776端口,通过查看这个端口是否启用,可以判断Cinder服务是否已经运行。

[root@controller ~]# netstat -nutpl|grep 8776
tcp        0      0 0.0.0.0:8776            0.0.0.0:*        LISTEN      16661/python2

2.查看存储服务列表

[root@controller ~]# openstack volume service list
+----------------------+--------------+---------+-----------+--------+-------------------------------------------+
| Binary                 | Host          | Zone   | Status   | State | Updated At                                  |
+----------------------+--------------+---------+-----------+--------+-------------------------------------------+
| cinder-scheduler | controller  | nova   | enabled | up     | 2021-10-13T04:14:33.000000     |
+----------------------+--------------+---------+------------+-------+--------------------------------------------+

如获得“cinder-scheduler”在控制节点的模块处于开启(up)状态,则表示服务正常。