5.2. Ceph Storage ノードのディスクレイアウトのマッピング
コンテナー化された Ceph Storage をデプロイする場合には、ディスクレイアウトをマッピングし、Ceph OSD サービス用に専用のブロックデバイスを指定する必要があります。カスタム Ceph パラメーターを定義するために作成した環境ファイル( /home/stack/templates/ceph-config.yaml
)で、このマッピングを行うことができます。
parameter_defaults
で CephAnsibleDisksConfig
リソースを使用して、ディスクレイアウトをマッピングします。このリソースでは、以下の変数が使用されます。
変数 | 必須/オプション | デフォルト値 (未設定の場合) | 説明 |
---|---|---|---|
osd_scenario | 必須 | lvm
注記: Ceph 3.2 以降を使用する新しいデプロイメントでは、 |
Ceph 3.2 で Ceph 3.1 では、この値によりジャーナリングのシナリオ (OSD がジャーナルと共に作成されるかどうか) を設定します。シナリオは、以下のいずれかです。
・
・ |
devices | 必須 | なし。この変数には、何らかのデバイスを設定する必要があります。 | OSD 用にノードで使用されるブロックデバイスの一覧 |
dedicated_devices |
必須 (ただし | devices |
devices セクションの各エントリーを専用のジャーナル用ブロックデバイスにマッピングするための、ブロックデバイスの一覧。この変数は、 |
dmcrypt | オプション | false |
OSD に保管されるデータを暗号化する ( |
osd_objectstore | オプション | bluestore
注記: Ceph 3.2 以降を使用する新しいデプロイメントでは、 | Ceph の使用するストレージバックエンドを設定します。 |
バージョン 3.3 より前の ceph-ansible
で Ceph クラスターをデプロイし、osd_scenario
が collocated
または non-collocated
に設定されている場合、デバイスの命名の不一致により OSD の再起動が失敗する可能性があります。この失敗に関する詳細は、https://bugzilla.redhat.com/show_bug.cgi?id=1670734 を参照してください。回避策については、https://access.redhat.com/solutions/3702681 を参照してください。
5.2.1. Ceph 3.2 以降での BlueStore の使用
OpenStack Platform 13 の新しいデプロイメントでは、bluestore
を使用する必要があります。filestore
を使用する現在のデプロイメントでは、Ceph 3.1 以前での FileStore の使用 で説明されているように、引き続き filestore
を使用する必要があります。RHCS 3.x では、デフォルトでは filestore
から bluestore
への移行はサポートされません。
手順
Ceph OSD として使用するブロックデバイスを指定するには、以下のように設定します。
parameter_defaults: CephAnsibleDisksConfig: devices: - /dev/sdb - /dev/sdc - /dev/sdd - /dev/nvme0n1 osd_scenario: lvm osd_objectstore: bluestore
/dev/nvme0n1
は高パフォーマンスのデバイスクラスであるため(つまり SSD、他のデバイスは HDD)、例に示すパラメーターのデフォルトでは、/dev/sdb
、/dev/sdc
、および/dev/sdd
上で動作する 3 つの OSD が作成されます。この 3 つの OSD は、BlueStore WAL デバイスに/dev/nvme0n1
を使用します。ceph-volume ツールは、batch
サブコマンドを使用してこれを実行します。Ceph Storage ノードごとに同じ設定が複製され、ハードウェアが統一されていることを前提とします。BlueStore WAL データが OSD と同じディスクに存在する場合は、以下に示すようにパラメーターのデフォルトを変更します。parameter_defaults: CephAnsibleDisksConfig: devices: - /dev/sdb - /dev/sdc - /dev/sdd osd_scenario: lvm osd_objectstore: bluestore