6.3. Block Storage サービスの設定


6.3.1. Block Storage サービスのデータベース接続の設定

Block Storage サービスによって使用されるデータベース接続文字列は、/etc/neutron/plugin.ini ファイルで定義されます。サービスを起動する前に、有効なデータベースサーバーをポイントするように更新しておく必要があります。
Block Storage サービスをホストする各システムの sql_connection 設定キーの値を設定します。
# openstack-config --set /etc/cinder/cinder.conf \
   DEFAULT sql_connection mysql://USER:PASS@IP/DB
Copy to Clipboard Toggle word wrap
以下の値を置き換えてください。
  • USER は、Block Storage サービスのデータベースのユーザー名 (通常は cinder) に置き換えてください。
  • PASS は選択したデータベースユーザーのパスワードに置き換えます。
  • IP は、データベースサービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。
  • DB は、Block Storage サービスのデータベースの名前 (通常は cinder) に置き換えてください。

重要

この接続設定キーに指定する IP アドレスまたはホスト名は、Block Storage サービスのデータベースの作成時に Block Storage サービスのデータベースユーザーがアクセスを許可された IP アドレスまたはホスト名と一致する必要があります。また、データベースがローカルでホストされ、Block Storage サービスのデータベースの作成時に「localhost」へのアクセス権を付与した場合には、「localost」と入力する必要があります。

6.3.2. Block Storage サービス用のアイデンティティーレコードの作成

Block Storage サービスで必要な Identity サービスのレコードを作成して設定します。これらのエントリーは、Block Storage サービスに対する認証を提供し、Block Storage が提供するボリューム機能を探してアクセスを試みる他の OpenStack サービスを誘導します。
以下の手順では、管理ユーザーと services テナントが作成済みであることを前提としています。詳しい説明は、以下のリンクを参照してください。
以下の手順は、Identity サービスのサーバーまたは keystonerc_admin ファイルをコピーして keystone コマンドラインユーティリティーをインストールした任意のマシンで実行してください。

手順6.2 Block Storage サービス用のアイデンティティーレコードの作成

  1. Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
    # source ~/keystonerc_admin
    Copy to Clipboard Toggle word wrap
  2. cinder ユーザーを作成します。
    [(keystone_admin)]# keystone user-create --name cinder --pass PASSWORD
    +----------+----------------------------------+
    | Property |              Value               |
    +----------+----------------------------------+
    |  email   |                                  |
    | enabled  |               True               |
    |    id    | e1765f70da1b4432b54ced060139b46a |
    |   name   |              cinder              |
    | username |              cinder              |
    +----------+----------------------------------+
    Copy to Clipboard Toggle word wrap
    PASSWORD は、Block Storage サービスが Identity サービスとの認証を行う際に使用するセキュアなパスワードに置き換えます。
  3. services テナントのコンテキスト内で、cinder ユーザーと admin ロールを関連付けます。
    [(keystone_admin)]# keystone user-role-add --user cinder --role admin --tenant services
    Copy to Clipboard Toggle word wrap
  4. cinder および cinderv2 Block Storage のサービスエントリーを作成します。
    [(keystone_admin)]# keystone service-create --name cinder \
            --type volume \
            --description "Cinder Volume Service"
    +-------------+----------------------------------+
    |   Property  |              Value               |
    +-------------+----------------------------------+
    | description |      Cinder Volume Service       |
    |   enabled   |               True               |
    |      id     | dfde7878671e484c9e581a3eb9b63e66 |
    |     name    |              cinder              |
    |     type    |              volume              |
    +-------------+----------------------------------+
    Copy to Clipboard Toggle word wrap
    [(keystone_admin)]# keystone service-create --name cinderv2 \
            --type volumev2 \
            --description "Cinder Volume Service v2"
    +-------------+----------------------------------+
    |   Property  |              Value               |
    +-------------+----------------------------------+
    | description |     Cinder Volume Service v2     |
    |   enabled   |               True               |
    |      id     | 42318fdec1926f57643ca7b1e40b78df |
    |     name    |             cinderv2             |
    |     type    |             volumev2             |
    +-------------+----------------------------------+
    Copy to Clipboard Toggle word wrap
  5. cinder エンドポイントエントリーを作成します。
    [(keystone_admin)]# keystone endpoint-create \
       --service cinder \
       --publicurl 'http://IP:8776/v1/%(tenant_id)s' \
       --adminurl 'http://IP:8776/v1/%(tenant_id)s' \
       --internalurl 'http://IP:8776/v1/%(tenant_id)s' \
       --region 'RegionOne'
    Copy to Clipboard Toggle word wrap
    [(keystone_admin)]# keystone endpoint-create \
       --service cinderv2 \
       --publicurl 'http://IP:8776/v2/%(tenant_id)s' \
       --adminurl 'http://IP:8776/v2/%(tenant_id)s' \
       --internalurl 'http://IP:8776/v2/%(tenant_id)s'
       --region 'RegionOne'
    Copy to Clipboard Toggle word wrap
    IP は、Block Storage API サービス (openstack-cinder-api) をホストするシステムの IP アドレスまたはホスト名に置き換えます。複数の API サービスインスタンスをインストールして実行するには、各インスタンスの IP アドレスまたはホスト名を使用してこのステップを繰り返します。

