6.3. マルチサイト Ceph Object Gateway の同期
マルチサイトの同期は、他のゾーンから変更ログを読み取ります。メタデータおよびデータログから同期の進捗の概要を取得するには、以下のコマンドを使用できます。
例:
[ceph: root@host01 /]# radosgw-admin sync status
このコマンドは、ソースゾーンの背後にあるログシャードがあれば、それをリスト表示します。
radosgw-admin sync status
コマンドを実行すると、シャードの回復が見られることがあります。データの同期の場合には、レプリケーションログのシャードが 128 個あり、それぞれ個別に処理されます。これらのレプリケーションログイベントによってトリガーされたアクションのいずれかがネットワーク、ストレージ、またはその他の場所から発生した場合、これらのエラーは追跡されるため、操作を後で再試行できます。特定のシャードに再試行が必要なエラーがある場合、radosgw-admin sync status
コマンドはそのシャードを 回復中
として報告します。この回復は自動的に行われるため、Operator が介入して問題を解決する必要はありません。
上記で実行した同期ステータスの結果がログシャードのレポートより遅れている場合は、shard-id を X に置き換えて次のコマンドを実行します。
構文
radosgw-admin data sync status --shard-id=X --source-zone=ZONE_NAME
例:
[ceph: root@host01 /]# radosgw-admin data sync status --shard-id=27 --source-zone=us-east { "shard_id": 27, "marker": { "status": "incremental-sync", "marker": "1_1534494893.816775_131867195.1", "next_step_marker": "", "total_entries": 1, "pos": 0, "timestamp": "0.000000" }, "pending_buckets": [], "recovering_buckets": [ "pro-registry:4ed07bb2-a80b-4c69-aa15-fdc17ae6f5f2.314303.1:26" ] }
出力には、次に同期されるバケットが表示され、あれば以前のエラーによりリトライされるバケットが表示されます。
X をバケット ID に置き換えて、次のコマンドを使用して個々のバケットのステータスを検査します。
構文
radosgw-admin bucket sync status --bucket=X.
X は、バケットの ID 番号に置き換えます。
その結果、ソースゾーンの背後にあるバケットインデックスログシャードが表示されます。
同期の一般的なエラーは EBUSY
です。これは同期がすでに進行中であることを意味します。多くの場合は別のゲートウェイで行われます。同期エラーログに書き込まれたエラーを読み取ります。これは以下のコマンドで読み取りできます。
radosgw-admin sync error list
同期プロセスは成功するまで再試行されます。介入が必要なエラーが発生することもあります。
6.3.1. マルチサイトの Ceph Object Gateway データ同期のパフォーマンスカウンター
Ceph Object Gateway のマルチサイト設定では、データの同期を測定するために以下のパフォーマンスカウンターが使用できます。
-
poll_latency
は、リモートレプリケーションログに対する要求のレイテンシーを測定します。 -
poll_errors
は、ポーリングリクエストからのエラーの数を測定します。 -
avgtime
は、ポーリングリクエストの平均レイテンシーです。 -
fetch_bytes
は、データ同期によってフェッチされるオブジェクト数およびバイト数を測定します。 -
fetch_errors
は、フェッチ要求からのエラーの数を測定します。 -
fetch_not_modified
は、同期がオブジェクトのフェッチを試行したが、すでに最新のコピーがあることが判明した回数を測定します。
パフォーマンスカウンターの現在のメトリックデータを表示するには、ceph --admin-daemon
コマンドを使用します。
構文
ceph --admin-daemon /var/run/ceph/ceph-client.rgw.RGW_ID.asok perf dump data-sync-from-ZONE_NAME
例:
[ceph: root@host01 /]# ceph --admin-daemon /var/run/ceph/ceph-client.rgw.host02-rgw0.103.94309060818504.asok perf dump data-sync-from-us-west { "data-sync-from-us-west": { "fetch bytes": { "avgcount": 54, "sum": 54526039885 }, "fetch not modified": 7, "fetch errors": 0, "poll latency": { "avgcount": 41, "sum": 2.533653367, "avgtime": 0.061796423 }, "poll errors": 0 } }
デーモンを実行するノードから ceph --admin-daemon
コマンドを実行する必要があります。
関連情報
- パフォーマンスカウンターの詳細はRed Hat Ceph Storage 管理ガイドの パフォーマンスカウンター の章を参照してください。