第3章 OpenStack が Ceph を使用するように設定する手順
3.1. Cinder の設定
cinder-volume
ノードには、Ceph ブロックデバイスドライバー、ボリューム
プール、ユーザー、およびシークレットの UUID が Ceph ブロックデバイスと対話する必要があります。Cinder を設定するには、以下の手順を実行します。
Cinder 設定ファイルを開きます。
# vim /etc/cinder/cinder.conf
[DEFAULT]
セクションで、Cinder のバックエンドとして Ceph を有効にします。enabled_backends = ceph
Glance API のバージョンが 2 に設定されていることを確認します。複数の cinder バックエンドを
enabled_backends
に設定する場合には、glance_api_version = 2
設定は[DEFAULT]
セクションではなく、[ceph]
セクションになければなりません。glance_api_version = 2
-
cinder.conf
ファイルに[ceph]
セクションを作成します。以下のステップで[ceph]
セクションに Ceph 設定を追加します。 volume_driver
の設定を指定し、Ceph ブロックデバイスドライバーを使用するように設定します。以下に例を示します。volume_driver = cinder.volume.drivers.rbd.RBDDriver
クラスター名と Ceph の設定ファイルの場所を指定します。典型的なデプロイメントでは、
ceph
クラスターのクラスター名および Ceph 設定ファイルは/etc/ceph/ceph.conf
にあります。Ceph クラスター名がceph
でない場合には、クラスター名と設定ファイルパスを適切に指定します。以下に例を示します。rbd_cluster_name = us-west rbd_ceph_conf = /etc/ceph/us-west.conf
デフォルトでは、OSP は Ceph ボリュームを
rbd
プールに保存します。以前に作成したvolumes
プールを使用するには、rbd_pool
設定を指定し、volumes
プールを設定します。以下に例を示します。rbd_pool = volumes
OSP には、ボリュームのデフォルトのユーザー名やシークレットの UUID がありません。
rbd_user
を指定して、cinder
ユーザーに設定します。次にrbd_secret_uuid
設定を指定し、uuid-secret.txt
ファイルに保存されている生成された UUID に設定します。以下に例を示します。rbd_user = cinder rbd_secret_uuid = 4b5fd580-360c-4f8c-abb5-c83bb9a3f964
以下の設定を指定します。
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]
セクションと、その設定を削除することを検討してください。