6.3.3. Block Storage サービスの認証設定

Block Storage サービスが認証に Identity サービスを使用するように設定します。以下の手順に記載するステップはすべて、Block Storage サービスをホストする各サーバーに root ユーザーとしてログインして実行する必要があります。

手順6.3 Block Storage サービスが Identity サービスを使用して認証を行うための設定

  1. 認証ストラテジーを keystone に設定します。
    # openstack-config --set /etc/cinder/cinder.conf \
       DEFAULT auth_strategy keystone
    Copy to Clipboard Toggle word wrap
  2. Block Storage サービスが使用する必要のある Identity サービスのホストを設定します。
    # openstack-config --set /etc/cinder/cinder.conf \
       keystone_authtoken auth_host IP
    Copy to Clipboard Toggle word wrap
    IP は、Identity サービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。
  3. Block Storage サービスが正しいテナントとして認証を行うように設定します。
    # openstack-config --set /etc/cinder/cinder.conf \
       keystone_authtoken admin_tenant_name services
    Copy to Clipboard Toggle word wrap
    services は、OpenStack Networking を使用するために作成したテナントの名前に置き換えます。本ガイドの例では、services を使用しています。
  4. Block Storage サービスが cinder の管理ユーザーアカウントを使用して認証を行うように設定します。
    # openstack-config --set /etc/cinder/cinder.conf \
       keystone_authtoken admin_user cinder
    Copy to Clipboard Toggle word wrap
  5. Block Storage サービスが正しい cinder の管理ユーザーアカウントを使用するように設定します。
    # openstack-config --set /etc/cinder/cinder.conf \
       keystone_authtoken admin_password PASSWORD
    Copy to Clipboard Toggle word wrap
    PASSWORD は、cinder ユーザーの作成時に設定したパスワードに置き換えます。

6.3.4. Block Storage サービスのトラフィックを許可するためのファイアウォール設定

OpenStack 環境内の各コンポーネントは、認証に Idenity サービスを使用するため、このサービスへアクセスできる必要があります。Block Storage サービスをホストするシステムのファイアウォール設定を変更して、これらのポートでのネットワークトラフィックを許可する必要があります。以下の手順に記載するステップはすべて、Block Storage サービスをホストする各システムに root ユーザーとしてログインして実行する必要があります。

手順6.4 Block Storage サービスのトラフィックを許可するためのファイアウォール設定

  1. テキストエディターで /etc/sysconfig/iptables ファイルを開きます。
  2. このファイルに、ポート 3260 および 8776 で TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。
    -A INPUT -p tcp -m multiport --dports 3260,8776 -j ACCEPT
    Copy to Clipboard Toggle word wrap
  3. /etc/sysconfig/iptables ファイルへの変更を保存します。
  4. iptables サービスを再起動して、変更を有効にします。
    # systemctl restart iptables.service
    Copy to Clipboard Toggle word wrap

6.3.5. Block Storage サービスが SSL を使用するための設定

以下に記載する cinder.conf ファイル内のオプションを使用して、SSL を設定します。
Expand
表6.1 Block Storage の SSL オプション
設定オプション説明
backlog
ソケットの設定を行うバックログ要求の数
tcp_keepidle
サーバーソケットごとに設定する TCP_KEEPIDLE の値 (秒単位)
ssl_ca_file
クライアントの接続を検証するのに使用する CA 証明書ファイル
ssl_cert_file
サーバーをセキュアに起動する際に使用する証明書ファイル
ssl_key_file
サーバーをセキュアに起動する際に使用する秘密鍵ファイル

6.3.6. Block Storage サービスのための RabbitMQ メッセージブローカーの設定

RabbitMQ はデフォルト (かつ推奨の) メッセージブローカーです。RabbitMQ メッセージングサービスは、rabbitmq-server パッケージにより提供されます。以下の手順で記載する全ステップは、Block Storage サービスをホストするサーバーに root ユーザーとしてログインして実行する必要があります。

