6.5. Ceph ブロックデバイスのミラーリングの管理
ストレージ管理者は、Ceph ブロックデバイスのミラーリング環境の管理に役立つさまざまなタスクを実行できます。次のタスクを実行できます。
- ストレージクラスターピアの情報を表示する。
- ストレージクラスターピアを追加または削除する。
- プールまたはイメージのミラーリングステータスを取得する。
- プールまたはイメージでのミラーリングを有効化する。
- プールまたはイメージでのミラーリングを無効化する。
- ブロックデバイスのレプリケーションを遅延する。
- イメージをプロモートおよびデモートする。
6.5.1. 前提条件
- 少なくとも、正常に実行されている Red Hat Ceph Storage クラスター 2 台。
- Ceph クライアントノードへの root レベルのアクセス。
- 一方向または双方向 Ceph ブロックデバイスのミラーリング関係。
- 管理者レベル権限が割り当てられた CephX ユーザー。
6.5.2. ピアに関する情報の表示
ストレージクラスターピアの情報を表示します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
ピアの情報を表示するには、以下を実行します。
構文
rbd mirror pool info POOL_NAME
Copy to clipboardCopiedrbd mirror pool info POOL_NAME
例
rbd mirror pool info data
Copy to clipboardCopied[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.5.3. プールでのミラーリングの有効化
両方のピアクラスターで以下のコマンドを実行して、プールのミラーリングを有効にします。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
プールのミラーリングを有効にするには、以下を実行します。
構文
rbd mirror pool enable POOL_NAME MODE
Copy to clipboardCopiedrbd mirror pool enable POOL_NAME MODE
例
rbd mirror pool enable data pool
Copy to clipboardCopied[root@rbd-client ~]# rbd mirror pool enable data pool
この例では、
data
という名前のプール全体のミラーリングを有効にします。例
rbd mirror pool enable data image
Copy to clipboardCopied[root@rbd-client ~]# rbd mirror pool enable data image
この例では、
data
という名前のプールでイメージモードのミラーリングを有効にします。
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの Ceph ブロックデバイスのミラーリング セクションを参照してください。
6.5.4. プールでのミラーリングの無効化
ミラーリングを無効にする前に、ピアクラスターを削除します。
プールのミラーリングを無効にすると、ミラーリングを別に有効化していたプール内にあるイメージに対するミラーリングも無効化されます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
プールのミラーリングを無効にするには、以下を実行します。
構文
rbd mirror pool disable POOL_NAME
Copy to clipboardCopiedrbd mirror pool disable POOL_NAME
例
rbd mirror pool disable data
Copy to clipboardCopied[root@rbd-client ~]# rbd mirror pool disable data
この例では、
data
という名前のプールのミラーリングを無効にします。
6.5.5. イメージミラーリングの有効化
両方のピアストレージクラスターで、イメージモードのプール全体のミラーリングを有効にします。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
プール内の特定イメージのミラーリングを有効にします。
構文
rbd mirror image enable POOL_NAME/IMAGE_NAME
Copy to clipboardCopiedrbd mirror image enable POOL_NAME/IMAGE_NAME
例
rbd mirror image enable data/image2
Copy to clipboardCopied[root@rbd-client ~]# rbd mirror image enable data/image2
この例では、
data
プールのimage2
イメージのミラーリングを有効にします。
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの プールでのミラーリングの有効化 セクションを参照してください。
6.5.6. イメージミラーリングの無効化
イメージの Ceph Block Device ミラーリングを無効にすることができます。
前提条件
- スナップショットベースのミラーリングが設定された実行中の Red Hat Ceph Storage クラスター。
- ノードへの root レベルのアクセス。
手順
特定のイメージのミラーリングを無効にするには、以下を実行します。
構文
rbd mirror image disable POOL_NAME/IMAGE_NAME
Copy to clipboardCopiedrbd mirror image disable POOL_NAME/IMAGE_NAME
例
rbd mirror image disable data/image2
Copy to clipboardCopied[root@rbd-client ~]# rbd mirror image disable data/image2
この例では、
data
プールのimage2
イメージのミラーリングを無効にします。
関連情報
-
クライアントを
cephadm-ansible
インベントリーに追加する方法は、Red Hat Ceph Storage Installation Guideの Configuring Ansible inventory location セクションを参照してください。
6.5.7. イメージのプロモートおよびデモート
プールのイメージをプロモートまたはデモートできます。
プロモート後にイメージは有効にならないので、プライマリー以外の同期中のイメージを強制的にプロモートしないでください。
前提条件
- スナップショットベースのミラーリングが設定された実行中の Red Hat Ceph Storage クラスター。
- ノードへの root レベルのアクセス。
手順
プライマリー以外にイメージをデモートするには、以下のコマンドを実行します。
構文
rbd mirror image demote POOL_NAME/IMAGE_NAME
Copy to clipboardCopiedrbd mirror image demote POOL_NAME/IMAGE_NAME
例
rbd mirror image demote data/image2
Copy to clipboardCopied[root@rbd-client ~]# rbd mirror image demote data/image2
この例では、
data
プールのimage2
イメージをデモートします。イメージをプライマリーにプロモートするには、以下のコマンドを実行します。
構文
rbd mirror image promote POOL_NAME/IMAGE_NAME
Copy to clipboardCopiedrbd mirror image promote POOL_NAME/IMAGE_NAME
例
rbd mirror image promote data/image2
Copy to clipboardCopied[root@rbd-client ~]# rbd mirror image promote data/image2
この例では、
data
プールのimage2
をプロモートします。使用しているミラーリングのタイプに応じて、一方向ミラーリングを使用した障害からの復旧 または 双方向ミラーリングを使用した障害からの復旧 を参照してください。
構文
rbd mirror image promote --force POOL_NAME/IMAGE_NAME
Copy to clipboardCopiedrbd mirror image promote --force POOL_NAME/IMAGE_NAME
例
rbd mirror image promote --force data/image2
Copy to clipboardCopied[root@rbd-client ~]# rbd mirror image promote --force data/image2
ピア Ceph Storage クラスターに伝播できない場合には、強制プロモートを使用します。伝播できない理由として、クラスターの障害や通信の停止などが挙げられます。
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイド の 正常でないシャットダウン後のフェイルオーバー セクションを参照してください。
6.5.8. イメージの再同期
イメージを再同期できます。2 つのピアクラスターの間で整合性がない状態の場合に、rbd-mirror
デーモンは、不整合の原因となるイメージのミラーリングは試行しません。
前提条件
- スナップショットベースのミラーリングが設定された実行中の Red Hat Ceph Storage クラスター。
- ノードへの root レベルのアクセス。
手順
プライマリーイメージに再同期を要求するには、以下を実行します。
構文
rbd mirror image resync POOL_NAME/IMAGE_NAME
Copy to clipboardCopiedrbd mirror image resync POOL_NAME/IMAGE_NAME
例
rbd mirror image resync data/image2
Copy to clipboardCopied[root@rbd-client ~]# rbd mirror image resync data/image2
この例では、
data
プールのimage2
の再同期を要求します。
関連情報
- 災害が原因で一貫性のない状態から復元するには 一方向ミラーリングを使用した障害からの復旧 または 双方向ミラーリングを使用した障害からの復旧 を参照してください。
6.5.9. プールのミラーリングステータスの取得
ストレージクラスターのプールのミラーステータスを取得できます。
前提条件
- スナップショットベースのミラーリングが設定された実行中の Red Hat Ceph Storage クラスター。
- ノードへの root レベルのアクセス。
手順
ミラーリングプールの概要を取得するには、以下を実行します。
構文
rbd mirror pool status POOL_NAME
Copy to clipboardCopiedrbd mirror pool status POOL_NAME
例
rbd mirror pool status data
Copy to clipboardCopied[root@site-a ~]# rbd mirror pool status data health: OK daemon health: OK image health: OK images: 1 total 1 replaying
ヒントプールのすべてのミラーリングイメージのステータス詳細を出力するには、
--verbose
オプションを使用します。
6.5.10. 単一イメージのミラーリングステータスの取得
mirror image status
コマンドを実行して、イメージのミラーステータスを取得できます。
前提条件
- スナップショットベースのミラーリングが設定された実行中の Red Hat Ceph Storage クラスター。
- ノードへの root レベルのアクセス。
手順
ミラーリングされたイメージのステータスを取得するには、以下を実行します。
構文
rbd mirror image status POOL_NAME/IMAGE_NAME
Copy to clipboardCopiedrbd mirror image status POOL_NAME/IMAGE_NAME
例
rbd mirror image status data/image2
Copy to clipboardCopied[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.5.11. ブロックデバイスレプリケーションの遅延
一方向レプリケーションを使用する場合でも、RADOS Block Device (RBD) ミラーリングイメージ間でレプリケーションを遅延させることができます。セカンダリーイメージにレプリケーションされる前に、プライマリーイメージへの不要な変更を元に戻せるように、猶予の期間が必要な場合には、遅延レプリケーションを実装することができます。
遅延レプリケーションを実装するには、宛先ストレージクラスター内の rbd-mirror
デーモンで rbd_mirroring_replay_delay = MINIMUM_DELAY_IN_SECONDS
設定オプションを指定する必要があります。この設定は、rbd-mirror
デーモンが使用する ceph.conf
ファイル内でグローバルに適用することも、個別のイメージベースで適用することも可能です。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
特定のイメージで遅延レプリケーションを使用するには、プライマリーイメージで以下の
rbd
CLI コマンドを実行します。構文
rbd image-meta set POOL_NAME/IMAGE_NAME conf_rbd_mirroring_replay_delay MINIMUM_DELAY_IN_SECONDS
Copy to clipboardCopiedrbd image-meta set POOL_NAME/IMAGE_NAME conf_rbd_mirroring_replay_delay MINIMUM_DELAY_IN_SECONDS
例
rbd image-meta set vms/vm-1 conf_rbd_mirroring_replay_delay 600
Copy to clipboardCopied[root@rbd-client ~]# rbd image-meta set vms/vm-1 conf_rbd_mirroring_replay_delay 600
この例では、
vms
プールのイメージvm-1
に、最小レプリケーション遅延を 10 分に設定します。
6.5.12. ジャーナルベースのミラーリングからスナップショットベースのミラーリングへの変換
ミラーリングを無効にして、スナップショットを有効にすることで、ジャーナルベースのミラーリングから、スナップショットベースのミラーリングに変換できます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへの root レベルのアクセス。
手順
Cephadm シェルにログインします。
例
cephadm shell
Copy to clipboardCopied[root@rbd-client ~]# cephadm shell
プール内の特定イメージのミラーリングを無効にします。
構文
rbd mirror image disable POOL_NAME/IMAGE_NAME
Copy to clipboardCopiedrbd mirror image disable POOL_NAME/IMAGE_NAME
例
[ceph: root@rbd-client /]# rbd mirror image disable mirror_pool/mirror_image Mirroring disabled
Copy to clipboardCopied[ceph: root@rbd-client /]# rbd mirror image disable mirror_pool/mirror_image Mirroring disabled
イメージのスナップショットベースのミラーリングを有効にします。
構文
rbd mirror image enable POOL_NAME/IMAGE_NAME snapshot
Copy to clipboardCopiedrbd mirror image enable POOL_NAME/IMAGE_NAME snapshot
例
[ceph: root@rbd-client /]# rbd mirror image enable mirror_pool/mirror_image snapshot Mirroring enabled
Copy to clipboardCopied[ceph: root@rbd-client /]# rbd mirror image enable mirror_pool/mirror_image snapshot Mirroring enabled
この例では、
mirror_pool
プールのmirror_image
イメージのスナップショットベースのミラーリングを有効にします。
6.5.13. イメージのミラーリングスナップショットの作成
スナップショットベースのミラーリングの使用時に 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
Copy to clipboardCopiedrbd --cluster CLUSTER_NAME mirror image snapshot POOL_NAME/IMAGE_NAME
例
rbd mirror image snapshot data/image1
Copy to clipboardCopied[root@site-a ~]# rbd mirror image snapshot data/image1
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの Ceph ブロックデバイスのミラーリング セクションを参照してください。
6.5.14. ミラーリングスナップショットのスケジューリング
ミラーリングスナップショットは、ミラーリングスナップショットのスケジュールが定義されると自動的に作成されます。ミラーリングスナップショットは、グローバルに、プールごとに、またはイメージレベルで、スケジュールできます。複数のミラーリングスナップショットのスケジュールはどのレベルでも定義できますが、個別のミラーリングイメージに一致する最も具体的なスナップショットスケジュールのみが実行されます。
6.5.14.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]
Copy to clipboardCopiedrbd --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 を指定できます。例
イメージレベルでのスケジューリング:
rbd mirror snapshot schedule add --pool data --image image1 6h
Copy to clipboardCopied[root@site-a ~]# rbd mirror snapshot schedule add --pool data --image image1 6h
プールレベルでのスケジューリング:
rbd mirror snapshot schedule add --pool data 24h 14:00:00-05:00
Copy to clipboardCopied[root@site-a ~]# rbd mirror snapshot schedule add --pool data 24h 14:00:00-05:00
グローバルレベルでのスケジュール:
rbd mirror snapshot schedule add 48h
Copy to clipboardCopied[root@site-a ~]# rbd mirror snapshot schedule add 48h
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの Ceph ブロックデバイスのミラーリング セクションを参照してください。
6.5.14.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
Copy to clipboardCopiedrbd --cluster site-a mirror snapshot schedule ls --pool POOL_NAME --recursive
また、以下のように
--recursive
オプションを指定して、指定したレベルですべてのスケジュールをリスト表示することもできます。例
rbd mirror snapshot schedule ls --pool data --recursive
Copy to clipboardCopied[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
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの Ceph ブロックデバイスのミラーリング セクションを参照してください。
6.5.14.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
Copy to clipboardCopiedrbd --cluster CLUSTER_NAME mirror snapshot schedule remove --pool POOL_NAME --image IMAGE_NAME INTERVAL START_TIME
間隔は、d、h、m の接尾辞を使用して、日、時間、または分単位で指定できます。オプションで ISO 8601 の時間形式を使用する START_TIME を指定できます。
例
rbd mirror snapshot schedule remove --pool data --image image1 6h
Copy to clipboardCopied[root@site-a ~]# rbd mirror snapshot schedule remove --pool data --image image1 6h
例
rbd mirror snapshot schedule remove --pool data --image image1 24h 14:00:00-05:00
Copy to clipboardCopied[root@site-a ~]# rbd mirror snapshot schedule remove --pool data --image image1 24h 14:00:00-05:00
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの Ceph ブロックデバイスのミラーリング セクションを参照してください。
6.5.14.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]
Copy to clipboardCopiedrbd --cluster site-a mirror snapshot schedule status [--pool POOL_NAME] [--image IMAGE_NAME]
例
rbd mirror snapshot schedule status
Copy to clipboardCopied[root@rbd-client ~]# rbd mirror snapshot schedule status SCHEDULE TIME IMAGE 2021-09-21 18:00:00 data/image1
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの Ceph ブロックデバイスのミラーリング セクションを参照してください。