5.7. Ceph ブロックデバイスのミラーリングの管理
ストレージ管理者は、Ceph ブロックデバイスのミラーリング環境の管理に役立つさまざまなタスクを実行できます。次のタスクを実行できます。
- ストレージクラスターピアの情報を表示する。
- ストレージクラスターピアを追加または削除する。
- プールまたはイメージのミラーリングステータスを取得する。
- プールまたはイメージでのミラーリングを有効化する。
- プールまたはイメージでのミラーリングを無効化する。
- ブロックデバイスのレプリケーションを遅延する。
- イメージをプロモートおよびデモートする。
5.7.1. 前提条件
- 少なくとも、正常に実行されている Red Hat Ceph Storage クラスター 2 台。
- Ceph クライアントノードへの root レベルのアクセス。
- 一方向または双方向 Ceph ブロックデバイスのミラーリング関係。
5.7.2. ピアに関する情報の表示
ストレージクラスターピアの情報を表示します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
ピアの情報を表示するには、以下を実行します。
構文
rbd mirror pool info POOL_NAME
例
[root@rbd-client ~]# rbd mirror pool info data Mode: pool Site Name: site-a Peer Sites: UUID: 950ddadf-f995-47b7-9416-b9bb233f66e3 Name: site-b Mirror UUID: 4696cd9d-1466-4f98-a97a-3748b6b722b3 Direction: rx-tx Client: client.site-b
5.7.3. プールでのミラーリングの有効化
両方のピアクラスターで以下のコマンドを実行して、プールのミラーリングを有効にします。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
プールのミラーリングを有効にするには、以下を実行します。
構文
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 ブロックデバイスのミラーリング セクションを参照してください。
5.7.4. プールでのミラーリングの無効化
ミラーリングを無効にする前に、ピアクラスターを削除します。
プールのミラーリングを無効にすると、ミラーリングを別に有効化していたプール内にあるイメージに対するミラーリングも無効化されます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
プールのミラーリングを無効にするには、以下を実行します。
構文
rbd mirror pool disable POOL_NAME
例
[root@rbd-client ~]# rbd mirror pool disable data
この例では、
data
という名前のプールのミラーリングを無効にします。
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの イメージの一方向ミラーリングの設定 セクションを参照してください。
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの ストレージクラスターのピアの削除 セクションを参照してください。
5.7.5. イメージミラーリングの有効化
両方のピアストレージクラスターで、イメージモードのプール全体のミラーリングを有効にします。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
プール内の特定イメージのミラーリングを有効にします。
構文
rbd mirror image enable POOL_NAME/IMAGE_NAME
例
[root@rbd-client ~]# rbd mirror image enable data/image2
この例では、
data
プールのimage2
イメージのミラーリングを有効にします。
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの プールでのミラーリングの有効化 セクションを参照してください。
5.7.6. イメージミラーリングの無効化
イメージのミラーリングを無効にします。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
特定のイメージのミラーリングを無効にするには、以下を実行します。
構文
rbd mirror image disable POOL_NAME/IMAGE_NAME
例
[root@rbd-client ~]# rbd mirror image disable data/image2
この例では、
data
プールのimage2
イメージのミラーリングを無効にします。
5.7.7. イメージのプロモートおよびデモート
イメージをプロモートまたはデモートします。
プロモート後にイメージは有効にならないので、プライマリー以外の同期中のイメージを強制的にプロモートしないでください。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
プライマリー以外にイメージをデモートするには、以下のコマンドを実行します。
構文
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
をプロモートします。使用しているミラーリングのタイプに応じて、一方向ミラーリングを使用した障害からの復旧 または 双方向ミラーリングを使用した障害からの復旧 を参照してください。
--force
オプションを使用して、プライマリー以外のイメージを強制的にプロモートします。構文
rbd mirror image promote --force POOL_NAME/IMAGE_NAME
例
[root@rbd-client ~]# rbd mirror image promote --force data/image2
ピア Ceph Storage クラスターに伝播できない場合には、強制プロモートを使用します。伝播できない理由として、クラスターの障害や通信の停止などが挙げられます。
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイド の 正常でないシャットダウン後のフェイルオーバー セクションを参照してください。
5.7.8. イメージの再同期
イメージを再同期します。2 つのピアクラスターの間で整合性がない状態の場合に、rbd-mirror
デーモンは、不整合の原因となるイメージのミラーリングは試行しません。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
プライマリーイメージに再同期を要求するには、以下を実行します。
構文
rbd mirror image resync POOL_NAME/IMAGE_NAME
例
[root@rbd-client ~]# rbd mirror image resync data/image2
この例では、
data
プールのimage2
の再同期を要求します。
関連情報
- 災害が原因で一貫性のない状態から復元するには 一方向ミラーリングを使用した障害からの復旧 または 双方向ミラーリングを使用した障害からの復旧 を参照してください。
5.7.9. ストレージクラスターピアの追加
rbd-mirror
デーモンのストレージクラスターピアを追加して、ピアストレージクラスターを検出します。たとえば、site-a
ストレージクラスターをピアとして site-b
ストレージクラスターに追加するには、site-b
ストレージクラスターのクライアントノードから以下の手順を実行します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
ピアをプールに登録します。
構文
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
5.7.10. ストレージクラスターピアの削除
ピア UUID を指定してストレージクラスターピアを削除します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
プール名とピア一意識別子 (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
コマンドを使用します。
5.7.11. プールのミラーリングステータスの取得
プールのミラーステータスを取得します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
ミラーリングプールの概要を取得するには、以下を実行します。
構文
rbd mirror pool status POOL_NAME
例
[root@rbd-client ~]# rbd mirror pool status data health: OK images: 1 total
ヒントプールのすべてのミラーリングイメージのステータス詳細を出力するには、
--verbose
オプションを使用します。
5.7.12. 単一イメージのミラーリングステータスの取得
イメージのミラーリングステータスを取得します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
ミラーリングされたイメージのステータスを取得するには、以下を実行します。
構文
rbd mirror image status POOL_NAME/IMAGE_NAME
例
[root@rbd-client ~]# rbd mirror image status data/image2 image2: global_id: 703c4082-100d-44be-a54a-52e6052435a5 state: up+replaying description: replaying, master_position=[object_number=0, tag_tid=3, entry_tid=0], mirror_position=[object_number=0, tag_tid=3, entry_tid=0], entries_behind_master=0 last_update: 2019-04-23 13:39:15
この例では、
data
プールのimage2
イメージのステータスを取得します。
5.7.13. ブロックデバイスレプリケーションの遅延
一方向レプリケーションを使用する場合でも、RADOS Block Device (RBD) ミラーリングイメージ間でレプリケーションを遅延させることができます。セカンダリーイメージにレプリケーションされる前に、プライマリーイメージへの不要な変更を元に戻せるように、猶予の期間が必要な場合には、遅延レプリケーションを実装することができます。
遅延レプリケーションを実装するには、宛先ストレージクラスター内の rbd-mirror
デーモンで rbd_mirroring_replay_delay = MINIMUM_DELAY_IN_SECONDS
設定オプションを指定する必要があります。この設定は、rbd-mirror
デーモンが使用する ceph.conf
ファイル内でグローバルに適用することも、個別のイメージベースで適用することも可能です。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ノードへのルートレベルのアクセス。
手順
特定のイメージで遅延レプリケーションを使用するには、プライマリーイメージで以下の
rbd
CLI コマンドを実行します。構文
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 分に設定します。
5.7.14. 非同期更新および Ceph ブロックデバイスのミラーリング
非同期更新で Ceph ブロックデバイスのミラーリングを使用してストレージクラスターを更新する場合は、Red Hat Ceph Storage インストールガイド の更新手順に従います。更新が完了したら、Ceph ブロックデバイスインスタンスを再起動します。
規定されているインスタンスの再起動の順番はありません。Red Hat では、プライマリーイメージで、プールを参照するインスタンスを再起動して、その後にミラーリングされたプールを参照するインスタンスを再起動することを推奨します。
5.7.15. イメージのミラーリングスナップショットの作成
スナップショットベースのミラーリングの使用時に RBD イメージの変更をミラーリングする必要がある場合には、イメージのミラーリングスナップショットを作成します。
前提条件
- 少なくとも、正常に実行されている Red Hat Ceph Storage クラスター 2 台。
- Red Hat Ceph Storage クラスターの Ceph クライアントノードへの root レベルのアクセス。
- 管理者レベル権限が割り当てられた CephX ユーザー。
- スナップショットのミラーリングの作成先の Red Hat Ceph Storage クラスターへのアクセス。
デフォルトでは、イメージのミラーリングスナップショットはイメージごとに 3 つだけ作成できます。上限に達すると、最新のイメージのミラーリングスナップショットが自動的に削除されます。必要な場合は、rbd_mirroring_max_mirroring_snapshots
設定で制限を上書きできます。イメージのミラーリングスナップショットは、イメージが削除された場合、ミラーリングが無効になっている場合に自動的に削除されます。
手順
イメージのミラーリングスナップショットを作成するには、以下を実行します。
構文
rbd --cluster CLUSTER_NAME mirror image snapshot POOL_NAME/IMAGE_NAME
例
root@rbd-client ~]# rbd --cluster site-a mirror image snapshot data/image1
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの Ceph ブロックデバイスのミラーリング セクションを参照してください。
5.7.16. ミラーリングスナップショットのスケジューリング
ミラーリングスナップショットは、ミラーリングスナップショットのスケジュールが定義されると自動的に作成されます。ミラーリングスナップショットは、グローバルに、プールごとに、またはイメージレベルで、スケジュールできます。複数のミラーリングスナップショットのスケジュールはどのレベルでも定義できますが、個別のミラーリングイメージに一致する最も具体的なスナップショットスケジュールのみが実行されます。
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの Ceph ブロックデバイスのミラーリング セクションを参照してください。
5.7.17. ミラーリングスナップショットのスケジュールの作成
ミラーリングスナップショットのスケジュールを作成します。
前提条件
- 少なくとも、正常に実行されている Red Hat Ceph Storage クラスター 2 台。
- Red Hat Ceph Storage クラスターの Ceph クライアントノードへの root レベルのアクセス。
- 管理者レベル権限が割り当てられた CephX ユーザー。
- スナップショットのミラーリングの作成先の Red Hat Ceph Storage クラスターへのアクセス。
手順
ミラーリングスナップショットのスケジュールを作成するには、以下を実行します。
構文
rbd mirror snapshot schedule add --pool POOL_NAME --image IMAGE_NAME INTERVAL START_TIME
間隔は、d、h、または m の接尾辞を使用して、日、時間、または分単位で指定できます。オプションで ISO 8601 の時間形式を使用する START_TIME を指定できます。
例
イメージレベルでのスケジューリング:
[root@rbd-client ~]# rbd mirror snapshot schedule add --pool data --image image1 6h
プールレベルでのスケジューリング:
[root@rbd-client ~]# rbd mirror snapshot schedule add --pool data 24h 14:00:00-05:00
グローバルレベルでのスケジュール:
[root@rbd-client ~]# rbd mirror snapshot schedule add 48h
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの Ceph ブロックデバイスのミラーリング セクションを参照してください。
5.7.18. 特定のレベルでの全スナップショットスケジュールの一覧表示
特定のレベルで全スナップショットスケジュールを一覧表示します。
前提条件
- 少なくとも、正常に実行されている 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 --cluster site-a 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 ブロックデバイスのミラーリング セクションを参照してください。
5.7.19. ミラーリングスナップショットのスケジュールの削除
ミラーリングスナップショットのスケジュールを削除します。
前提条件
- 少なくとも、正常に実行されている 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_NAME/IMAGE_NAME INTERVAL START_TIME
間隔は、d、h、m の接尾辞を使用して、日、時間、または分単位で指定できます。オプションで ISO 8601 の時間形式を使用する START_TIME を指定できます。
例
[root@rbd-client ~]# rbd --cluster site-a mirror snapshot schedule remove data/image1 6h
例
[root@rbd-client ~]# rbd --cluster site-a mirror snapshot schedule remove data/image1 24h 14:00:00-05:00
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの Ceph ブロックデバイスのミラーリング セクションを参照してください。
5.7.20. 次に作成するスナップショットのステータスの表示
スナップショットベースのミラーリング 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_NAME/IMAGE_NAME
例
[root@rbd-client ~]# rbd --cluster site-a mirror snapshot schedule status SCHEDULE TIME IMAGE 2020-02-26 18:00:00 data/image1
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの Ceph ブロックデバイスのミラーリング セクションを参照してください。