手順6.5 Block Storage サービスが RabbitMQ メッセージブローカーを使用するための設定

  1. RPC バックエンドとして RabbitMQ を設定します。
    # openstack-config --set /etc/cinder/cinder.conf \
       DEFAULT rpc_backend cinder.openstack.common.rpc.impl_kombu
    Copy to Clipboard Toggle word wrap
  2. RabbitMQ のホスト名を設定します。
    # openstack-config --set /etc/cinder/cinder.conf \
       DEFAULT rabbit_host RABBITMQ_HOST
    Copy to Clipboard Toggle word wrap
    RABBITMQ_HOST は、メッセージブローカーの IP アドレスまたはホスト名に置き換えます。
  3. メッセージブローカーのポートを 5672 に設定します。
    # openstack-config --set /etc/cinder/cinder.conf \
       DEFAULT rabbit_port 5672
    Copy to Clipboard Toggle word wrap
  4. RabbitMQ の設定時に Block Storage サービス用に作成した RabbitMQ ユーザー名とパスワードを設定します。
    # openstack-config --set /etc/cinder/cinder.conf \
       DEFAULT rabbit_userid cinder
    Copy to Clipboard Toggle word wrap
    # openstack-config --set /etc/cinder/cinder.conf \
       DEFAULT rabbit_password CINDER_PASS
    Copy to Clipboard Toggle word wrap
    cinder および CINDER_PASS は、Block Storage サービス用に作成された RabbitMQ ユーザー名とパスワードに置き換えます。
  5. RabbitMQ の起動時に、cinder ユーザーに全リソースに対するパーミッションが付与されます。このアクセスは、特別に仮想ホスト / を介して行われます。Block Storage サービスがこの仮想ホストに接続されるように設定します。
    # openstack-config --set /etc/cinder/cinder.conf \
       DEFAULT rabbit_virtual_host /
    Copy to Clipboard Toggle word wrap

6.3.7. Block Storage サービスとメッセージブローカーとの間の SSL 通信の有効化

メッセージブローカーで SSL を有効化した場合は、Block Storage サービスも相応に設定する必要があります。以下の手順では、エクスポートしたクライアントの証明書とキーファイルが必要です。これらのファイルのエクスポートの方法に関する説明は、「クライアント用 SSL 証明書のエクスポート」を参照してください。
  1. メッセージブローカーとの SSL 通信を有効化します。
    # openstack-config --set /etc/cinder/cinder.conf \
     DEFAULT rabbit_use_ssl True
    # openstack-config --set /etc/cinder/cinder.conf \
     DEFAULT kombu_ssl_certfile /path/to/client.crt
    # openstack-config --set /etc/cinder/cinder.conf \
     DEFAULT kombu_ssl_keyfile /path/to/clientkeyfile.key
    Copy to Clipboard Toggle word wrap
    以下の値を置き換えてください。
    • /path/to/client.crt はエクスポートされたクライアント証明書の絶対パスに置き換えます。
    • /path/to/clientkeyfile.key はエクスポートされたキーファイルの絶対パスに置き換えます。
  2. 証明書がサードパーティーの認証局 (CA) によって署名されている場合には、次のコマンドを実行する必要もあります。
    # openstack-config --set /etc/cinder/cinder.conf \
     DEFAULT kombu_ssl_ca_certs /path/to/ca.crt
    Copy to Clipboard Toggle word wrap
    /path/to/ca.crt は、サードパーティー CA によって提供された CA ファイルの絶対パスに置き換えます (詳細は 「RabbitMQ メッセージブローカーでの SSL の有効化」 を参照)。

6.3.8. Block Storage データベースへのデータ投入

Block Storage データベース接続文字列を適切に設定した後には、Block Storage データベースにデータを投入します。

重要

この手順は、データベースの初期化とデータ投入のために 1 回のみ実行する必要があります。Block Storage サービスをホストするシステムの追加時には繰り返す必要はありません。

手順6.6 Block Storage サービスのデータベースへのデータ投入

  1. Block Storage サービスをホストするシステムにログインします。
  2. cinder ユーザーに切り替えます。
    # su cinder -s /bin/sh
    Copy to Clipboard Toggle word wrap
  3. /etc/cinder/cinder.conf で特定されているデータベースを初期化し、データを投入します。
    $ cinder-manage db sync
    Copy to Clipboard Toggle word wrap

6.3.9. Block Storage API サービスのスループットの増加

デフォルトでは、Block Storage API サービス (openstack-cinder-api) は 1 プロセスで実行されます。これにより、Block Storage サービスが常時処理可能な要求件数が制限されます。実稼働環境では、マシンのキャパシティーが許す限り多くのプロセスで openstack-cinder-api の実行を許可することによって、Block Storage API のスループットを増加させることをお勧めします。
Block Storage API サービスオプション osapi_volume_workers により、openstack-cinder-api 向けに起動する API サービスワーカーの数 (または OS プロセス数) を指定することができます。
このオプションを設定するには、openstack-cinder-api ホストで以下のコマンドを実行します。
# openstack-config --set /etc/cinder/cinder.conf \
   DEFAULT osapi_volume_workers CORES
Copy to Clipboard Toggle word wrap
CORES はマシン上の CPU コア/スレッド数に置き換えてください。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat