10.3.6. バケットインデックスの動的リシャーディング
バケットをリシャーディングキューに追加することで、バケットインデックスを動的にリシャーディングできます。リシャーディングされる予定です。リシャードスレッドはバックグラウンドで実行され、スケジュールされたリシャーディングを一度に 1 つずつ実行します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Object Gateway が少なくとも 2 つのサイトにインストールされている。
手順
rgw_dynamic_reshardingパラメーターをtrueに設定します。例
[ceph: root@host01 /]# radosgw-admin period getオプション: 次のコマンドを使用して、Ceph 設定をカスタマイズします。
構文
ceph config set client.rgw OPTION VALUEExpand 表10.1 動的リシャーディングのための Ceph 設定オプション パラメーターオプション 説明 デフォルト値 rgw_reshard_num_logs再シャーディングログのシャードの数。
16rgw_reshard_bucket_lock_durationリシャーディング中にバケットをロックする期間 (秒)。
360rgw_dynamic_resharding動的リシャーディングを有効または無効にするブール値。
truergw_max_objs_per_shardシャードあたりのオブジェクトの最大数。
100000rgw_reshard_thread_interval再シャードスレッド処理のラウンド間の最大時間 (秒)。
600rgw_dynamic_resharding_may_reduceRed Hat Ceph Storage 8.1 以降でサポートされています。動的リシャーディング中にシャード削減を許可するには、
trueに設定します。動的リシャーディングの場合は、rgw_dynamic_reshardをtrueに設定して使用する必要があります。truergw_dynamic_resharding_reduction_waitRed Hat Ceph Storage 8.1 以降でサポートされています。削減対象のバケットを識別した後、削減を実行するまでの待機時間 (時間単位) を定義します。このオプションは、オブジェクト数の変動による継続的なリシャーディングを防ぐための保護メカニズムを提供します。
注意: 値が小さいと、オブジェクト数が頻繁に変動するバケットで、クラスターのパフォーマンスに影響を与える可能性があります。
120例
[ceph: root@host01 /]# ceph config set client.rgw rgw_reshard_num_logs 23リシャーディングキューにバケットを追加します。
構文
radosgw-admin reshard add --bucket BUCKET --num-shards NUMBER例
[ceph: root@host01 /]# radosgw-admin reshard add --bucket data --num-shards 10リシャーディングキューを一覧表示します。
例
[ceph: root@host01 /]# radosgw-admin reshard listバケットログの世代とシャードを確認します。
例
[ceph: root@host01 /]# radosgw-admin bucket layout --bucket data { "layout": { "resharding": "None", "current_index": { "gen": 1, "layout": { "type": "Normal", "normal": { "num_shards": 23, "hash_type": "Mod" } } }, "logs": [ { "gen": 0, "layout": { "type": "InIndex", "in_index": { "gen": 0, "layout": { "num_shards": 11, "hash_type": "Mod" } } } }, { "gen": 1, "layout": { "type": "InIndex", "in_index": { "gen": 1, "layout": { "num_shards": 23, "hash_type": "Mod" } } } } ] } }バケットの再シャーディングステータスを確認するには、以下のコマンドを実行します。
構文
radosgw-admin reshard status --bucket BUCKET例
[ceph: root@host01 /]# radosgw-admin reshard status --bucket dataリシャーディングキューのエントリーをすぐに処理します。
[ceph: root@host01 /]# radosgw-admin reshard process保留中のバケットのリシャーディングをキャンセルします:
警告保留中 の再シャード操作のみをキャンセルできます。継続中 の再シャード操作をキャンセルしないでください。
構文
radosgw-admin reshard cancel --bucket BUCKET例
[ceph: root@host01 /]# radosgw-admin reshard cancel --bucket data
検証
バケットの再シャーディングステータスを確認するには、以下のコマンドを実行します。
構文
radosgw-admin reshard status --bucket BUCKET例
[ceph: root@host01 /]# radosgw-admin reshard status --bucket data