このセクションは、Block Storage サービス( Cinder )をコントローラーノードにインストールして設定する方法を紹介します。

データベース環境の設定

ここでは、Block Storage サービス ( Cinder ) のデータベース環境を設定します。

データベースクライアントを使用して、データベースサーバーに root ユーザーとして接続します。

[root@controller ~]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 66
Server version: 10.1.20-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

データベース cinder を作成します。

MariaDB [(none)]> CREATE DATABASE cinder;
Query OK, 1 row affected (0.00 sec)

データベースに適切なアクセス権を付与します。ここでは cinder データベースに接続するパスワードは CINDER_DB_PASS としているので、実際の情報に置き換えてください。

MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
    ->  IDENTIFIED BY 'CINDER_DB_PASS';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \
    ->  IDENTIFIED BY 'CINDER_DB_PASS';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye
[root@controller ~]# 

クレデンシャルとエンティティの作成

admin クレデンシャルを読み込み、管理者専用 CLI コマンドへのアクセス権を取得します。

[root@controller ~]# . openrc/admin-openrc 
[root@controller ~]# 

cinder ユーザーを作成します。ここでは、cinder ユーザーのパスワードは CINDER_PASS としているので、適宜変更して下さい。

[root@controller ~]# openstack user create --domain default --password-prompt cinder

User Password: CINDER_PASS
Repeat User Password: CINDER_PASS
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | bdecfc1d147d46ad98b9452ef89a8fa0 |
| name                | cinder                           |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+
[root@controller ~]# 

admin の ロールを cinder ユーザーと service プロジェクトに追加します。

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

cinderv2 および cinderv3 サービスエンティティーを作成します。

[root@controller ~]# openstack service create --name cinderv2 \
>   --description "OpenStack Block Storage" volumev2
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Block Storage          |
| enabled     | True                             |
| id          | 916ede5c51c444f5aa00aae825c4e222 |
| name        | cinderv2                         |
| type        | volumev2                         |
+-------------+----------------------------------+
[root@controller ~]# 
[root@controller ~]# openstack service create --name cinderv3 \
>   --description "OpenStack Block Storage" volumev3
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Block Storage          |
| enabled     | True                             |
| id          | 18a9916d04b64863a7ceaba3dab705ca |
| name        | cinderv3                         |
| type        | volumev3                         |
+-------------+----------------------------------+
[root@controller ~]# 

Block Storage サービス( Cinder )の API エンドポイントを作成します。

[root@controller ~]# openstack endpoint create --region RegionOne \
>   volumev2 public http://controller:8776/v2/%\(project_id\)s
+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | a372650899e04336bed6829254b27076         |
| interface    | public                                   |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | 916ede5c51c444f5aa00aae825c4e222         |
| service_name | cinderv2                                 |
| service_type | volumev2                                 |
| url          | http://controller:8776/v2/%(project_id)s |
+--------------+------------------------------------------+
[root@controller ~]# 
[root@controller ~]# openstack endpoint create --region RegionOne \
>   volumev2 internal http://controller:8776/v2/%\(project_id\)s
+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | 74963247070b4644b775ad27d9a125d4         |
| interface    | internal                                 |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | 916ede5c51c444f5aa00aae825c4e222         |
| service_name | cinderv2                                 |
| service_type | volumev2                                 |
| url          | http://controller:8776/v2/%(project_id)s |
+--------------+------------------------------------------+
[root@controller ~]# 
[root@controller ~]# openstack endpoint create --region RegionOne \
>   volumev2 admin http://controller:8776/v2/%\(project_id\)s
+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | ad3bad396c5d4bfe9160d2b8e5db98b5         |
| interface    | admin                                    |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | 916ede5c51c444f5aa00aae825c4e222         |
| service_name | cinderv2                                 |
| service_type | volumev2                                 |
| url          | http://controller:8776/v2/%(project_id)s |
+--------------+------------------------------------------+
[root@controller ~]# 
[root@controller ~]# openstack endpoint create --region RegionOne \
>   volumev3 public http://controller:8776/v3/%\(project_id\)s
+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | b2e7550e6c0c4f6cad596fa7b23b2d5a         |
| interface    | public                                   |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | 18a9916d04b64863a7ceaba3dab705ca         |
| service_name | cinderv3                                 |
| service_type | volumev3                                 |
| url          | http://controller:8776/v3/%(project_id)s |
+--------------+------------------------------------------+
[root@controller ~]#
[root@controller ~]# openstack endpoint create --region RegionOne \
>   volumev3 internal http://controller:8776/v3/%\(project_id\)s
+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | ea21d5e87da6465dac0fc479f322438e         |
| interface    | internal                                 |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | 18a9916d04b64863a7ceaba3dab705ca         |
| service_name | cinderv3                                 |
| service_type | volumev3                                 |
| url          | http://controller:8776/v3/%(project_id)s |
+--------------+------------------------------------------+
[root@controller ~]# 
[root@controller ~]# openstack endpoint create --region RegionOne \
>   volumev3 admin http://controller:8776/v3/%\(project_id\)s
+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | 329faafbda0f4cd8903d0b360f322369         |
| interface    | admin                                    |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | 18a9916d04b64863a7ceaba3dab705ca         |
| service_name | cinderv3                                 |
| service_type | volumev3                                 |
| url          | http://controller:8776/v3/%(project_id)s |
+--------------+------------------------------------------+
[root@controller ~]# 

