OpenStack(Cinder)控制器节点安装

2024-09-25 28

本节教程将介绍如何在块控制器节点上安装和配置名为 Cinder 的存储服务。该服务至少需要一个额外的存储节点,以便提供卷的复制功能到实例。

一、先决条件

在安装和配置 Block Storage 服务之前,需要完成以下步骤以创建数据库、服务凭证和 API 终端节点。

1、创建数据库

使用数据库访问客户端连接到数据库服务器,作为用户 “root”:

mysql -u root -p

创建数据库:

MariaDB [(none)]> CREATE DATABASE cinder;

授予对数据库的适当访问权限:

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

请将 “CINDER_DBPASS” 替换为选择的合适密码。然后退出数据库访问客户端。

2、获取管理员访问凭据

在命令行中获取管理员凭据:

. admin-openrc

3、创建服务凭证

完成以下步骤以创建 Cinder 服务凭证:

创建用户 “cinder”:

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

User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 9d7e33de3e1a498390353819bc7d245d |
| name                | cinder                           |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

输入用户密码并确认。

将角色 “admin” 添加到用户 “cinder”:

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

注意:此命令执行后不会提供任何输出。

创建服务实体 “cinderv3″:

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

+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Block Storage          |
| enabled     | True                             |
| id          | ab3bbbef780845a1a283490d281e7fda |
| name        | cinderv3                         |
| type        | volumev3                         |
+-------------+----------------------------------+

注意:从 Xena 版本开始,块存储服务仅需要一个服务实体。对于以前的版本,请查看该特定版本的文档。

4、创建 Block Storage 服务 API 端点:

openstack endpoint create --region RegionOne \
  volumev3 public http://controller:8776/v3/%\(project_id\)s

+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | 03fa2c90153546c295bf30ca86b1344b         |
| interface    | public                                   |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | ab3bbbef780845a1a283490d281e7fda         |
| service_name | cinderv3                                 |
| service_type | volumev3                                 |
| url          | http://controller:8776/v3/%(project_id)s |
+--------------+------------------------------------------+

$ openstack endpoint create --region RegionOne \
  volumev3 internal http://controller:8776/v3/%\(project_id\)s

+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | 94f684395d1b41068c70e4ecb11364b2         |
| interface    | internal                                 |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | ab3bbbef780845a1a283490d281e7fda         |
| service_name | cinderv3                                 |
| service_type | volumev3                                 |
| url          | http://controller:8776/v3/%(project_id)s |
+--------------+------------------------------------------+

$ openstack endpoint create --region RegionOne \
  volumev3 admin http://controller:8776/v3/%\(project_id\)s

+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | 4511c28a0f9840c78bacb25f10f62c98         |
| interface    | admin                                    |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | ab3bbbef780845a1a283490d281e7fda         |
| service_name | cinderv3                                 |
| service_type | volumev3                                 |
| url          | http://controller:8776/v3/%(project_id)s |
+--------------+------------------------------------------+

二、安装和配置组件

1、安装所需软件包:

zypper install openstack-cinder-api openstack-cinder-scheduler

2、编辑配置文件 “/etc/cinder/cinder.conf”,并完成以下部分:

配置数据库访问:

[database]
# ...
connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder

替换 “CINDER_DBPASS” 为为 Block Storage 数据库设置的密码。

配置消息队列访问:

[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller

替换 “RABBIT_PASS” 为在 RabbitMQ 中为 “openstack” 帐户选择的密码。

配置 Identity Service 访问:

[DEFAULT]
# ...
auth_strategy = keystone
[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 = CINDER_PASS

替换 “CINDER_PASS” 为 Identity 服务中的用户 “cinder” 的密码。

注意:请确保注释掉或删除 “[keystone_authtoken]” 部分中的任何其他选项。

配置控制器节点的管理接口 IP 地址:

[DEFAULT]
# ...
my_ip = 10.0.0.11

配置锁定路径:

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

三、配置Compute以使用Block Storage

编辑文件 “/etc/nova/nova.conf” 并添加以下内容:

[cinder]
os_region_name = RegionOne

四、完成安装

1、重新启动 Compute API 服务:

systemctl restart openstack-nova-api.service

2、启动 Block Storage 服务并将其配置为在系统启动时自动启动:

systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service
  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。