5.5. コマンドラインインターフェイスを使用した一方向ミラーリングの設定
この手順では、プライマリーストレージクラスターからセカンダリーストレージクラスターへのプールの一方向レプリケーションを設定します。
一方向レプリケーションを使用する場合は、複数のセカンダリーストレージクラスターにミラーリングできます。
このセクションの例には、プライマリーイメージでプライマリーストレージクラスターを site-a
として、そのイメージをレプリケートするセカンダリーストレージクラスターを site-b
として参照し、2 つのストレージクラスターを区別します。これらの例で使用されるプール名は data
と呼ばれます。
前提条件
- 少なくとも、正常に実行されている Red Hat Ceph Storage クラスター 2 台。
- 各ストレージクラスターの Ceph クライアントノードへの Root レベルのアクセス。
- 管理者レベル権限が割り当てられた CephX ユーザー。
- ジャーナルベースのミラーリングでは、プール内のイメージで排他的ロックとジャーナリングを有効にする必要があります。
手順
site-b
ストレージクラスターに接続されているクライアントノードにrbd-mirror
パッケージをインストールします。Red Hat Enterprise Linux 7
[root@rbd-client ~]# yum install rbd-mirror
Red Hat Enterprise Linux 8
[root@rbd-client ~]# dnf install rbd-mirror
注記パッケージは Red Hat Ceph Storage Tools リポジトリーによって提供されます。
イメージ上で排他的ロックおよびジャーナリング機能を有効にします。
新規イメージの場合は、
--image-feature
オプションを使用します。構文
rbd create IMAGE_NAME --size MEGABYTES --pool POOL_NAME --image-feature FEATURE [,FEATURE]
例
[root@rbd-client ~]# rbd create image1 --size 1024 --pool data --image-feature exclusive-lock,journaling
既存のイメージ の場合は、
rbd feature enable
コマンドを使用します。構文
rbd feature enable POOL_NAME/IMAGE_NAME FEATURE [,FEATURE]
例
[root@rbd-client ~]# rbd feature enable data/image1 exclusive-lock,journaling
デフォルトですべての新規イメージの排他的ロックおよびジャーナリングを有効にするには、以下の設定を Ceph 設定ファイルに追加します。
rbd_default_features = 125
ミラーリングモード (pool または image モード) を選択します。
重要スナップショットベースのミラーリングには、イメージモードを使用します。
プールモード の有効化:
構文
rbd mirror pool enable POOL_NAME MODE
例
[root@rbd-client ~]# rbd mirror pool enable data pool
この例では、
data
という名前のプール全体のミラーリングを有効にします。イメージモード の有効化:
構文
rbd mirror pool enable POOL_NAME MODE
例
[root@rbd-client ~]# rbd mirror pool enable data image
この例では、
data
という名前のプールでイメージモードのミラーリングを有効にします。ミラーリングが正常に有効になっていることを確認します。
構文
rbd mirror pool info POOL_NAME
例
[root@rbd-client ~]# rbd mirror pool info data Mode: image Site Name: 94cbd9ca-7f9a-441a-ad4b-52a33f9b7148 Peer Sites: none
site-a
クラスターで、以下の手順を実行します。Ceph クライアントノードで、ユーザーを作成します。
構文
ceph auth get-or-create client.PRIMARY_CLUSTER_NAME mon 'profile rbd-mirror' osd 'profile rbd' -o /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyring
例
[root@rbd-client-site-a ~]# ceph auth get-or-create client.rbd-mirror.site-a mon 'profile rbd-mirror' osd 'profile rbd' -o /etc/ceph/ceph.client.rbd-mirror.site-a.keyring
キーリングを
site-b
クラスターにコピーします。構文
scp /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyring root@SECONDARY_CLUSTER:_PATH_
例
[root@rbd-client-site-a ~]# scp /etc/ceph/ceph.client.rbd-mirror.site-a.keyring root@rbd-client-site-b:/etc/ceph/
Ceph クライアントノードで、ストレージクラスターのピアをブートストラップします。
ストレージクラスターのピアをプールに登録します。
構文
rbd mirror pool peer bootstrap create --site-name LOCAL_SITE_NAME POOL_NAME > PATH_TO_BOOTSTRAP_TOKEN
例
[root@rbd-client-site-a ~]# rbd mirror pool peer bootstrap create --site-name rbd-mirror.site-a data > /root/bootstrap_token_rbd-mirror.site-a
注記bootstrap コマンドの例では、
client.rbd-mirror-peer
Ceph ユーザーを作成します。ブートストラップトークンファイルを
site-b
ストレージクラスターにコピーします。構文
scp PATH_TO_BOOTSTRAP_TOKEN root@SECONDARY_CLUSTER:/root/
例
[root@rbd-client-site-a ~]# scp /root/bootstrap_token_site-a root@ceph-rbd2:/root/
site-b
クラスターで、以下の手順を実行します。クライアントノードで、ユーザーを作成します。
構文
ceph auth get-or-create client.SECONDARY_CLUSTER_NAME mon 'profile rbd-mirror' osd 'profile rbd' -o /etc/ceph/ceph.SECONDARY_CLUSTER_NAME.keyring
例
[root@rbd-client-site-b ~]# ceph auth get-or-create client.rbd-mirror.site-b mon 'profile rbd-mirror' osd 'profile rbd' -o /etc/ceph/ceph.client.rbd-mirror.site-b.keyring
キーリングを
site-a
クラスター (Ceph クライアントノード) にコピーします。構文
scp /etc/ceph/ceph.SECONDARY_CLUSTER_NAME.keyring root@PRIMARY_CLUSTER:_PATH_
例
[root@rbd-client-site-b ~]# scp /etc/ceph/ceph.client.rbd-mirror.site-b.keyring root@rbd-client-site-a:/etc/ceph/
ブートストラップトークンをインポートします。
構文
rbd mirror pool peer bootstrap import --site-name LOCAL_SITE_NAME --direction rx-only POOL_NAME PATH_TO_BOOTSTRAP_TOKEN
例
[root@rbd-client-site-b ~]# rbd mirror pool peer bootstrap import --site-name rbd-mirror.site-b --direction rx-only data /root/bootstrap_token_rbd-mirror.site-a
注記一方向 RBD ミラーリングでは、ピアのブートストラップ時に双方向のミラーリングがデフォルトであるため
--direction rx-only
引数を使用する必要があります。クライアントノードで
rbd-mirror
デーモンを有効にして起動します。構文
systemctl enable ceph-rbd-mirror.target systemctl enable ceph-rbd-mirror@rbd-mirror.CLIENT_ID systemctl start ceph-rbd-mirror@rbd-mirror.CLIENT_ID
CLIENT_ID
は、先ほど作成した Ceph ユーザーに置き換えます。例
[root@rbd-client-site-b ~]# systemctl enable ceph-rbd-mirror.target [root@rbd-client-site-b ~]# systemctl enable ceph-rbd-mirror@rbd-mirror.site-a [root@rbd-client-site-b ~]# systemctl start ceph-rbd-mirror@rbd-mirror.site-a
重要各
rbd-mirror
デーモンには一意のクライアント ID が必要です。ミラーリングのステータスを確認するには、
site-a
およびsite-b
クラスターの Ceph Monitor ノードから以下のコマンドを実行します。構文
rbd mirror image status POOL_NAME/IMAGE_NAME
例
ジャーナルベースのミラーリング
[root@mon-site-a ~]# rbd mirror image status data/image1 image1: global_id: 08027096-d267-47f8-b52e-59de1353a034 state: up+stopped 1 description: local image is primary last_update: 2021-04-22 13:45:31
スナップショットベースのミラーリング
[root@mon-site-a ~]# rbd mirror image status data/image1 image1: global_id: 47fd1aae-5f19-4193-a5df-562b5c644ea7 state: up+stopped 1 description: local image is primary service: admin on ceph-rbd1-vasi-43-5hwia4-node2 last_update: 2022-01-20 12:42:54 peer_sites: name: rbd-mirror.site-b state: up+replaying description: replaying, {"bytes_per_second":0.0,"bytes_per_snapshot":0.0,"local_snapshot_timestamp":1642693094,"remote_snapshot_timestamp":1642693094,"replay_state":"idle"} last_update: 2022-01-20 12:42:59 snapshots: 5 .mirror.primary.47fd1aae-5f19-4193-a5df-562b5c644ea7.dda146c6-5f21-4e75-ba93-660f6e57e301 (peer_uuids:[bfd09289-c9c9-40c8-b2d3-ead9b6a99a45])
例
ジャーナルベースのミラーリング
[root@mon-site-b ~]# rbd mirror image status data/image1 image1: global_id: 7d486c3f-d5a1-4bee-ae53-6c4f1e0c8eac state: up+replaying 1 description: replaying, master_position=[object_number=3, tag_tid=1, entry_tid=3], mirror_position=[object_number=3, tag_tid=1, entry_tid=3], entries_behind_master=0 last_update: 2021-04-22 14:19:27
スナップショットベースのミラーリング
[root@mon-site-b ~]# rbd mirror image status data/image1 image1: global_id: 06acc9e6-a63d-4aa1-bd0d-4f3a79b0ae33 state: up+replaying 1 description: replaying, {"bytes_per_second":0.0,"bytes_per_snapshot":0.0,"local_snapshot_timestamp":1642689843,"remote_snapshot_timestamp":1642689843,"replay_state":"idle"} service: admin on ceph-rbd2-vasi-43-5hwia4-node2 last_update: 2022-01-20 12:41:57
注記サイト間の接続によって、ミラーリングでイメージの同期に時間がかかる場合があります。
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイドの Ceph ブロックデバイスのミラーリング セクションを参照してください。
- Ceph ユーザーの詳細は、Red Hat Ceph Storage 管理ガイドの ユーザーの管理 セクションを参照してください。