OpenStack项目八--块存储服务安装(cinder)

这是本人的一些学习笔记,如果有错误的地方或者更好的解决方法,欢迎提出!!

Cinder是OpenStack平台中的一个核心项目,提供对存储卷的创建、挂载、卸载、快照等全生命周期的管理,为云计算环境中的虚拟机提供持久化的存储。

1.cinder服务的安装

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

检查用户和用户组

[root@openstack01 ~]# cat /etc/passwd | grep cinder
cinder:x:165:165:OpenStack Cinder Daemons:/var/lib/cinder:/sbin/nologin
[root@openstack01 ~]# cat /etc/group | grep cinder
nobody:x:99:nova,cinder
cinder:x:165:cinder

2.修改cinder配置文件

备份文件

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

去除注释和空行生成新文件

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

编辑cinder配置文件

[root@openstack01 ~]# vim /etc/cinder/cinder.conf
[DEFAULT]
auth_strategy=keystone
transport_url=rabbit://openstack:000000@openstack01:5672

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

[keystone_authtoken]
auth_url=http://openstack01:5000
memcached_servers=openstack01
auth_type=password
username=cinder
password=000000
project_name=project
user_domain_name=Default
project_domain_name=Default

3.编辑nova配置文件

[root@openstack01 ~]# vim /etc/nova/nova.conf 
[cinder]
os_region_name = RegionOne

4.创建相关数据库并授权

MariaDB [(none)]> create database cinder;
Query OK, 1 row affected (0.041 sec)
MariaDB [(none)]> grant all privileges on cinder.* to 'cinder'@'localhost' identified by '000000';
Query OK, 0 rows affected (0.113 sec)
MariaDB [(none)]> grant all privileges on cinder.* to 'cinder'@'%' identifiied by '000000';
Query OK, 0 rows affected (0.000 sec)

5.同步数据库

[root@openstack01 ~]# su cinder -s /bin/sh -c "cinder-manage db sync"

检查是否同步成功

MariaDB [(none)]> use cinder;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [cinder]> show table;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
MariaDB [cinder]> show tables;
+----------------------------+
| Tables_in_cinder           |
+----------------------------+
| attachment_specs           |
| backup_metadata            |
| backups                    |
| cgsnapshots                |
| clusters                   |
| consistencygroups          |
| driver_initiator_data      |
| encryption                 |

6.cinder组件初始化

在openstack平台创建cinder用户

[root@openstack01 ~]# openstack user create cinder --domain default --password 000000
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | af5c3b87e4884b32b7695ae30713db49 |
| name                | cinder                           |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

为用户 cinder 分配管理员角色

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

创建块存储服务

[root@openstack01 ~]# openstack service create --name cinderv3 volumev3
+---------+----------------------------------+
| Field   | Value                            |
+---------+----------------------------------+
| enabled | True                             |
| id      | 4e0d96d58aa84755a196179eb53bd54b |
| name    | cinderv3                         |
| type    | volumev3                         |
+---------+----------------------------------+

创建cinder对外服务端点

openstack endpoint create --region RegionOne volumev3 public http://openstack01:8776/v3/%\(project_id\)s
+--------------+-------------------------------------------+
| Field        | Value                                     |
+--------------+-------------------------------------------+
| enabled      | True                                      |
| id           | db2b434e6220442d9ffa797f43c67b6b          |
| interface    | public                                    |
| region       | RegionOne                                 |
| region_id    | RegionOne                                 |
| service_id   | 4e0d96d58aa84755a196179eb53bd54b          |
| service_name | cinderv3                                  |
| service_type | volumev3                                  |
| url          | http://openstack01:8776/v3/%(project_id)s |
+--------------+-------------------------------------------+

创建cinder对内服务端点

[root@openstack01 ~]# openstack endpoint create --region RegionOne volumev3 internal http://openstack01:8776/v3/%\(project_id\)s
+--------------+-------------------------------------------+
| Field        | Value                                     |
+--------------+-------------------------------------------+
| enabled      | True                                      |
| id           | 0d3d686193954940a68d0e2d97a79cdb          |
| interface    | internal                                  |
| region       | RegionOne                                 |
| region_id    | RegionOne                                 |
| service_id   | 4e0d96d58aa84755a196179eb53bd54b          |
| service_name | cinderv3                                  |
| service_type | volumev3                                  |
| url          | http://openstack01:8776/v3/%(project_id)s |
+--------------+-------------------------------------------+

创建cinder对管理员访问端点

[root@openstack01 ~]# openstack endpoint create --region RegionOne volumev3 admin http://openstack01:8776/v3/%\(project_id\)s
+--------------+-------------------------------------------+
| Field        | Value                                     |
+--------------+-------------------------------------------+
| enabled      | True                                      |
| id           | 3202d4ff421c463288c58c3ec9f6bc5f          |
| interface    | admin                                     |
| region       | RegionOne                                 |
| region_id    | RegionOne                                 |
| service_id   | 4e0d96d58aa84755a196179eb53bd54b          |
| service_name | cinderv3                                  |
| service_type | volumev3                                  |
| url          | http://openstack01:8776/v3/%(project_id)s |
+--------------+-------------------------------------------+

7.启动cinder相关服务

重启 Nova 服务

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

启动cinder服务并设置开机自启

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

[root@openstack01 ~]# systemctl enable openstack-cinder-api openstack-cinder-scheduler
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-cinder-api.service to /usr/lib/systemd/system/openstack-cinder-api.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-cinder-scheduler.service to /usr/lib/systemd/system/openstack-cinder-scheduler.service.

8.检查控制节点上的cinder服务

检查端口情况

[root@openstack01 ~]# ss -lntpu | grep 8776
tcp    LISTEN     0      128       *:8776                  *:*                   users:(("cinder-api",pid=85958,fd=7),("cinder-api",pid=85955,fd=7),("cinder-api",pid=85954,fd=7),("cinder-api",pid=85953,fd=7),("cinder-api",pid=85926,fd=7))

查看存储服务列表

[root@openstack01 ~]# openstack volume service list
+------------------+-------------+------+---------+-------+----------------------------+
| Binary           | Host        | Zone | Status  | State | Updated At                 |
+------------------+-------------+------+---------+-------+----------------------------+
| cinder-scheduler | openstack01 | nova | enabled | up    | 2024-08-03T09:31:30.000000 |
+------------------+-------------+------+---------+-------+----------------------------+

9.在计算节点openstack02搭建存储节点

查看硬盘信息

[root@openstack02 ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   98G  0 part 
  ├─centos-root 253:0    0   90G  0 lvm  /
  └─centos-swap 253:1    0    8G  0 lvm  [SWAP]
sr0              11:0    1  973M  0 rom 

添加一块新硬盘,硬盘大小100g(建议超过20G),硬盘格式为SCSI,命名为cinder.vmdk

刷新挂载信息

[root@openstack02 ~]# cd /sys/class/scsi_host/
[root@openstack02 scsi_host]# ls
host0  host1  host2
[root@openstack02 scsi_host]# echo '- - -' > host0/scan 
[root@openstack02 scsi_host]# echo '- - -' > host1/scan 
[root@openstack02 scsi_host]# echo '- - -' > host2/scan 

刷新后重新查看硬盘信息

[root@openstack02 scsi_host]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   98G  0 part 
  ├─centos-root 253:0    0   90G  0 lvm  /
  └─centos-swap 253:1    0    8G  0 lvm  [SWAP]
sdb               8:16   0  100G  0 disk 
sr0              11:0    1  973M  0 rom  

将硬盘初始化为物理卷

[root@openstack02 ~]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.

将物理卷划分为卷组

[root@openstack02 ~]# vgcreate cinder-volume /dev/sdb
  Volume group "cinder-volume" successfully created

配置LVM卷组扫描的设备

[root@openstack02 ~]# vi /etc/lvm/lvm.conf

修改130行的配置文件内容

[root@openstack02 ~]# cat -n  /etc/lvm/lvm.conf | grep 130
   130		 filter = [ "a/sdb/","r/.*/" ]

启动LVM元数据服务

[root@openstack02 ~]# systemctl start lvm2-lvmetad
[root@openstack02 ~]# systemctl enable lvm2-lvmetad

10.在计算节点openstack02安装cinder服务

[root@openstack02 ~]# yum install -y openstack-cinder targetcli python-keystone

查看用户组和用户信息

[root@openstack02 ~]# cat /etc/passwd | grep cinder
cinder:x:165:165:OpenStack Cinder Daemons:/var/lib/cinder:/sbin/nologin
[root@openstack02 ~]# cat /etc/group | grep cinder
nobody:x:99:nova,cinder
cinder:x:165:cinder

11.修改cinder服务配置信息

备份文件

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

拷贝控制节点openstack01的配置内容到openstack02

[root@openstack01 ~]# cd /etc/cinder/
[root@openstack01 cinder]# ls
api-paste.ini  cinder.conf  cinder.conf.bak  resource_filters.json  rootwrap.conf  rootwrap.d  volumes
[root@openstack01 cinder]# scp cinder.conf root@openstack02:/etc/cinder/
root@openstack02's password: 
cinder.conf   
[root@openstack02 ~]# vi /etc/cinder/cinder.conf

修改内容如下

[DEFAULT]
auth_strategy = keystone
transport_url = rabbit://openstack:000000@openstack01:5672
glance_api_servers = http://openstack01:9292
enabled_backends = lvm

[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
target_protocol = iscsi
target_helper = lioadm

12.启动计算节点openstack02的cinder服务

[root@openstack02 ~]# systemctl start openstack-cinder-volume target
[root@openstack02 ~]# systemctl enable openstack-cinder-volume target
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-cinder-volume.service to /usr/lib/systemd/system/openstack-cinder-volume.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/target.service to /usr/lib/systemd/system/target.service.

13.检测cinder服务

在控制节点openstack01查看卷服务信息

[root@openstack01 cinder]# openstack volume service list
+------------------+-----------------+------+---------+-------+----------------------------+
| Binary           | Host            | Zone | Status  | State | Updated At                 |
+------------------+-----------------+------+---------+-------+----------------------------+
| cinder-scheduler | openstack01     | nova | enabled | up    | 2024-08-03T15:04:42.000000 |
| cinder-volume    | openstack02@lvm | nova | enabled | up    | 2024-08-03T15:04:37.000000 |
+------------------+-----------------+------+---------+-------+----------------------------+

通过 Dashboard 查看卷情况

至此,openstack组件cinder服务安装完成

至此,双节点openstack服务搭建完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值