コンポーネントのインストールと設定

openstack-rocky の yum リポジトリ(CentOS-Openstack-rocky.repo)を使って、 Block Storage サービス ( Cinder ) に必要なパッケージをインストールします。インストールは、コントローラーノードで実施します。

[root@controller ~]# yum --enablerepo=centos-openstack-rocky -y install openstack-cinder
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
base                                                     | 3.6 kB     00:00     
centos-ceph-luminous                                     | 2.9 kB     00:00     
centos-openstack-rocky                                   | 2.9 kB     00:00     
centos-qemu-ev                                           | 2.9 kB     00:00     
extras                                                   | 3.4 kB     00:00     
updates                                                  | 3.4 kB     00:00     
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ openstack-cinder.noarch 1:13.0.0-1.el7 を インストール
--> 依存性の処理をしています: python-cinder = 1:13.0.0-1.el7 のパッケージ: 1:openstack-cinder-13.0.0-1.el7.noarch
--> 依存性の処理をしています: python-rtslib のパッケージ: 1:openstack-cinder-13.0.0-1.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ python-cinder.noarch 1:13.0.0-1.el7 を インストール
--> 依存性の処理をしています: python2-oauth2client >= 1.5.0 のパッケージ: 1:python-cinder-13.0.0-1.el7.noarch
--> 依存性の処理をしています: python2-google-api-client >= 1.4.2 のパッケージ: 1:python-cinder-13.0.0-1.el7.noarch
--> 依存性の処理をしています: python2-barbicanclient >= 4.5.2 のパッケージ: 1:python-cinder-13.0.0-1.el7.noarch
--> 依存性の処理をしています: sysfsutils のパッケージ: 1:python-cinder-13.0.0-1.el7.noarch
--> 依存性の処理をしています: qemu-img のパッケージ: 1:python-cinder-13.0.0-1.el7.noarch
--> 依存性の処理をしています: iscsi-initiator-utils のパッケージ: 1:python-cinder-13.0.0-1.el7.noarch
---> パッケージ python-rtslib.noarch 0:2.1.fb63-12.el7_5 を インストール
--> 依存性の処理をしています: python-kmod のパッケージ: python-rtslib-2.1.fb63-12.el7_5.noarch
--> トランザクションの確認を実行しています。
---> パッケージ iscsi-initiator-utils.x86_64 0:6.2.0.874-7.el7 を インストール
--> 依存性の処理をしています: iscsi-initiator-utils-iscsiuio >= 6.2.0.874-7.el7 のパッケージ: iscsi-initiator-utils-6.2.0.874-7.el7.x86_64
---> パッケージ python-kmod.x86_64 0:0.9-4.el7 を インストール
---> パッケージ python2-barbicanclient.noarch 0:4.7.0-1.el7 を インストール
---> パッケージ python2-google-api-client.noarch 0:1.4.2-4.el7 を インストール
--> 依存性の処理をしています: python-uri-templates >= 0.6 のパッケージ: python2-google-api-client-1.4.2-4.el7.noarch
---> パッケージ python2-oauth2client.noarch 0:1.5.2-3.el7.1 を インストール
--> 依存性の処理をしています: python-pyasn1-modules >= 0.0.5 のパッケージ: python2-oauth2client-1.5.2-3.el7.1.noarch
--> 依存性の処理をしています: python-gflags のパッケージ: python2-oauth2client-1.5.2-3.el7.1.noarch
---> パッケージ qemu-img-ev.x86_64 10:2.10.0-21.el7_5.4.1 を インストール
--> 依存性の処理をしています: libgnutls.so.28(GNUTLS_3_1_0)(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
--> 依存性の処理をしています: libgnutls.so.28(GNUTLS_2_12)(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
--> 依存性の処理をしています: libgnutls.so.28(GNUTLS_1_4)(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
--> 依存性の処理をしています: libgfapi.so.0(GFAPI_3.5.0)(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
--> 依存性の処理をしています: libgfapi.so.0(GFAPI_3.4.0)(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
--> 依存性の処理をしています: libtcmalloc.so.4()(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
--> 依存性の処理をしています: librbd.so.1()(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
--> 依存性の処理をしています: libnettle.so.4()(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
--> 依存性の処理をしています: libiscsi.so.2()(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
--> 依存性の処理をしています: libgnutls.so.28()(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
--> 依存性の処理をしています: libglusterfs.so.0()(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
--> 依存性の処理をしています: libgfxdr.so.0()(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
--> 依存性の処理をしています: libgfrpc.so.0()(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
--> 依存性の処理をしています: libgfapi.so.0()(64bit) のパッケージ: 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64
---> パッケージ sysfsutils.x86_64 0:2.1.0-16.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ glusterfs-api.x86_64 0:3.8.4-54.15.el7.centos を インストール
--> 依存性の処理をしています: glusterfs-client-xlators(x86-64) = 3.8.4-54.15.el7.centos のパッケージ: glusterfs-api-3.8.4-54.15.el7.centos.x86_64
--> 依存性の処理をしています: glusterfs(x86-64) = 3.8.4-54.15.el7.centos のパッケージ: glusterfs-api-3.8.4-54.15.el7.centos.x86_64
---> パッケージ glusterfs-libs.x86_64 0:3.8.4-54.15.el7.centos を インストール
---> パッケージ gnutls.x86_64 0:3.3.26-9.el7 を インストール
--> 依存性の処理をしています: trousers >= 0.3.11.2 のパッケージ: gnutls-3.3.26-9.el7.x86_64
---> パッケージ gperftools-libs.x86_64 0:2.6.1-1.el7 を インストール
---> パッケージ iscsi-initiator-utils-iscsiuio.x86_64 0:6.2.0.874-7.el7 を インストール
---> パッケージ libiscsi.x86_64 0:1.9.0-7.el7 を インストール
---> パッケージ librbd1.x86_64 2:12.2.5-0.el7 を インストール
---> パッケージ nettle.x86_64 0:2.7.1-8.el7 を インストール
---> パッケージ python2-gflags.noarch 0:2.0-5.el7 を インストール
---> パッケージ python2-pyasn1-modules.noarch 0:0.1.9-7.el7 を インストール
---> パッケージ python2-uri-templates.noarch 0:0.6-5.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ glusterfs.x86_64 0:3.8.4-54.15.el7.centos を インストール
---> パッケージ glusterfs-client-xlators.x86_64 0:3.8.4-54.15.el7.centos を インストール
---> パッケージ trousers.x86_64 0:0.3.14-2.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package                  アーキテクチャー
                                 バージョン        リポジトリー            容量
================================================================================
インストール中:
 openstack-cinder         noarch 1:13.0.0-1.el7    centos-openstack-rocky  58 k
依存性関連でのインストールをします:
 glusterfs                x86_64 3.8.4-54.15.el7.centos
                                                   updates                534 k
 glusterfs-api            x86_64 3.8.4-54.15.el7.centos
                                                   updates                 77 k
 glusterfs-client-xlators x86_64 3.8.4-54.15.el7.centos
                                                   updates                786 k
 glusterfs-libs           x86_64 3.8.4-54.15.el7.centos
                                                   updates                372 k
 gnutls                   x86_64 3.3.26-9.el7      base                   677 k
 gperftools-libs          x86_64 2.6.1-1.el7       base                   272 k
 iscsi-initiator-utils    x86_64 6.2.0.874-7.el7   base                   422 k
 iscsi-initiator-utils-iscsiuio
                          x86_64 6.2.0.874-7.el7   base                    90 k
 libiscsi                 x86_64 1.9.0-7.el7       base                    60 k
 librbd1                  x86_64 2:12.2.5-0.el7    centos-ceph-luminous   1.1 M
 nettle                   x86_64 2.7.1-8.el7       base                   327 k
 python-cinder            noarch 1:13.0.0-1.el7    centos-openstack-rocky 3.9 M
 python-kmod              x86_64 0.9-4.el7         base                    57 k
 python-rtslib            noarch 2.1.fb63-12.el7_5 updates                100 k
 python2-barbicanclient   noarch 4.7.0-1.el7       centos-openstack-rocky 119 k
 python2-gflags           noarch 2.0-5.el7         centos-openstack-rocky  60 k
 python2-google-api-client
                          noarch 1.4.2-4.el7       centos-openstack-rocky  78 k
 python2-oauth2client     noarch 1.5.2-3.el7.1     centos-openstack-rocky  98 k
 python2-pyasn1-modules   noarch 0.1.9-7.el7       base                    59 k
 python2-uri-templates    noarch 0.6-5.el7         centos-openstack-rocky  10 k
 qemu-img-ev              x86_64 10:2.10.0-21.el7_5.4.1
                                                   centos-qemu-ev         1.2 M
 sysfsutils               x86_64 2.1.0-16.el7      base                    41 k
 trousers                 x86_64 0.3.14-2.el7      base                   289 k

トランザクションの要約
================================================================================
インストール  1 パッケージ (+23 個の依存関係のパッケージ)

総ダウンロード容量: 11 M
インストール容量: 46 M
Downloading packages:
(1/24): glusterfs-api-3.8.4-54.15.el7.centos.x86_64.rpm    |  77 kB   00:00     
(2/24): glusterfs-libs-3.8.4-54.15.el7.centos.x86_64.rpm   | 372 kB   00:00     
(3/24): glusterfs-client-xlators-3.8.4-54.15.el7.centos.x8 | 786 kB   00:00     
(4/24): glusterfs-3.8.4-54.15.el7.centos.x86_64.rpm        | 534 kB   00:00     
(5/24): iscsi-initiator-utils-iscsiuio-6.2.0.874-7.el7.x86 |  90 kB   00:00     
(6/24): gperftools-libs-2.6.1-1.el7.x86_64.rpm             | 272 kB   00:00     
(7/24): libiscsi-1.9.0-7.el7.x86_64.rpm                    |  60 kB   00:00     
(8/24): iscsi-initiator-utils-6.2.0.874-7.el7.x86_64.rpm   | 422 kB   00:00     
(9/24): gnutls-3.3.26-9.el7.x86_64.rpm                     | 677 kB   00:00     
(10/24): python-kmod-0.9-4.el7.x86_64.rpm                  |  57 kB   00:00     
(11/24): python-rtslib-2.1.fb63-12.el7_5.noarch.rpm        | 100 kB   00:00     
(12/24): nettle-2.7.1-8.el7.x86_64.rpm                     | 327 kB   00:00     
(13/24): openstack-cinder-13.0.0-1.el7.noarch.rpm          |  58 kB   00:01     
(14/24): python2-barbicanclient-4.7.0-1.el7.noarch.rpm     | 119 kB   00:02     
(15/24): python2-gflags-2.0-5.el7.noarch.rpm               |  60 kB   00:01     
(16/24): librbd1-12.2.5-0.el7.x86_64.rpm                   | 1.1 MB   00:06     
(17/24): python2-google-api-client-1.4.2-4.el7.noarch.rpm  |  78 kB   00:01     
(18/24): python2-pyasn1-modules-0.1.9-7.el7.noarch.rpm     |  59 kB   00:00     
(19/24): python-cinder-13.0.0-1.el7.noarch.rpm             | 3.9 MB   00:07     
(20/24): sysfsutils-2.1.0-16.el7.x86_64.rpm                |  41 kB   00:00     
(21/24): python2-uri-templates-0.6-5.el7.noarch.rpm        |  10 kB   00:00     
(22/24): trousers-0.3.14-2.el7.x86_64.rpm                  | 289 kB   00:00     
(23/24): python2-oauth2client-1.5.2-3.el7.1.noarch.rpm     |  98 kB   00:01     
warning: /var/cache/yum/x86_64/7/centos-qemu-ev/packages/qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 61e8806c: NOKEY
qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64.rpm の公開鍵がインストールされていません
(24/24): qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64.rpm        | 1.2 MB   00:03     
--------------------------------------------------------------------------------
合計                                               948 kB/s |  11 MB  00:11     
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization から鍵を取得中です。
Importing GPG key 0x61E8806C:
 Userid     : "CentOS Virtualization SIG (http://wiki.centos.org/SpecialInterestGroup/Virtualization) <security@centos.org>"
 Fingerprint: a7c8 e761 309d 2f1c 92c5 0b62 7aeb be82 61e8 806c
 Package    : centos-release-virt-common-1-1.el7.centos.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : glusterfs-libs-3.8.4-54.15.el7.centos.x86_6    1/24 
  インストール中          : iscsi-initiator-utils-iscsiuio-6.2.0.874-7.    2/24 
  インストール中          : iscsi-initiator-utils-6.2.0.874-7.el7.x86_6    3/24 
  インストール中          : nettle-2.7.1-8.el7.x86_64                      4/24 
  インストール中          : glusterfs-client-xlators-3.8.4-54.15.el7.ce    5/24 
  インストール中          : glusterfs-3.8.4-54.15.el7.centos.x86_64        6/24 
  インストール中          : glusterfs-api-3.8.4-54.15.el7.centos.x86_64    7/24 
  インストール中          : python2-uri-templates-0.6-5.el7.noarch         8/24 
  インストール中          : gperftools-libs-2.6.1-1.el7.x86_64             9/24 
  インストール中          : python-kmod-0.9-4.el7.x86_64                  10/24 
  インストール中          : python-rtslib-2.1.fb63-12.el7_5.noarch        11/24 
  インストール中          : python2-gflags-2.0-5.el7.noarch               12/24 
  インストール中          : python2-pyasn1-modules-0.1.9-7.el7.noarch     13/24 
  インストール中          : python2-oauth2client-1.5.2-3.el7.1.noarch     14/24 
  インストール中          : python2-google-api-client-1.4.2-4.el7.noarc   15/24 
  インストール中          : libiscsi-1.9.0-7.el7.x86_64                   16/24 
  インストール中          : python2-barbicanclient-4.7.0-1.el7.noarch     17/24 
  インストール中          : sysfsutils-2.1.0-16.el7.x86_64                18/24 
  インストール中          : trousers-0.3.14-2.el7.x86_64                  19/24 
  インストール中          : gnutls-3.3.26-9.el7.x86_64                    20/24 
  インストール中          : 2:librbd1-12.2.5-0.el7.x86_64                 21/24 
  インストール中          : 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64     22/24 
  インストール中          : 1:python-cinder-13.0.0-1.el7.noarch           23/24 
  インストール中          : 1:openstack-cinder-13.0.0-1.el7.noarch        24/24 
  検証中                  : 2:librbd1-12.2.5-0.el7.x86_64                  1/24 
  検証中                  : 1:openstack-cinder-13.0.0-1.el7.noarch         2/24 
  検証中                  : trousers-0.3.14-2.el7.x86_64                   3/24 
  検証中                  : glusterfs-client-xlators-3.8.4-54.15.el7.ce    4/24 
  検証中                  : python2-oauth2client-1.5.2-3.el7.1.noarch      5/24 
  検証中                  : nettle-2.7.1-8.el7.x86_64                      6/24 
  検証中                  : sysfsutils-2.1.0-16.el7.x86_64                 7/24 
  検証中                  : python2-barbicanclient-4.7.0-1.el7.noarch      8/24 
  検証中                  : glusterfs-libs-3.8.4-54.15.el7.centos.x86_6    9/24 
  検証中                  : 10:qemu-img-ev-2.10.0-21.el7_5.4.1.x86_64     10/24 
  検証中                  : gnutls-3.3.26-9.el7.x86_64                    11/24 
  検証中                  : python2-google-api-client-1.4.2-4.el7.noarc   12/24 
  検証中                  : libiscsi-1.9.0-7.el7.x86_64                   13/24 
  検証中                  : python2-pyasn1-modules-0.1.9-7.el7.noarch     14/24 
  検証中                  : iscsi-initiator-utils-6.2.0.874-7.el7.x86_6   15/24 
  検証中                  : python2-gflags-2.0-5.el7.noarch               16/24 
  検証中                  : python-kmod-0.9-4.el7.x86_64                  17/24 
  検証中                  : 1:python-cinder-13.0.0-1.el7.noarch           18/24 
  検証中                  : glusterfs-api-3.8.4-54.15.el7.centos.x86_64   19/24 
  検証中                  : gperftools-libs-2.6.1-1.el7.x86_64            20/24 
  検証中                  : python-rtslib-2.1.fb63-12.el7_5.noarch        21/24 
  検証中                  : glusterfs-3.8.4-54.15.el7.centos.x86_64       22/24 
  検証中                  : iscsi-initiator-utils-iscsiuio-6.2.0.874-7.   23/24 
  検証中                  : python2-uri-templates-0.6-5.el7.noarch        24/24 

インストール:
  openstack-cinder.noarch 1:13.0.0-1.el7                                        

依存性関連をインストールしました:
  glusterfs.x86_64 0:3.8.4-54.15.el7.centos                                     
  glusterfs-api.x86_64 0:3.8.4-54.15.el7.centos                                 
  glusterfs-client-xlators.x86_64 0:3.8.4-54.15.el7.centos                      
  glusterfs-libs.x86_64 0:3.8.4-54.15.el7.centos                                
  gnutls.x86_64 0:3.3.26-9.el7                                                  
  gperftools-libs.x86_64 0:2.6.1-1.el7                                          
  iscsi-initiator-utils.x86_64 0:6.2.0.874-7.el7                                
  iscsi-initiator-utils-iscsiuio.x86_64 0:6.2.0.874-7.el7                       
  libiscsi.x86_64 0:1.9.0-7.el7                                                 
  librbd1.x86_64 2:12.2.5-0.el7                                                 
  nettle.x86_64 0:2.7.1-8.el7                                                   
  python-cinder.noarch 1:13.0.0-1.el7                                           
  python-kmod.x86_64 0:0.9-4.el7                                                
  python-rtslib.noarch 0:2.1.fb63-12.el7_5                                      
  python2-barbicanclient.noarch 0:4.7.0-1.el7                                   
  python2-gflags.noarch 0:2.0-5.el7                                             
  python2-google-api-client.noarch 0:1.4.2-4.el7                                
  python2-oauth2client.noarch 0:1.5.2-3.el7.1                                   
  python2-pyasn1-modules.noarch 0:0.1.9-7.el7                                   
  python2-uri-templates.noarch 0:0.6-5.el7                                      
  qemu-img-ev.x86_64 10:2.10.0-21.el7_5.4.1                                     
  sysfsutils.x86_64 0:2.1.0-16.el7                                              
  trousers.x86_64 0:0.3.14-2.el7                                                

完了しました!
[root@controller ~]# 

Cinder の設定ファイル( /etc/cinder/cinder.conf )を編集し、以下の設定をします。

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

[database] セクションで、データベースのアクセス方法を設定します。ここでは、cinder データベースに接続するパスワードは CINDER_DB_PASS としているので、実際の情報に置き換えてください。

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

[DEFAULT] セクションに、RabbitMQ メッセージキューのアクセス方法を設定します。RABBIT_PASS は、RabbitMQ の openstack ユーザー用に選択したパスワードに置き換えてください。

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

[DEFAULT] セクションと [keystone_authtoken] セクションに、認証サービス( Keystone )へのアクセス方法を設定します。ここでは、cinder ユーザーのパスワードは CINDER_PASS としているので、実際の情報に置き換えてください。

[DEFAULT]
# ...
auth_strategy = keystone

[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_id = default
user_domain_id = default
project_name = service
username = cinder
password = CINDER_PASS

[DEFAULT] セクションで、コントローラーノードの管理インターフェースの IP アドレスを使用するように my_ip オプションを設定します。

[DEFAULT]
# ...
my_ip = 192.168.24.111

[oslo_concurrency] セクションにロックパスを設定します。

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

Block Storage データベースを展開します。

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

Block Storage を使用するための Compute の設定

Nova 設定ファイル( /etc/nova/nova.conf )を編集し、以下を設定します。

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

[cinder] セクションに os_region_name を追加します。

[cinder]
os_region_name = RegionOne

ファイアウォールでの通信許可

Block Storage サービス( Cinder )で必要となる TCP 8776( Cinder API  )通信を許可します。

[root@controller ~]# firewall-cmd --add-port=8776/tcp --zone=public --permanent
success
[root@controller ~]# 

firewalld をリロードし、設定を反映します。

[root@controller ~]# firewall-cmd --reload
success
[root@controller ~]#

インストールの最後

Compute API サービスを再起動します。

■ 再起動
[root@controller ~]# systemctl restart openstack-nova-api.service
[root@controller ~]# 

■ 起動状態の確認
[root@controller ~]# systemctl status openstack-nova-api.service
● openstack-nova-api.service - OpenStack Nova API Server
   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-api.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2018-10-21 15:58:08 JST; 12s ago
 Main PID: 4404 (nova-api)
   CGroup: /system.slice/openstack-nova-api.service
           ├─4404 /usr/bin/python2 /usr/bin/nova-api
           ├─4415 /usr/bin/python2 /usr/bin/nova-api
           ├─4416 /usr/bin/python2 /usr/bin/nova-api
           ├─4419 /usr/bin/python2 /usr/bin/nova-api
           └─4420 /usr/bin/python2 /usr/bin/nova-api

10月 21 15:58:05 controller systemd[1]: Starting OpenStack Nova API Server...
10月 21 15:58:08 controller systemd[1]: Started OpenStack Nova API Server.
[root@controller ~]# 

Block Storage サービス( Cinder )の自動起動を有効化します。

■ 自動起動の有効化
[root@controller ~]# systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
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.
[root@controller ~]# 

■ 自動起動の状態確認
[root@controller ~]# systemctl is-enabled openstack-cinder-api.service openstack-cinder-scheduler.service
enabled
enabled
[root@controller ~]# 

Block Storage サービス( Cinder )を再起動します。

■ 再起動
[root@controller ~]# systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service
[root@controller ~]# 

■ 起動状態の確認
[root@controller ~]# systemctl status openstack-cinder-api.service openstack-cinder-scheduler.service
● openstack-cinder-api.service - OpenStack Cinder API Server
   Loaded: loaded (/usr/lib/systemd/system/openstack-cinder-api.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2018-10-21 15:59:11 JST; 39s ago
 Main PID: 4461 (cinder-api)
   CGroup: /system.slice/openstack-cinder-api.service
           ├─4461 /usr/bin/python2 /usr/bin/cinder-api --config-file /usr/sha...
           ├─4555 /usr/bin/python2 /usr/bin/cinder-api --config-file /usr/sha...
           └─4556 /usr/bin/python2 /usr/bin/cinder-api --config-file /usr/sha...

10月 21 15:59:11 controller systemd[1]: Started OpenStack Cinder API Server.
10月 21 15:59:11 controller systemd[1]: Starting OpenStack Cinder API Server...
10月 21 15:59:12 controller cinder-api[4461]: 非推奨: Option "logdir" from …T".

● openstack-cinder-scheduler.service - OpenStack Cinder Scheduler Server
   Loaded: loaded (/usr/lib/systemd/system/openstack-cinder-scheduler.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2018-10-21 15:59:11 JST; 38s ago
 Main PID: 4464 (cinder-schedule)
   CGroup: /system.slice/openstack-cinder-scheduler.service
           └─4464 /usr/bin/python2 /usr/bin/cinder-scheduler --config-file /u...

10月 21 15:59:11 controller systemd[1]: Started OpenStack Cinder Scheduler ....
10月 21 15:59:11 controller systemd[1]: Starting OpenStack Cinder Scheduler....
10月 21 15:59:12 controller cinder-scheduler[4464]: 非推奨: Option "logdir" …".
Hint: Some lines were ellipsized, use -l to show in full.
[root@controller ~]#