6.4. Ceph ブロックデバイスのミラーリングの管理
ストレージ管理者は、Ceph ブロックデバイスのミラーリング環境の管理に役立つさまざまなタスクを実行できます。次のタスクを実行できます。
- ストレージクラスターピアの情報を表示する。
- ストレージクラスターピアを追加または削除する。
- プールまたはイメージのミラーリングステータスを取得する。
- プールまたはイメージでのミラーリングを有効化する。
- プールまたはイメージでのミラーリングを無効化する。
- ブロックデバイスのレプリケーションを遅延する。
- イメージをプロモートおよびデモートする。
前提条件
- 少なくとも、正常に実行されている Red Hat Ceph Storage クラスター 2 台。
- Ceph クライアントノードへの root レベルのアクセス。
- 一方向または双方向 Ceph ブロックデバイスのミラーリング関係。
- 管理者レベル権限が割り当てられた CephX ユーザー。
6.4.1. ピアに関する情報の表示 リンクのコピーリンクがクリップボードにコピーされました!
ストレージクラスターピアの情報を表示します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
ピアの情報を表示するには、以下を実行します。
構文
rbd mirror pool info POOL_NAME例
[root@rbd-client ~]# rbd mirror pool info data Mode: pool Site Name: a Peer Sites: UUID: 950ddadf-f995-47b7-9416-b9bb233f66e3 Name: b Mirror UUID: 4696cd9d-1466-4f98-a97a-3748b6b722b3 Direction: rx-tx Client: client.rbd-mirror-peer
6.4.2. プールでのミラーリングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
両方のピアクラスターで以下のコマンドを実行して、プールのミラーリングを有効にします。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
プールのミラーリングを有効にするには、以下を実行します。
構文
rbd mirror pool enable POOL_NAME MODE例
[root@rbd-client ~]# rbd mirror pool enable data poolこの例では、
dataという名前のプール全体のミラーリングを有効にします。例
[root@rbd-client ~]# rbd mirror pool enable data imageこの例では、
dataという名前のプールでイメージモードのミラーリングを有効にします。
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイド の Ceph ブロックデバイスのミラーリング セクションを参照してください。
6.4.3. プールでのミラーリングの無効化 リンクのコピーリンクがクリップボードにコピーされました!
ミラーリングを無効にする前に、ピアクラスターを削除します。
プールのミラーリングを無効にすると、ミラーリングを別に有効化していたプール内にあるイメージに対するミラーリングも無効化されます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
プールのミラーリングを無効にするには、以下を実行します。
構文
rbd mirror pool disable POOL_NAME例
[root@rbd-client ~]# rbd mirror pool disable dataこの例では、
dataという名前のプールのミラーリングを無効にします。
6.4.4. イメージミラーリングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
両方のピアストレージクラスターで、イメージモードのプール全体のミラーリングを有効にします。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
プール内の特定イメージのミラーリングを有効にします。
構文
rbd mirror image enable POOL_NAME/IMAGE_NAME例
[root@rbd-client ~]# rbd mirror image enable data/image2この例では、
dataプールのimage2イメージのミラーリングを有効にします。
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイド の プールでのミラーリングの有効化 セクションを参照してください。
6.4.5. イメージミラーリングの無効化 リンクのコピーリンクがクリップボードにコピーされました!
イメージの Ceph Block Device ミラーリングを無効にすることができます。
前提条件
- スナップショットベースのミラーリングが設定された実行中の Red Hat Ceph Storage クラスター。
- ノードへの root レベルのアクセス。
手順
特定のイメージのミラーリングを無効にするには、以下を実行します。
構文
rbd mirror image disable POOL_NAME/IMAGE_NAME例
[root@rbd-client ~]# rbd mirror image disable data/image2この例では、
dataプールのimage2イメージのミラーリングを無効にします。
6.4.6. イメージのプロモートおよびデモート リンクのコピーリンクがクリップボードにコピーされました!
プールのイメージをプロモートまたはデモートできます。
プロモート後にイメージは有効にならないので、プライマリー以外の同期中のイメージを強制的にプロモートしないでください。
前提条件
- スナップショットベースのミラーリングが設定された実行中の Red Hat Ceph Storage クラスター。
- ノードへの root レベルのアクセス。
手順
プライマリー以外にイメージをデモートするには、以下のコマンドを実行します。
構文
rbd mirror image demote POOL_NAME/IMAGE_NAME例
[root@rbd-client ~]# rbd mirror image demote data/image2この例では、
dataプールのimage2イメージをデモートします。イメージをプライマリーにプロモートするには、以下のコマンドを実行します。
構文
rbd mirror image promote POOL_NAME/IMAGE_NAME例
[root@rbd-client ~]# rbd mirror image promote data/image2この例では、
dataプールのimage2をプロモートします。使用しているミラーリングのタイプに応じて、一方向ミラーリングを使用した障害からの復旧 または 双方向ミラーリングを使用した障害からの復旧 を参照してください。
構文
rbd mirror image promote --force POOL_NAME/IMAGE_NAME例
[root@rbd-client ~]# rbd mirror image promote --force data/image2ピア Ceph Storage クラスターに伝播できない場合には、強制プロモートを使用します。伝播できない理由として、クラスターの障害や通信の停止などが挙げられます。
6.4.7. イメージの再同期 リンクのコピーリンクがクリップボードにコピーされました!
イメージを再同期して、一貫した状態を復元できます。ピアクラスター間で不整合な状態がある場合、rbd-mirror デーモンはイメージのミラーリングを試行しません。
再同期では、クラスターのプライマリーイメージの完全なコピーを使用してイメージが再作成されます。
再同期により、イメージの既存のミラースナップショットスケジュールが削除されます。
前提条件
- スナップショットベースのミラーリングが設定された実行中の Red Hat Ceph Storage クラスター。
- ノードへの root レベルのアクセス。
手順
プライマリーイメージに再同期を要求するには、以下を実行します。
構文
rbd mirror image resync POOL_NAME/IMAGE_NAME例
[root@rbd-client ~]# rbd mirror image resync data/image2この例では、
dataプールのimage2の再同期を要求します。
6.4.8. ストレージクラスターピアの追加 リンクのコピーリンクがクリップボードにコピーされました!
rbd-mirror デーモンのストレージクラスターピアを追加して、ピアストレージクラスターを検出します。たとえば、site-a ストレージクラスターをピアとして site-b ストレージクラスターに追加するには、site-b ストレージクラスターのクライアントノードから以下の手順を実行します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
ピアをプールに登録します。
構文
rbd --cluster CLUSTER_NAME mirror pool peer add POOL_NAME PEER_CLIENT_NAME@PEER_CLUSTER_NAME -n CLIENT_NAME例
[root@rbd-client ~]# rbd --cluster site-b mirror pool peer add data client.site-a@site-a -n client.site-b
6.4.9. ストレージクラスターピアの削除 リンクのコピーリンクがクリップボードにコピーされました!
ピア UUID を指定してストレージクラスターピアを削除します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
プール名とピア一意識別子 (UUID) を指定します。
構文
rbd mirror pool peer remove POOL_NAME PEER_UUID例
[root@rbd-client ~]# rbd mirror pool peer remove data 7e90b4ce-e36d-4f07-8cbc-42050896825dヒントピア UUID を表示するには、
rbd mirror pool infoコマンドを使用します。
6.4.10. プールのミラーリングステータスの取得 リンクのコピーリンクがクリップボードにコピーされました!
ストレージクラスターのプールのミラーステータスを取得できます。
前提条件
- スナップショットベースのミラーリングが設定された実行中の Red Hat Ceph Storage クラスター。
- ノードへの root レベルのアクセス。
手順
ミラーリングプールの概要を取得するには、以下を実行します。
構文
rbd mirror pool status POOL_NAME例
[root@site-a ~]# rbd mirror pool status data health: OK daemon health: OK image health: OK images: 1 total 1 replayingヒントプールのすべてのミラーリングイメージのステータス詳細を出力するには、
--verboseオプションを使用します。
6.4.11. 単一イメージのミラーリングステータスの取得 リンクのコピーリンクがクリップボードにコピーされました!
mirror image status コマンドを実行して、イメージのミラーステータスを取得できます。
前提条件
- スナップショットベースのミラーリングが設定された実行中の Red Hat Ceph Storage クラスター。
- ノードへの root レベルのアクセス。
手順
ミラーリングされたイメージのステータスを取得するには、以下を実行します。
構文
rbd mirror image status POOL_NAME/IMAGE_NAME例
[root@site-a ~]# rbd mirror image status data/image2 image2: global_id: 1e3422a2-433e-4316-9e43-1827f8dbe0ef state: up+unknown description: remote image is non-primary service: pluto008.yuoosv on pluto008 last_update: 2021-10-06 09:37:58この例では、
dataプールのimage2イメージのステータスを取得します。
6.4.12. ブロックデバイスレプリケーションの遅延 リンクのコピーリンクがクリップボードにコピーされました!
一方向レプリケーションを使用する場合でも、RADOS Block Device (RBD) ミラーリングイメージ間でレプリケーションを遅延させることができます。セカンダリーイメージにレプリケーションされる前に、プライマリーイメージへの不要な変更を元に戻せるように、猶予の期間が必要な場合には、遅延レプリケーションを実装することができます。
ブロックデバイスレプリケーションの遅延は、ジャーナルベースのミラーリングでのみ適用されます。
遅延レプリケーションを実装するには、宛先ストレージクラスター内の rbd-mirror デーモンで rbd_mirroring_replay_delay = MINIMUM_DELAY_IN_SECONDS 設定オプションを指定する必要があります。この設定は、rbd-mirror デーモンが使用する ceph.conf ファイル内でグローバルに適用することも、個別のイメージベースで適用することも可能です。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
特定のイメージで遅延レプリケーションを使用するには、プライマリーイメージで以下の
rbdCLI コマンドを実行します。構文
rbd image-meta set POOL_NAME/IMAGE_NAME conf_rbd_mirroring_replay_delay MINIMUM_DELAY_IN_SECONDS例
[root@rbd-client ~]# rbd image-meta set vms/vm-1 conf_rbd_mirroring_replay_delay 600この例では、
vmsプールのイメージvm-1に、最小レプリケーション遅延を 10 分に設定します。
6.4.13. ジャーナルベースのミラーリングからスナップショットベースのミラーリングへの変換 リンクのコピーリンクがクリップボードにコピーされました!
ミラーリングを無効にして、スナップショットを有効にすることで、ジャーナルベースのミラーリングから、スナップショットベースのミラーリングに変換できます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
Cephadm シェルにログインします。
例
[root@rbd-client ~]# cephadm shellプール内の特定イメージのミラーリングを無効にします。
構文
rbd mirror image disable POOL_NAME/IMAGE_NAME例
[ceph: root@rbd-client /]# rbd mirror image disable mirror_pool/mirror_image Mirroring disabledイメージのスナップショットベースのミラーリングを有効にします。
構文
rbd mirror image enable POOL_NAME/IMAGE_NAME snapshot例
[ceph: root@rbd-client /]# rbd mirror image enable mirror_pool/mirror_image snapshot Mirroring enabledこの例では、
mirror_poolプールのmirror_imageイメージのスナップショットベースのミラーリングを有効にします。
6.4.14. イメージのミラーリングスナップショットの作成 リンクのコピーリンクがクリップボードにコピーされました!
スナップショットベースのミラーリングの使用時に RBD イメージの変更をミラーリングする必要がある場合には、イメージのミラーリングスナップショットを作成します。
前提条件
- 少なくとも、正常に実行されている Red Hat Ceph Storage クラスター 2 台。
- Red Hat Ceph Storage クラスターの Ceph クライアントノードへの root レベルのアクセス。
- 管理者レベル権限が割り当てられた CephX ユーザー。
- スナップショットのミラーリングの作成先の Red Hat Ceph Storage クラスターへのアクセス。
デフォルトでは、最大 5 つのイメージのミラーリングスナップショットが保持されます。上限に達すると、最新のイメージのミラーリングスナップショットが自動的に削除されます。必要な場合は、rbd_mirroring_max_mirroring_snapshots 設定で制限を上書きできます。イメージのミラーリングスナップショットは、イメージが削除された場合、ミラーリングが無効になっている場合に自動的に削除されます。
手順
イメージのミラーリングスナップショットを作成するには、以下を実行します。
構文
rbd --cluster CLUSTER_NAME mirror image snapshot POOL_NAME/IMAGE_NAME例
[root@site-a ~]# rbd mirror image snapshot data/image1
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイド の Ceph ブロックデバイスのミラーリング セクションを参照してください。
6.4.15. ミラーリングスナップショットのスケジューリング リンクのコピーリンクがクリップボードにコピーされました!
ミラーリングスナップショットは、ミラーリングスナップショットのスケジュールが定義されると自動的に作成されます。ミラーリングスナップショットは、グローバルに、プールごとに、またはイメージレベルで、スケジュールできます。複数のミラーリングスナップショットのスケジュールはどのレベルでも定義できますが、個別のミラーリングイメージに一致する最も具体的なスナップショットスケジュールのみが実行されます。
6.4.15.1. ミラーリングスナップショットのスケジュールの作成 リンクのコピーリンクがクリップボードにコピーされました!
snapshot schedule コマンドを使用して、ミラースナップショットのスケジュールを作成できます。
前提条件
- 少なくとも、正常に実行されている Red Hat Ceph Storage クラスター 2 台。
- Red Hat Ceph Storage クラスターの Ceph クライアントノードへの root レベルのアクセス。
- 管理者レベル権限が割り当てられた CephX ユーザー。
- ミラーイメージをスケジュールする必要がある Red Hat Ceph Storage クラスターへのアクセス。
手順
ミラーリングスナップショットのスケジュールを作成するには、以下を実行します。
構文
rbd --cluster CLUSTER_NAME mirror snapshot schedule add --pool POOL_NAME --image IMAGE_NAME INTERVAL [START_TIME]CLUSTER_NAME は、クラスター名がデフォルト名
cephとは異なる場合にのみ使用してください。間隔は、d、h、または m の接尾辞を使用して、日、時間、または分単位で指定できます。オプションで ISO 8601 の時間形式を使用する START_TIME を指定できます。例
[root@site-a ~]# rbd mirror snapshot schedule add --pool data --image image1 6h例
[root@site-a ~]# rbd mirror snapshot schedule add --pool data --image image1 24h 14:00:00-05:00
6.4.15.2. 特定のレベルでの全スナップショットスケジュールのリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
特定のレベルで、すべてのスナップショットスケジュールをリスト表示できます。
前提条件
- 少なくとも、正常に実行されている Red Hat Ceph Storage クラスター 2 台。
- Red Hat Ceph Storage クラスターの Ceph クライアントノードへの root レベルのアクセス。
- 管理者レベル権限が割り当てられた CephX ユーザー。
- ミラーイメージをスケジュールする必要がある Red Hat Ceph Storage クラスターへのアクセス。
手順
プールまたはイメージ名を任意で指定して、グローバル、プール、またはイメージレベルごとにすべてのスナップショットスケジュールをリスト表示するには、以下を実行します。
構文
rbd --cluster site-a mirror snapshot schedule ls --pool POOL_NAME --recursiveまた、以下のように
--recursiveオプションを指定して、指定したレベルですべてのスケジュールをリスト表示することもできます。例
[root@rbd-client ~]# rbd mirror snapshot schedule ls --pool data --recursive POOL NAMESPACE IMAGE SCHEDULE data - - every 1d starting at 14:00:00-05:00 data - image1 every 6h
6.4.15.3. ミラーリングスナップショットのスケジュールの削除 リンクのコピーリンクがクリップボードにコピーされました!
snapshot schedule remove コマンドを使用して、ミラースナップショットのスケジュールを削除できます。
前提条件
- 少なくとも、正常に実行されている Red Hat Ceph Storage クラスター 2 台。
- Red Hat Ceph Storage クラスターの Ceph クライアントノードへの root レベルのアクセス。
- 管理者レベル権限が割り当てられた CephX ユーザー。
- ミラーイメージをスケジュールする必要がある Red Hat Ceph Storage クラスターへのアクセス。
手順
ミラーリングスナップショットのスケジュールを削除するには、以下を実行します。
構文
rbd --cluster CLUSTER_NAME mirror snapshot schedule remove --pool POOL_NAME --image IMAGE_NAME INTERVAL START_TIME間隔は、d、h、m の接尾辞を使用して、日、時間、または分単位で指定できます。オプションで ISO 8601 の時間形式を使用する START_TIME を指定できます。
例
[root@site-a ~]# rbd mirror snapshot schedule remove --pool data --image image1 6h例
[root@site-a ~]# rbd mirror snapshot schedule remove --pool data --image image1 24h 14:00:00-05:00
6.4.15.4. 次に作成するスナップショットのステータスの表示 リンクのコピーリンクがクリップボードにコピーされました!
スナップショットベースのミラーリング RBD イメージとして次に作成されるスナップショットのステータスを表示できます。
前提条件
- 少なくとも、正常に実行されている Red Hat Ceph Storage クラスター 2 台。
- Red Hat Ceph Storage クラスターの Ceph クライアントノードへの root レベルのアクセス。
- 管理者レベル権限が割り当てられた CephX ユーザー。
- ミラーイメージをスケジュールする必要がある Red Hat Ceph Storage クラスターへのアクセス。
手順
次の作成されるスナップショットの状態を表示するには、以下を実行します。
構文
rbd --cluster site-a mirror snapshot schedule status [--pool POOL_NAME] [--image IMAGE_NAME]例
[root@rbd-client ~]# rbd mirror snapshot schedule status SCHEDULE TIME IMAGE 2021-09-21 18:00:00 data/image1
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイド の Ceph ブロックデバイスのミラーリング セクションを参照してください。