6.2. コマンドラインインターフェイスを使用した一方向ミラーリングの設定
この手順では、プライマリーストレージクラスターからセカンダリーストレージクラスターへのプールの一方向レプリケーションを設定します。
一方向レプリケーションを使用する場合は、複数のセカンダリーストレージクラスターにミラーリングできます。
このセクションの例には、プライマリーイメージでプライマリーストレージクラスターを site-a
として、そのイメージをレプリケートするセカンダリーストレージクラスターを site-b
として参照し、2 つのストレージクラスターを区別します。これらの例で使用されるプール名は data
と呼ばれます。
前提条件
- 少なくとも、正常に実行されている Red Hat Ceph Storage クラスター 2 台。
- 各ストレージクラスターの Ceph クライアントノードへの Root レベルのアクセス。
- 管理者レベル権限が割り当てられた CephX ユーザー。
手順
両方のサイトで
cephadm
シェルにログインします。例
[root@site-a ~]# cephadm shell [root@site-b ~]# cephadm shell
site-b
で、セカンダリークラスターでミラーデーモンのデプロイメントをスケジュールします。構文
ceph orch apply rbd-mirror --placement=NODENAME
例
[ceph: root@site-b /]# ceph orch apply rbd-mirror --placement=host04
注記nodename
は、セカンダリークラスターでミラーリングを設定するホストです。site-a
のイメージのジャーナリング機能を有効にします。新規イメージの場合は、
--image-feature
オプションを使用します。構文
rbd create IMAGE_NAME --size MEGABYTES --pool POOL_NAME --image-feature FEATURE FEATURE
例
[ceph: root@site-a /]# rbd create image1 --size 1024 --pool data --image-feature exclusive-lock,journaling
注記exclusive-lock
がすでに有効にされている場合は、ジャーナリング
のみを引数として使用します。それ以外の場合は、以下のエラーが返されます。one or more requested features are already enabled (22) Invalid argument
既存のイメージ の場合は、
rbd feature enable
コマンドを使用します。構文
rbd feature enable POOL_NAME/IMAGE_NAME FEATURE, FEATURE
例
[ceph: root@site-a /]# rbd feature enable data/image1 exclusive-lock, journaling
デフォルトですべての新規イメージのジャーナリングを有効にするには、
ceph config set
コマンドを使用して設定パラメーターを設定します。例
[ceph: root@site-a /]# ceph config set global rbd_default_features 125 [ceph: root@site-a /]# ceph config show mon.host01 rbd_default_features
両方のストレージクラスターで、ミラーリングモード (pool または image モード) を選択します。
プールモード の有効化:
構文
rbd mirror pool enable POOL_NAME MODE
例
[ceph: root@site-a /]# rbd mirror pool enable data pool [ceph: root@site-b /]# rbd mirror pool enable data pool
この例では、
data
という名前のプール全体のミラーリングを有効にします。イメージモード の有効化:
構文
rbd mirror pool enable POOL_NAME MODE
例
[ceph: root@site-a /]# rbd mirror pool enable data image [ceph: root@site-b /]# rbd mirror pool enable data image
この例では、
data
という名前のプールでイメージモードのミラーリングを有効にします。注記プールの特定イメージのミラーリングを有効にするには、Red Hat Ceph Storage ブロックデバイスガイド の イメージミラーリングの有効化 セクションを参照してください。
両方のサイトでミラーリングが正常に有効になっていることを確認します。
構文
rbd mirror pool info POOL_NAME
例
[ceph: root@site-a /]# rbd mirror pool info data Mode: pool Site Name: c13d8065-b33d-4cb5-b35f-127a02768e7f Peer Sites: none [ceph: root@site-b /]# rbd mirror pool info data Mode: pool Site Name: a4c667e2-b635-47ad-b462-6faeeee78df7 Peer Sites: none
Ceph クライアントノードで、ストレージクラスターのピアをブートストラップします。
Ceph ユーザーアカウントを作成し、ストレージクラスターのピアをプールに登録します。
構文
rbd mirror pool peer bootstrap create --site-name PRIMARY_LOCAL_SITE_NAME POOL_NAME > PATH_TO_BOOTSTRAP_TOKEN
例
[ceph: root@rbd-client-site-a /]# rbd mirror pool peer bootstrap create --site-name site-a data > /root/bootstrap_token_site-a
注記以下の bootstrap コマンド例では、
client.rbd-mirror.site-a
およびclient.rbd-mirror-peer
Ceph ユーザーを作成します。-
ブートストラップトークンファイルを
site-b
ストレージクラスターにコピーします。 site-b
ストレージクラスターでブートストラップトークンをインポートします。構文
rbd mirror pool peer bootstrap import --site-name SECONDARY_LOCAL_SITE_NAME --direction rx-only POOL_NAME PATH_TO_BOOTSTRAP_TOKEN
例
[ceph: root@rbd-client-site-b /]# rbd mirror pool peer bootstrap import --site-name site-b --direction rx-only data /root/bootstrap_token_site-a
注記一方向 RBD ミラーリングでは、ピアのブートストラップ時に双方向のミラーリングがデフォルトであるため
--direction rx-only
引数を使用する必要があります。
ミラーリングのステータスを確認するには、プライマリーサイトおよびセカンダリーサイトの Ceph Monitor ノードから以下のコマンドを実行します。
構文
rbd mirror image status POOL_NAME/IMAGE_NAME
例
[ceph: root@mon-site-a /]# rbd mirror image status data/image1 image1: global_id: c13d8065-b33d-4cb5-b35f-127a02768e7f state: up+stopped description: remote image is non-primary service: host03.yuoosv on host03 last_update: 2021-10-06 09:13:58
ここでは
up
はrbd-mirror
デーモンが実行中で、stopped
は、このイメージが別のストレージクラスターからのレプリケーション先ではないことを意味します。これは、イメージがこのストレージクラスターのプライマリーであるためです。例
[ceph: root@mon-site-b /]# rbd mirror image status data/image1 image1: global_id: c13d8065-b33d-4cb5-b35f-127a02768e7f
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイド の Ceph ブロックデバイスのミラーリング セクションを参照してください。
- Ceph ユーザーの詳細は、Red Hat Ceph Storage 管理ガイド の ユーザー管理 セクションを参照してください。