6.3. コマンドラインインターフェイスを使用した双方向ミラーリングの設定
この手順では、プライマリーストレージクラスターとセカンダリーストレージクラスターとの間に、プールの双方向レプリケーションを設定します。
双方向レプリケーションを使用する場合にミラーリングできるのは、2 つのストレージクラスター間だけです。
このセクションの例には、プライマリーイメージでプライマリーストレージクラスターを site-a として、そのイメージをレプリケートするセカンダリーストレージクラスターを site-b として参照し、2 つのストレージクラスターを区別します。これらの例で使用されるプール名は data と呼ばれます。
前提条件
- 少なくとも、正常に実行されている Red Hat Ceph Storage クラスター 2 台。
- 各ストレージクラスターの Ceph クライアントノードへの Root レベルのアクセス。
- 管理者レベル権限が割り当てられた CephX ユーザー。
手順
両方のサイトで
cephadmシェルにログインします。例
cephadm shell cephadm shell
[root@site-a ~]# cephadm shell [root@site-b ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow site-aプライマリークラスターで、以下のコマンドを実行します。例
[ceph: root@site-a /]# ceph orch apply rbd-mirror --placement=host01
[ceph: root@site-a /]# ceph orch apply rbd-mirror --placement=host01Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記nodenameは、ミラーリングを設定するホストです。site-bで、セカンダリークラスターでミラーデーモンのデプロイメントをスケジュールします。構文
ceph orch apply rbd-mirror --placement=NODENAME
ceph orch apply rbd-mirror --placement=NODENAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@site-b /]# ceph orch apply rbd-mirror --placement=host04
[ceph: root@site-b /]# ceph orch apply rbd-mirror --placement=host04Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記nodenameは、セカンダリークラスターでミラーリングを設定するホストです。site-aのイメージのジャーナリング機能を有効にします。新規イメージの場合は、
--image-featureオプションを使用します。構文
rbd create IMAGE_NAME --size MEGABYTES --pool POOL_NAME --image-feature FEATURE FEATURE
rbd create IMAGE_NAME --size MEGABYTES --pool POOL_NAME --image-feature FEATURE FEATURECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@site-a /]# rbd create image1 --size 1024 --pool data --image-feature exclusive-lock,journaling
[ceph: root@site-a /]# rbd create image1 --size 1024 --pool data --image-feature exclusive-lock,journalingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記exclusive-lockがすでに有効にされている場合は、ジャーナリングのみを引数として使用します。それ以外の場合は、以下のエラーが返されます。one or more requested features are already enabled (22) Invalid argument
one or more requested features are already enabled (22) Invalid argumentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 既存のイメージ の場合は、
rbd feature enableコマンドを使用します。構文
rbd feature enable POOL_NAME/IMAGE_NAME FEATURE, FEATURE
rbd feature enable POOL_NAME/IMAGE_NAME FEATURE, FEATURECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@site-a /]# rbd feature enable data/image1 exclusive-lock, journaling
[ceph: root@site-a /]# rbd feature enable data/image1 exclusive-lock, journalingCopy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトですべての新規イメージのジャーナリングを有効にするには、
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
[ceph: root@site-a /]# ceph config set global rbd_default_features 125 [ceph: root@site-a /]# ceph config show mon.host01 rbd_default_featuresCopy to Clipboard Copied! Toggle word wrap Toggle overflow
両方のストレージクラスターで、ミラーリングモード (pool または image モード) を選択します。
プールモード の有効化:
構文
rbd mirror pool enable POOL_NAME MODE
rbd mirror pool enable POOL_NAME MODECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@site-a /]# rbd mirror pool enable data pool [ceph: root@site-b /]# rbd mirror pool enable data pool
[ceph: root@site-a /]# rbd mirror pool enable data pool [ceph: root@site-b /]# rbd mirror pool enable data poolCopy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、
dataという名前のプール全体のミラーリングを有効にします。イメージモード の有効化:
構文
rbd mirror pool enable POOL_NAME MODE
rbd mirror pool enable POOL_NAME MODECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@site-a /]# rbd mirror pool enable data image [ceph: root@site-b /]# rbd mirror pool enable data image
[ceph: root@site-a /]# rbd mirror pool enable data image [ceph: root@site-b /]# rbd mirror pool enable data imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、
dataという名前のプールでイメージモードのミラーリングを有効にします。注記プール内の特定のイメージのミラーリングを有効にする方法の詳細は、Red Hat Ceph Storage ブロックデバイスガイド の イメージミラーリングの有効化 セクションを参照してください。
両方のサイトでミラーリングが正常に有効になっていることを確認します。
構文
rbd mirror pool info POOL_NAME
rbd mirror pool info POOL_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Ceph クライアントノードで、ストレージクラスターのピアをブートストラップします。
Ceph ユーザーアカウントを作成し、ストレージクラスターのピアをプールに登録します。
構文
rbd mirror pool peer bootstrap create --site-name PRIMARY_LOCAL_SITE_NAME POOL_NAME > PATH_TO_BOOTSTRAP_TOKEN
rbd mirror pool peer bootstrap create --site-name PRIMARY_LOCAL_SITE_NAME POOL_NAME > PATH_TO_BOOTSTRAP_TOKENCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@rbd-client-site-a /]# rbd mirror pool peer bootstrap create --site-name site-a data > /root/bootstrap_token_site-a
[ceph: root@rbd-client-site-a /]# rbd mirror pool peer bootstrap create --site-name site-a data > /root/bootstrap_token_site-aCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記以下の bootstrap コマンド例では、
client.rbd-mirror.site-aおよびclient.rbd-mirror-peerCeph ユーザーを作成します。-
ブートストラップトークンファイルを
site-bストレージクラスターにコピーします。 site-bストレージクラスターでブートストラップトークンをインポートします。構文
rbd mirror pool peer bootstrap import --site-name SECONDARY_LOCAL_SITE_NAME --direction rx-tx POOL_NAME PATH_TO_BOOTSTRAP_TOKEN
rbd mirror pool peer bootstrap import --site-name SECONDARY_LOCAL_SITE_NAME --direction rx-tx POOL_NAME PATH_TO_BOOTSTRAP_TOKENCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@rbd-client-site-b /]# rbd mirror pool peer bootstrap import --site-name site-b --direction rx-tx data /root/bootstrap_token_site-a
[ceph: root@rbd-client-site-b /]# rbd mirror pool peer bootstrap import --site-name site-b --direction rx-tx data /root/bootstrap_token_site-aCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ピアのブートストラップ時には双方向ミラーリングがデフォルトであるため、
--direction引数はオプションです。
ミラーリングのステータスを確認するには、プライマリーサイトおよびセカンダリーサイトの Ceph Monitor ノードから以下のコマンドを実行します。
構文
rbd mirror image status POOL_NAME/IMAGE_NAME
rbd mirror image status POOL_NAME/IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは
upはrbd-mirrorデーモンが実行中で、stoppedは、このイメージが別のストレージクラスターからのレプリケーション先ではないことを意味します。これは、イメージがこのストレージクラスターのプライマリーであるためです。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージが
up+replayingの場合には、ミラーリングが正常に機能します。ここではupはrbd-mirrorデーモンが実行中で、replayingは、このイメージが別のストレージクラスターからのレプリケーション先であることを意味します。注記サイト間の接続によって、ミラーリングでイメージの同期に時間がかかる場合があります。