CentOS 7
Sponsored Link

OpenStack Juno : Cinder 設定#1 ( Control ノード )2015/01/11

 
OpenStack Block Storage(Cinder)をインストールします。
ここでは、以下のように、Keystone/Glance/Nova API インストール済みの Control ノード に 新たに Cinder API をインストールし、 Block Storage Service ノードに Cinder-Volume をインストールして設定します。 ( 例として役割ごとに分けていますが、All in One 構成にすることももちろん可能です )
                                      +------------------+
                             10.0.0.50| [ Storage Node ] |
+------------------+            +-----+   Cinder-Volume  |
| [ Control Node ] |            | eth0|                  |
|     Keystone     |10.0.0.30   |     +------------------+
|      Glance      |------------+
|     Nova API     |eth0        |     +------------------+
|    Cinder API    |            | eth0| [ Compute Node ] |
+------------------+            +-----+   Nova Compute   |
                             10.0.0.51|                  |
                                      +------------------+

 
ここでは、Control ノードの設定をします。
[1] Control ノードの Keystone に Cinder 用のユーザー等々を登録しておきます。
# Cinder ユーザー作成 (service テナント所属)

[root@dlp ~(keystone)]#
keystone user-create --tenant service --name cinder --pass servicepassword --enabled true

+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |                                  |
| enabled  |               True               |
|    id    | 6a9c39d906c64e7e9390fe2792a8165e |
|   name   |              cinder              |
| tenantId | 9e657ab1d2344de5aa9d86006732c7f0 |
| username |              cinder              |
+----------+----------------------------------+

# Cinder ユーザーを adminロール に加える

[root@dlp ~(keystone)]#
keystone user-role-add --user cinder --tenant service --role admin
# Cinder 用サービスエントリ作成

[root@dlp ~(keystone)]#
keystone service-create --name=cinder --type=volume --description="Cinder Service"

+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
| description |          Cinder Service          |
|   enabled   |               True               |
|      id     | 572abfe6390b400eaeb8cd5268ef1348 |
|     name    |              cinder              |
|     type    |              volume              |
+-------------+----------------------------------+
[root@dlp ~(keystone)]#
keystone service-create --name=cinderv2 --type=volumev2 --description="Cinder Service"

+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
| description |          Cinder Service          |
|   enabled   |               True               |
|      id     | 1b8491c6ce174bab84e1815ff6e2303d |
|     name    |             cinderv2             |
|     type    |             volumev2             |
+-------------+----------------------------------+

# Cinder API サーバーの IPアドレスを定義

[root@dlp ~(keystone)]#
export cinder_api=10.0.0.30
# Cinder 用エンドポイント作成

[root@dlp ~(keystone)]#
keystone endpoint-create --region RegionOne \
--service cinder \
--publicurl "http://$cinder_api:8776/v1/\$(tenant_id)s" \
--internalurl "http://$cinder_api:8776/v1/\$(tenant_id)s" \
--adminurl "http://$cinder_api:8776/v1/\$(tenant_id)s"

+-------------+----------------------------------------+
|   Property  |                 Value                  |
+-------------+----------------------------------------+
|   adminurl  | http://10.0.0.30:8776/v1/$(tenant_id)s |
|      id     |    881ea211f493478cba7fff329073477a    |
| internalurl | http://10.0.0.30:8776/v1/$(tenant_id)s |
|  publicurl  | http://10.0.0.30:8776/v1/$(tenant_id)s |
|    region   |               RegionOne                |
|  service_id |    572abfe6390b400eaeb8cd5268ef1348    |
+-------------+----------------------------------------+
[root@dlp ~(keystone)]#
keystone endpoint-create --region RegionOne \
--service cinderv2 \
--publicurl "http://$cinder_api:8776/v2/\$(tenant_id)s" \
--internalurl "http://$cinder_api:8776/v2/\$(tenant_id)s" \
--adminurl "http://$cinder_api:8776/v2/\$(tenant_id)s"

+-------------+----------------------------------------+
|   Property  |                 Value                  |
+-------------+----------------------------------------+
|   adminurl  | http://10.0.0.30:8776/v2/$(tenant_id)s |
|      id     |    db0781e5a5c7431ea81c724eb74b818a    |
| internalurl | http://10.0.0.30:8776/v2/$(tenant_id)s |
|  publicurl  | http://10.0.0.30:8776/v2/$(tenant_id)s |
|    region   |               RegionOne                |
|  service_id |    1b8491c6ce174bab84e1815ff6e2303d    |
+-------------+----------------------------------------+
[2] Cinder 用のユーザーとデータベースを MariaDB に登録しておきます。
[root@dlp ~(keystone)]#
mysql -u root -p

Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 16
Server version: 5.5.40-MariaDB-wsrep MariaDB Server, wsrep_25.11.r4026

Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.

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

MariaDB [(none)]>
create database cinder;

Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on cinder.* to cinder@'localhost' identified by 'password';

Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on cinder.* to cinder@'%' identified by 'password';

Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
flush privileges;

Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
exit

Bye
[3] Cinder サービスをインストールします。
# RDO, EPEL からインストール

[root@dlp ~(keystone)]#
yum --enablerepo=openstack-juno,epel -y install openstack-cinder
[4] Cinder の基本設定です。
[root@dlp ~(keystone)]#
mv /etc/cinder/cinder.conf /etc/cinder/cinder.conf.org

[root@dlp ~(keystone)]#
vi /etc/cinder/cinder.conf
# 新規作成

[DEFAULT]
state_path=/var/lib/cinder
api_paste_config=api-paste.ini
enable_v1_api=true
rootwrap_config=/etc/cinder/rootwrap.conf
auth_strategy=keystone
# RabbitMQ サーバーを指定

rabbit_host=10.0.0.30
rabbit_port=5672
# RabbitMQ サーバー認証用ID

rabbit_userid=guest
# RabbitMQ サーバー認証用IDのパスワード

rabbit_password=password
rpc_backend=rabbit
scheduler_driver=cinder.scheduler.filter_scheduler.FilterScheduler
volume_manager=cinder.volume.manager.VolumeManager
volume_api_class=cinder.volume.api.API
volumes_dir=$state_path/volumes
# MariaDB の接続情報

[database]
connection=mysql://cinder:password@10.0.0.30/cinder
# Keystone の認証情報

[keystone_authtoken]
auth_host=10.0.0.30
auth_port=35357
auth_protocol=http
admin_user=cinder
admin_password=servicepassword
admin_tenant_name=service
[root@dlp ~(keystone)]#
chmod 640 /etc/cinder/cinder.conf

[root@dlp ~(keystone)]#
chgrp cinder /etc/cinder/cinder.conf

[root@dlp ~(keystone)]#
cinder-manage db sync

[root@dlp ~(keystone)]#
for service in api scheduler; do
systemctl start openstack-cinder-$service
systemctl enable openstack-cinder-$service
done

# 動作確認

[root@dlp ~(keystone)]#
cinder-manage service list

Binary           Host      Zone     Status     State Updated At
cinder-scheduler dlp       nova     enabled    :-)   2015-01-11 12:46:24
関連コンテンツ