Red Hat Training

A Red Hat training course is available for Red Hat Ceph Storage

第3章 OpenStack が Ceph を使用するように設定する手順

3.1. Cinder の設定

cinder-volume ノードには、Ceph ブロックデバイスドライバー、ボリューム プール、ユーザー、およびシークレットの UUID が Ceph ブロックデバイスと対話する必要があります。Cinder を設定するには、以下の手順を実行します。

  1. Cinder 設定ファイルを開きます。

    # vim /etc/cinder/cinder.conf
  2. [DEFAULT] セクションで、Cinder のバックエンドとして Ceph を有効にします。

    enabled_backends = ceph
  3. Glance API のバージョンが 2 に設定されていることを確認します。複数の cinder バックエンドを enabled_backends に設定する場合には、glance_api_version = 2 設定は [DEFAULT] セクションではなく、[ceph] セクションになければなりません。

    glance_api_version = 2
  4. cinder.conf ファイルに [ceph] セクションを作成します。以下のステップで [ceph] セクションに Ceph 設定を追加します。
  5. volume_driver の設定を指定し、Ceph ブロックデバイスドライバーを使用するように設定します。以下に例を示します。

    volume_driver = cinder.volume.drivers.rbd.RBDDriver
  6. クラスター名と Ceph の設定ファイルの場所を指定します。典型的なデプロイメントでは、ceph クラスターのクラスター名および Ceph 設定ファイルは /etc/ceph/ceph.conf にあります。Ceph クラスター名が ceph でない場合には、クラスター名と設定ファイルパスを適切に指定します。以下に例を示します。

    rbd_cluster_name = us-west
    rbd_ceph_conf = /etc/ceph/us-west.conf
  7. デフォルトでは、OSP は Ceph ボリュームを rbd プールに保存します。以前に作成した volumes プールを使用するには、rbd_pool 設定を指定し、volumes プールを設定します。以下に例を示します。

    rbd_pool = volumes
  8. OSP には、ボリュームのデフォルトのユーザー名やシークレットの UUID がありません。rbd_user を指定して、cinder ユーザーに設定します。次に rbd_secret_uuid 設定を指定し、uuid-secret.txt ファイルに保存されている生成された UUID に設定します。以下に例を示します。

    rbd_user = cinder
    rbd_secret_uuid = 4b5fd580-360c-4f8c-abb5-c83bb9a3f964
  9. 以下の設定を指定します。

    rbd_flatten_volume_from_snapshot = false
    rbd_max_clone_depth = 5
    rbd_store_chunk_size = 4
    rados_connect_timeout = -1

その結果、設定は以下のようになります。

[DEFAULT]
enabled_backends = ceph
glance_api_version = 2
...

[ceph]
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_cluster_name = ceph
rbd_pool = volumes
rbd_user = cinder
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_flatten_volume_from_snapshot = false
rbd_secret_uuid = 4b5fd580-360c-4f8c-abb5-c83bb9a3f964
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rados_connect_timeout = -1
注記

デフォルトの [lvm] セクションと、その設定を削除することを検討してください。