Alma Linux 8 OpenStack入门3--Cinder存储服务构建

1.已部署组件

主机名 角色 OS installed组件
controller 控制节点 Alma Linux 8.6 chrony,Yoga YUM Repository,enable powertools,python3-openstackclient,openstack-selinux,mariadb,rabbitmq,memcached,etcd,openstack-keystone,openstack-dashboard,openstack-placement-api,openstack-nova-api,openstack-nova-conductor,openstack-nova-novncproxy,openstack-nova-scheduler
compute 计算节点 Alma Linux 8.6 chrony,Yoga YUM Repository,enable powertools,python3-openstackclient,openstack-selinux,openstack-nova-compute,openstack-neutron-linuxbridge,ebtables,ipset
computehci 存储节点 Alma Linux 8.6 chrony,Yoga YUM Repository,enable powertools,python3-openstackclient,openstack-selinux

2.新部署组件

主机名 角色 OS install组件
controller 控制节点 Alma Linux 8.6 openstack-cinder
compute 计算节点 Alma Linux 8.6
computehci 存储节点 Alma Linux 8.6 openstack-cinder,targetcli

3.配置控制节点

操作对象:控制节点

3.1.创建cinder数据库及用户

# mysql -u root -p

> CREATE DATABASE cinder;
> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'root';
> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'root';
> flush privileges;

3.2.创建Cinder服务凭证

#在default域创建用户cinder
# source admin-openrc
# openstack user create --domain default --password-prompt cinder
User Password:

#绑定用户cinder为admin角色
# 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

3.3.创建存储API服务端点

# 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
# openstack endpoint list  --service cinderv2
+----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+
| ID                               | Region    | Service Name | Service Type | Enabled | Interface | URL                                      |
+----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+
| 6b11a31d3c9949f49f967262cda7cf3f | RegionOne | cinderv2     | volumev2     | True    | admin     | http://controller:8776/v2/%(project_id)s |
| cf596194d2b44e55a6599274e1958829 | RegionOne | cinderv2     | volumev2     | True    | internal  | http://controller:8776/v2/%(project_id)s |
| e187fbcd8aed4815941638479dba9684 | RegionOne | cinderv2     | volumev2     | True    | public    | http://controller:8776/v2/%(project_id)s |
+----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+
# openstack endpoint list  --service cinderv3
+----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+
| ID                               | Region    | Service Name | Service Type | Enabled | Interface | URL                                      |
+----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+
| 4709eb4f6c064e90a07791ef288abba3 | RegionOne | cinderv3     | volumev3     | True    | admin     | http://controller:8776/v3/%(project_id)s |
| b00739ead70245bf83b92bf7ec4a181d | RegionOne | cinderv3     | volumev3     | True    | public    | http://controller:8776/v3/%(project_id)s |
| d528b8fd3eda4abb8f9c67836d2be6c5 | RegionOne | cinderv3     | volumev3     | True    | internal  | http://controller:8776/v3/%(project_id)s |
+----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+

3.4.Cinder组件安装和配置

#安装cinder组件
# yum install openstack-cinder

#修改cinder配置文件cinder.conf
# vi /etc/cinder/cinder.conf
# grep -Ev "^$|^#" /etc/cinder/cinder.conf
...
[DEFAULT]
auth_strategy = keystone
my_ip = 172.26.37.10
transport_url = rabbit://openstack:awcloud@controller
[database]
connection = mysql+pymysql://cinder:root@controller/cinder
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = 123456
[nova]
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
...
#填充cinde-api数据库
# su -s /bin/sh -c "cinder-manage db sync" cinder

#nova配置文件补充cinder相关配置
# vi /etc/nova/nova.conf
...
[cinder]
os_region_name = RegionOne
...

#启动服务或重启动服务并设置自启动
# systemctl restart openstack-nova-api.service
# systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
# systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service
# systemctl status openstack-cinder-api.service openstack-cinder-scheduler.service

4.配置存储节点

操作对象:存储节点

4.1.创建LVM

#安装LVM组件
# yum install lvm2 device-mapper-persistent-data

#启动LVM服务
# systemctl enable lvm2-lvmetad.service
# systemctl start lvm2-lvmetad.service
# systemctl status lvm2-lvmetad.service

#添加物理磁盘

#创建 LVM 物理卷/dev/sdb
# fdisk -l
# pvcreate /dev/sdb
# mkfs.ext3 /dev/sdb1
# 创建LVM卷组cinder-volumes
# vgcreate cinder-volumes /dev/sdb1

添加过滤
#vi /etc/lvm/lvm.conf 
devices {
...
filter = [ "a/sdb/", "r/.*/"]

4.2.cinder-volume服务安装和配置

#安装cinder-volume组件
# yum install openstack-cinder targetcli python3-keystone

#修改cinder配置文件cinder.conf
#vi /etc/cinder/cinder.conf
# grep -Ev "^$|^#" /etc/cinder/cinder.conf
...
[DEFAULT]
backup_swift_url = SWIFT_URL
backup_driver = cinder.backup.drivers.swift.SwiftBackupDriver
auth_strategy = keystone
glance_api_servers = http://controller:9292
my_ip = 172.26.37.30
enabled_backends = lvm
target_helper = lioadm
transport_url = rabbit://openstack:awcloud@controller
[backend]
[backend_defaults]
target_protocol = iscsi
volume_group = cinder-volumes
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
[database]
connection = mysql+pymysql://cinder:root@controller/cinder
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = 123456
[nova]
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
...

#启动cinder-volume服务并设置自启动
# systemctl enable openstack-cinder-volume.service target.service
# systemctl start openstack-cinder-volume.service target.service
# systemctl status openstack-cinder-volume.service target.service

4.3.cinder-backup服务安装和配置

#安装cinder-backup组件
# yum install openstack-cinder
略

#修改cinder配置文件cinder.conf
#vi /etc/cinder/cinder.conf
添加如下
[DEFAULT]
backup_driver = cinder.backup.drivers.swift.SwiftBackupDriver
backup_swift_url = SWIFT_URL

#获取SWIFT_URL
# openstack catalog show object-store

#启动cinder-backup服务并设置自启动
# systemctl enable openstack-cinder-backup.service
# systemctl start openstack-cinder-backup.service
# systemctl status openstack-cinder-backup.service

5.确认Cinder计算服务

操作对象:控制节点

操作内容:

# cinder service-list
+------------------+----------------+------+---------+-------+----------------------------+---------+-----------------+---------------+
| Binary           | Host           | Zone | Status  | State | Updated_at                 | Cluster | Disabled Reason | Backend State |
+------------------+----------------+------+---------+-------+----------------------------+---------+-----------------+---------------+
| cinder-backup    | computehci     | nova | enabled | up    | 2022-09-17T09:15:44.000000 | -       | -               |               |
| cinder-scheduler | controller     | nova | enabled | up    | 2022-09-17T09:15:42.000000 | -       | -               |               |
| cinder-volume    | computehci@lvm | nova | enabled | up    | 2022-09-17T09:15:46.000000 | -       | -               | up            |
+------------------+----------------+------+---------+-------+----------------------------+---------+-----------------+---------------+

# openstack volume service list
+------------------+----------------+------+---------+-------+----------------------------+
| Binary           | Host           | Zone | Status  | State | Updated At                 |
+------------------+----------------+------+---------+-------+----------------------------+
| cinder-scheduler | controller     | nova | enabled | up    | 2022-09-17T09:12:52.000000 |
| cinder-volume    | computehci@lvm | nova | enabled | up    | 2022-09-17T09:12:56.000000 |
| cinder-backup    | computehci     | nova | enabled | up    | 2022-09-17T09:12:54.000000 |
+------------------+----------------+------+---------+-------+----------------------------+

如果status不为up,而为down的话,可以检查各个节点的时间同步状态,一般是时间不同步的原因造成。

你可能感兴趣的:(Alma Linux 8 OpenStack入门3--Cinder存储服务构建)