9.3. バケットインデックスのリシャーディングを設定する
ストレージ管理者は、単一サイトおよびマルチサイトデプロイメントでバケットインデックスのリシャーディングを設定して、パフォーマンスを向上させることができます。
手動でオフラインで、または動的にオンラインで、バケットインデックスをリシャーディングできます。
9.3.1. バケットインデックスのリシャーディング リンクのコピーリンクがクリップボードにコピーされました!
Ceph Object Gateway は、デフォルトで .rgw.buckets.index パラメーターに設定されているインデックスプールにバケットインデックスデータを保存します。クライアントが、バケットあたりの最大オブジェクト数のクォータを設定せずに 1 つのバケットに多数のオブジェクトを配置すると、インデックスプールによってパフォーマンスが大幅に低下する可能性があります。
- バケットインデックスのリシャーディングは、バケットごとに多数のオブジェクトを追加する場合のパフォーマンスのボトルネックを防ぎます。
- 新しいバケットのバケットインデックスのリシャーディングを設定したり、既存のバケットのバケットインデックスを変更したりできます。
- 計算されたシャード数に最も近い素数としてシャード数を取得する必要があります。素数であるバケットインデックスシャードは、シャード間で均等に分散されたバケットインデックスエントリーでより適切に機能する傾向があります。
バケットインデックスは、手動または動的にリシャーディングできます。
バケットインデックスを動的にリシャーディングするプロセス中に、すべての Ceph Object Gateway バケットが定期的にチェックされ、リシャーディングが必要なバケットが検出されます。バケットが
rgw_max_objs_per_shardパラメーターで指定された値よりも大きい場合、Ceph Object Gateway はバックグラウンドでバケットを動的に再シャードします。rgw_max_objs_per_shardのデフォルト値は、シャードごとに 100k オブジェクトです。バケットインデックスのリシャーディングは、ゾーンまたはゾーングループを変更しなくても、アップグレードされた単一サイト設定で期待どおりに動的に機能します。シングルサイト設定は、以下のいずれかです。- レルムのないデフォルトのゾーン設定。
- レルムが 1 つ以上あるデフォルト以外の設定。
- 複数レルムのシングルサイト設定。
バージョン管理されたバケットでは、特にオブジェクトの小さなサブセットが書き込まれ、再書き込みされる場合、インデックスのバランスが崩れることがあります。この問題により、大量のオブジェクト (約 100 万個のオブジェクト) のアップロードが発生すると、バージョン管理されたバケットの omaps が大きくなる可能性があります。
9.3.2. バケットインデックスの回復 リンクのコピーリンクがクリップボードにコピーされました!
bucket_index_max_shards = 0 で作成されたバケットを再シャーディングすると、バケットのメタデータが削除されます。ただし、影響を受けたバケットを回復することにより、バケットインデックスを復元できます。
/usr/bin/rgw-restore-bucket-index ツールは、/tmp ディレクトリーに一時ファイルを作成します。これらの一時ファイルは、以前のバケットのバケットオブジェクト数に基づいてスペースを消費します。1000 万を超えるオブジェクトを含む以前のバケットでは、/tmp ディレクトリーに 4 GB を超える空き領域が必要です。/tmp のストレージ容量が不足すると、ツールは次のメッセージを表示して失敗します。
ln: failed to access '/tmp/rgwrbi-object-list.4053207': No such file or directory
ln: failed to access '/tmp/rgwrbi-object-list.4053207': No such file or directory
一時オブジェクトが削除されました。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Object Gateway が少なくとも 2 つのサイトにインストールされている。
-
jqパッケージがインストールされている。
手順
バケットインデックスのリカバリーを実行するには、次の 2 つの手順のいずれかを実行します。
-
radosgw-admin object reindex --bucket BUCKET_NAME --object OBJECT_NAMEコマンドを実行します。 スクリプト
/usr/bin/rgw-restore-bucket-index -b BUCKET_NAME -p DATA_POOL_NAMEを実行します。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
このツールは、バージョン管理されたバケットに対しては機能しません。
time rgw-restore-bucket-index --proceed serp-bu-ver-1 default.rgw.buckets.data
[root@host01 ~]# time rgw-restore-bucket-index --proceed serp-bu-ver-1 default.rgw.buckets.data NOTICE: This tool is currently considered EXPERIMENTAL. marker is e871fb65-b87f-4c16-a7c3-064b66feb1c4.25076.5 bucket_id is e871fb65-b87f-4c16-a7c3-064b66feb1c4.25076.5 Error: this bucket appears to be versioned, and this tool cannot work with versioned buckets.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ツールの範囲はシングルサイトのみに限定され、マルチサイトではありません。つまり、サイト 1 で
rgw-restore-bucket-indexツールを実行しても、サイト 2 のオブジェクトは復元されません。また、その逆も同様です。マルチサイトでは、回復ツールとオブジェクトの再インデックスコマンドはバケットの両方のサイトで実行する必要があります。
9.3.3. バケットインデックスのリシャーディングの制限 リンクのコピーリンクがクリップボードにコピーされました!
注意して、以下の制限を使用してください。お使いのハードウェアの選択には影響があるため、この要件を Red Hat アカウントチームと常に相談してください。
- リシャーディングが必要になる前の 1 つのバケット内のオブジェクトの最大数: バケットインデックスシャードごとに最大 102,400 個のオブジェクトを使用します。リシャーディングを最大限に活用して並列処理を最大化するには、Ceph Object Gateway バケットインデックスプールに十分な数の OSD を提供します。この並列化は、Ceph Object Gateway インスタンスの数に応じてスケーリングされ、順序が適切なインデックスシャードの列挙を数列に置き換えます。デフォルトのロックタイムアウトが 60 秒から 90 秒に延長されました。
- シャード化の使用時の最大オブジェクト数: 以前のテストに基づき、現在サポートされているバケットインデックスシャードの数は 65521 です。Red Hat の品質保証は、バケットシャーディングで完全なスケーラビリティーテストを実施していません。
- シャード化の使用時の最大オブジェクト数: 以前のテストに基づき、現在サポートされているバケットインデックスシャードの数は 65,521 です。
他のゾーンが追いつく前にバケットを 3 回再シャーディングできます。古い世代が同期されるまで、再シャーディングは推奨されません。以前の再シャーディングからの約 4 世代のバケットがサポートされます。制限に達すると、古いログ世代の少なくとも 1 つが完全にトリミングされるまで、動的再シャーディングはバケットを再度再シャーディングしません。コマンド
radosgw-admin bucket reshardを使用すると、以下のエラーが発生します。Bucket _BUCKET_NAME_ already has too many log generations (4) from previous reshards that peer zones haven't finished syncing. Resharding is not recommended until the old generations sync, but you can force a reshard with `--yes-i-really-mean-it`.
Bucket _BUCKET_NAME_ already has too many log generations (4) from previous reshards that peer zones haven't finished syncing. Resharding is not recommended until the old generations sync, but you can force a reshard with `--yes-i-really-mean-it`.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.4. シンプルなデプロイでのバケットインデックスのリシャーディングの設定 リンクのコピーリンクがクリップボードにコピーされました!
すべての新規バケットでバケットインデックスリシャードを有効にし、設定するには、rgw_override_bucket_index_max_shards パラメーターを使用します。
パラメーターは以下のいずれかの値に設定できます。
-
0を指定すると、バケットインデックスのシャーディングが無効になります。これがデフォルト値です。 -
0より大きい値を有効にすると、バケットシャード化が有効になり、シャードの最大数が設定されます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Object Gateway が少なくとも 2 つのサイトにインストールされている。
手順
推奨されるシャード数を計算します。
number of objects expected in a bucket / 100,000
number of objects expected in a bucket / 100,000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記現在サポートされているバケットインデックスシャードの最大数は 65,521 です。
rgw_override_bucket_index_max_shardsオプションを適宜設定します。構文
ceph config set client.rgw rgw_override_bucket_index_max_shards VALUE
ceph config set client.rgw rgw_override_bucket_index_max_shards VALUECopy to Clipboard Copied! Toggle word wrap Toggle overflow VALUE を、計算されたシャードの推奨数に置き換えます。
例
[ceph: root@host01 /]# ceph config set client.rgw rgw_override_bucket_index_max_shards 12
[ceph: root@host01 /]# ceph config set client.rgw rgw_override_bucket_index_max_shards 12Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Ceph Object Gateway のすべてのインスタンスに対してバケットインデックスのリシャーディングを設定するには、
rgw_override_bucket_index_max_shardsパラメーターをglobalオプションで設定します。 -
Ceph Object Gateway の特定のインスタンスに対してのみバケットインデックスのリシャーディングを設定するには、インスタンスの下に
rgw_override_bucket_index_max_shardsパラメーターを追加します。
-
Ceph Object Gateway のすべてのインスタンスに対してバケットインデックスのリシャーディングを設定するには、
クラスター内のすべてのノードで Ceph Object Gateways を再起動して、有効にします。
構文
ceph orch restart SERVICE_TYPE
ceph orch restart SERVICE_TYPECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root#host01 /]# ceph orch restart rgw
[ceph: root#host01 /]# ceph orch restart rgwCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.5. マルチサイトデプロイメントでのバケットインデックスのリシャーディングの設定 リンクのコピーリンクがクリップボードにコピーされました!
マルチサイトデプロイメントでは、フェイルオーバーを管理するために、ゾーンごとに異なる index_pool 設定を使用できます。1 つのゾーングループ内のゾーンに対して一貫したシャード数を設定するには、そのゾーングループの設定で bucket_index_max_shards パラメーターを設定します。bucket_index_max_shards パラメーターのデフォルト値は 11 です。
パラメーターは以下のいずれかの値に設定できます。
-
バケットインデックスシャード化を無効にする場合は
0。 -
0より大きい値を有効にすると、バケットシャード化が有効になり、シャードの最大数が設定されます。
SSD ベースの OSD の CRUSH ルールセットにインデックスプール (該当する場合は各ゾーン) をマッピングすることも、バケットインデックスのパフォーマンスに役立つ可能性があります。詳細は、パフォーマンスドメインの確立 セクションを参照してください。
マルチサイトデプロイメントで同期の問題を回避するには、バケットに 3 世代を超えるギャップがないようにする必要があります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Object Gateway が少なくとも 2 つのサイトにインストールされている。
手順
推奨されるシャード数を計算します。
number of objects expected in a bucket / 100,000
number of objects expected in a bucket / 100,000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記現在サポートされているバケットインデックスシャードの最大数は 65,521 です。
ゾーングループ設定を
zonegroup.jsonファイルにデプロイメントします。例
[ceph: root@host01 /]# radosgw-admin zonegroup get > zonegroup.json
[ceph: root@host01 /]# radosgw-admin zonegroup get > zonegroup.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow zonegroup.jsonファイルで、名前付きゾーンごとにbucket_index_max_shardsパラメーターを設定します。構文
bucket_index_max_shards = VALUE
bucket_index_max_shards = VALUECopy to Clipboard Copied! Toggle word wrap Toggle overflow VALUE を、計算されたシャードの推奨数に置き換えます。
例
bucket_index_max_shards = 12
bucket_index_max_shards = 12Copy to Clipboard Copied! Toggle word wrap Toggle overflow ゾーングループをリセットします。
例
[ceph: root@host01 /]# radosgw-admin zonegroup set < zonegroup.json
[ceph: root@host01 /]# radosgw-admin zonegroup set < zonegroup.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 期間を更新します。
例
[ceph: root@host01 /]# radosgw-admin period update --commit
[ceph: root@host01 /]# radosgw-admin period update --commitCopy to Clipboard Copied! Toggle word wrap Toggle overflow リシャーディングが完了したかどうかを確認します。
構文
radosgw-admin reshard status --bucket BUCKET_NAME
radosgw-admin reshard status --bucket BUCKET_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# radosgw-admin reshard status --bucket data
[ceph: root@host01 /]# radosgw-admin reshard status --bucket dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ストレージクラスターの同期ステータスを確認します。
例
[ceph: root@host01 /]# radosgw-admin sync status
[ceph: root@host01 /]# radosgw-admin sync statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.6. バケットインデックスの動的リシャーディング リンクのコピーリンクがクリップボードにコピーされました!
バケットをリシャーディングキューに追加することで、バケットインデックスを動的にリシャーディングできます。リシャーディングされる予定です。リシャードスレッドはバックグラウンドで実行され、スケジュールされたリシャーディングを一度に 1 つずつ実行します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Object Gateway が少なくとも 2 つのサイトにインストールされている。
手順
rgw_dynamic_reshardingパラメーターをtrueに設定します。例
[ceph: root@host01 /]# radosgw-admin period get
[ceph: root@host01 /]# radosgw-admin period getCopy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: 次のコマンドを使用して、Ceph 設定をカスタマイズします。
構文
ceph config set client.rgw OPTION VALUE
ceph config set client.rgw OPTION VALUECopy to Clipboard Copied! Toggle word wrap Toggle overflow OPTION を次のオプションに置き換えます。
-
rgw_reshard_num_logs: 再シャードログのシャードの数。デフォルト値は16です。 -
rgw_reshard_bucket_lock_duration: リシャード中にバケットのロックの期間。デフォルト値は360秒です。 -
rgw_dynamic_resharding: 動的リシャードを有効または無効にします。デフォルト値はtrueです。 -
rgw_max_objs_per_shard: シャードごとのオブジェクトの最大数。デフォルト値は、シャードごとに100000オブジェクトです。 -
rgw_reshard_thread_interval: 再シャード処理のラウンド間の最大時間。デフォルト値は600秒です。
例
[ceph: root@host01 /]# ceph config set client.rgw rgw_reshard_num_logs 23
[ceph: root@host01 /]# ceph config set client.rgw rgw_reshard_num_logs 23Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
リシャーディングキューにバケットを追加します。
構文
radosgw-admin reshard add --bucket BUCKET --num-shards NUMBER
radosgw-admin reshard add --bucket BUCKET --num-shards NUMBERCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# radosgw-admin reshard add --bucket data --num-shards 10
[ceph: root@host01 /]# radosgw-admin reshard add --bucket data --num-shards 10Copy to Clipboard Copied! Toggle word wrap Toggle overflow リシャーディングキューを一覧表示します。
例
[ceph: root@host01 /]# radosgw-admin reshard list
[ceph: root@host01 /]# radosgw-admin reshard listCopy to Clipboard Copied! Toggle word wrap Toggle overflow バケットログの世代とシャードを確認します。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow バケットの再シャーディングステータスを確認するには、以下のコマンドを実行します。
構文
radosgw-admin reshard status --bucket BUCKET
radosgw-admin reshard status --bucket BUCKETCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# radosgw-admin reshard status --bucket data
[ceph: root@host01 /]# radosgw-admin reshard status --bucket dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow リシャーディングキューのエントリーをすぐに処理します。
[ceph: root@host01 /]# radosgw-admin reshard process
[ceph: root@host01 /]# radosgw-admin reshard processCopy to Clipboard Copied! Toggle word wrap Toggle overflow 保留中のバケットのリシャーディングをキャンセルします:
警告保留中 の再シャード操作のみをキャンセルできます。継続中 の再シャード操作をキャンセルしないでください。
構文
radosgw-admin reshard cancel --bucket BUCKET
radosgw-admin reshard cancel --bucket BUCKETCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# radosgw-admin reshard cancel --bucket data
[ceph: root@host01 /]# radosgw-admin reshard cancel --bucket dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
バケットの再シャーディングステータスを確認するには、以下のコマンドを実行します。
構文
radosgw-admin reshard status --bucket BUCKET
radosgw-admin reshard status --bucket BUCKETCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# radosgw-admin reshard status --bucket data
[ceph: root@host01 /]# radosgw-admin reshard status --bucket dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.7. マルチサイト設定でバケットインデックスを動的にリシャーディングする リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage は、マルチサイト設定でのバケットインデックスの動的再シャーディングをサポートします。この機能により、オブジェクトのレプリケーションを中断せずに、マルチサイト設定でバケットを再シャーディングできます。rgw_dynamic_resharding を有効にすると、各ゾーンで個別に実行され、ゾーンで同じバケットに異なるシャード数が選択される可能性があります。
従う必要があるこれらの手順は、既存の Red Hat Ceph Storage クラスター 専用 です。ストレージクラスターのアップグレード後に、既存のゾーンおよびゾーングループで resharding 機能を手動で有効にする必要があります。
ゾーンとゾーングループは、デフォルトでサポートされ、有効になっています。
他のゾーンが追い付く前に、バケットを 3 回再シャーディングできます。詳細は、バケットインデックスのリシャーディングの制限 を参照してください。
バケットが作成され、動的にリシャーディングするためのオブジェクト数のしきい値を超えてアップロードされた場合、リシャーディングプロセスを開始するには、引き続き古いバケットに I/O を書き込む必要があります。
前提条件
- 両方のサイトの Red Hat Ceph Storage クラスターは、最新バージョンにアップグレードされている。
- 両方のサイトで有効になっているすべての Ceph Object Gateway デーモンは、最新バージョンにアップグレードされている。
- すべてのノードへの root レベルのアクセス。
手順
ゾーングループで
reshardingが有効になっているかどうかを確認します。例
[ceph: root@host01 /]# radosgw-admin sync status
[ceph: root@host01 /]# radosgw-admin sync statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow ゾーングループでの再シャーディング用に
zonegroup features enabledが有効化されていない場合は、手順を続行してください。Ceph Object Gateway がインストールされているマルチサイト設定のすべてのゾーングループで、
resharding機能を有効にします。構文
radosgw-admin zonegroup modify --rgw-zonegroup=ZONEGROUP_NAME --enable-feature=resharding
radosgw-admin zonegroup modify --rgw-zonegroup=ZONEGROUP_NAME --enable-feature=reshardingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# radosgw-admin zonegroup modify --rgw-zonegroup=us --enable-feature=resharding
[ceph: root@host01 /]# radosgw-admin zonegroup modify --rgw-zonegroup=us --enable-feature=reshardingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 期間を更新してコミットします。
例
[ceph: root@host01 /]# radosgw-admin period update --commit
[ceph: root@host01 /]# radosgw-admin period update --commitCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph Object Gateway がインストールされているマルチサイト設定のすべてのゾーンで、
resharding機能を有効にします。構文
radosgw-admin zone modify --rgw-zone=ZONE_NAME --enable-feature=resharding
radosgw-admin zone modify --rgw-zone=ZONE_NAME --enable-feature=reshardingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# radosgw-admin zone modify --rgw-zone=us-east --enable-feature=resharding
[ceph: root@host01 /]# radosgw-admin zone modify --rgw-zone=us-east --enable-feature=reshardingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 期間を更新してコミットします。
例
[ceph: root@host01 /]# radosgw-admin period update --commit
[ceph: root@host01 /]# radosgw-admin period update --commitCopy to Clipboard Copied! Toggle word wrap Toggle overflow ゾーンおよびゾーングループで、
resharding機能が有効化されていることを確認します。各ゾーンがsupported_featuresをリスト表示し、ゾーングループでenabled_featuresがリストされていることを確認できます。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 同期のステータスを確認します。
例
[ceph: root@host01 /]# radosgw-admin sync status realm 26cf6f23-c3a0-4d57-aae4-9b0010ee55cc (usa) zonegroup 33a17718-6c77-493e-99fe-048d3110a06e (us) zone 505b48db-6de0-45d5-8208-8c98f7b1278d (us_east) zonegroup features enabled: resharding[ceph: root@host01 /]# radosgw-admin sync status realm 26cf6f23-c3a0-4d57-aae4-9b0010ee55cc (usa) zonegroup 33a17718-6c77-493e-99fe-048d3110a06e (us) zone 505b48db-6de0-45d5-8208-8c98f7b1278d (us_east) zonegroup features enabled: reshardingCopy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、
resharding機能がusゾーングループに対して有効になっています。オプション: ゾーングループの
resharding機能を無効にすることができます。重要任意の単一ゾーンで再シャーディングを無効にするには、その特定のゾーンで
rgw_dynamic_resharding設定オプションをfalseに設定します。Ceph Object Gateway がインストールされているマルチサイトのすべてのゾーングループで、機能を無効にします。
構文
radosgw-admin zonegroup modify --rgw-zonegroup=ZONEGROUP_NAME --disable-feature=resharding
radosgw-admin zonegroup modify --rgw-zonegroup=ZONEGROUP_NAME --disable-feature=reshardingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# radosgw-admin zonegroup modify --rgw-zonegroup=us --disable-feature=resharding
[ceph: root@host01 /]# radosgw-admin zonegroup modify --rgw-zonegroup=us --disable-feature=reshardingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 期間を更新してコミットします。
例
[ceph: root@host01 /]# radosgw-admin period update --commit
[ceph: root@host01 /]# radosgw-admin period update --commitCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.8. バケットインデックスの手動リシャーディング リンクのコピーリンクがクリップボードにコピーされました!
バケットが最適化された初期設定よりも大きくなった場合は、radosgw-admin bucket reshard コマンドを使用してバケットインデックスプールをリシャーディングします。このコマンドは、次のタスクを実行します。
- 指定されたバケットのバケットインデックスオブジェクトの新しいセットを作成します。
- これらのバケットインデックスオブジェクトにオブジェクトエントリーを分散します。
- 新規バケットインスタンスを作成します。
- 新規インデックス操作すべてが新規バケットインデックスを通過するように、新しいバケットインスタンスをバケットとリンクします。
- 古いバケット ID および新しいバケット ID をコマンド出力に出力します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Object Gateway が少なくとも 2 つのサイトにインストールされている。
手順
元のバケットインデックスをバックアップします。
構文
radosgw-admin bi list --bucket=BUCKET > BUCKET.list.backup
radosgw-admin bi list --bucket=BUCKET > BUCKET.list.backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# radosgw-admin bi list --bucket=data > data.list.backup
[ceph: root@host01 /]# radosgw-admin bi list --bucket=data > data.list.backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow バケットインデックスを再シャード化します。
構文
radosgw-admin bucket reshard --bucket=BUCKET --num-shards=NUMBER
radosgw-admin bucket reshard --bucket=BUCKET --num-shards=NUMBERCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# radosgw-admin bucket reshard --bucket=data --num-shards=100
[ceph: root@host01 /]# radosgw-admin bucket reshard --bucket=data --num-shards=100Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
バケットの再シャーディングステータスを確認するには、以下のコマンドを実行します。
構文
radosgw-admin reshard status --bucket bucket
radosgw-admin reshard status --bucket bucketCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# radosgw-admin reshard status --bucket data
[ceph: root@host01 /]# radosgw-admin reshard status --bucket dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.9. リシャーディング後のバケットエントリーの古いインスタンスのクリーニング リンクのコピーリンクがクリップボードにコピーされました!
リシャーディングプロセスでは、バケットエントリーの古いインスタンスが自動的に消去されない場合があり、これらのインスタンスはストレージクラスターのパフォーマンスに影響を与える可能性があります。
古いインスタンスがストレージクラスターのパフォーマンスに悪影響を与えないように、手動でクリーンアップします。
古いインスタンスを消去する前に、Red Hat サポート にお問い合わせください。
この手順は、マルチサイトクラスターではなく、単純なデプロイメントでのみ使用してください。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Object Gateway がインストールされている。
手順
古いインスタンスをリスト表示します。
[ceph: root@host01 /]# radosgw-admin reshard stale-instances list
[ceph: root@host01 /]# radosgw-admin reshard stale-instances listCopy to Clipboard Copied! Toggle word wrap Toggle overflow バケットエントリーの古いインスタンスを消去します。
[ceph: root@host01 /]# radosgw-admin reshard stale-instances rm
[ceph: root@host01 /]# radosgw-admin reshard stale-instances rmCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
バケットの再シャーディングステータスを確認するには、以下のコマンドを実行します。
構文
radosgw-admin reshard status --bucket BUCKET
radosgw-admin reshard status --bucket BUCKETCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# radosgw-admin reshard status --bucket data
[ceph: root@host01 /]# radosgw-admin reshard status --bucket dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.3.10. 圧縮の有効化 リンクのコピーリンクがクリップボードにコピーされました!
Ceph Object Gateway は、Ceph の圧縮プラグインを使用してアップロードしたオブジェクトのサーバー側の圧縮をサポートします。これには、以下が含まれます。
-
zlib: サポート対象。 -
snappy: サポート対象。 -
zstd: サポート対象。
Configuration
ゾーンの配置ターゲットで圧縮を有効にするには、--compression=TYPE オプションを radosgw-admin zone placement modify コマンドに指定します。圧縮 TYPE は、新しいオブジェクトデータの書き込み時に使用する圧縮プラグインの名前を指します。
圧縮される各オブジェクトは圧縮タイプを保存します。設定を変更しても、既存の圧縮オブジェクトをデプロイメントします。また、Ceph Object Gateway は強制的に既存オブジェクトを再圧縮する訳ではありません。
この圧縮設定は、この配置ターゲットを使用してバケットにアップロードされるすべての新規オブジェクトに適用されます。
ゾーンの配置ターゲットで圧縮を無効にするには、--compression=TYPE オプションを radosgw-admin zone placement modify コマンドに指定して、空の文字列または none を指定します。
例
圧縮の有効化または無効化後に Ceph Object Gateway インスタンスを再起動して、変更を反映します。
Ceph Object Gateway は デフォルト ゾーンとプールのセットを作成します。実稼働デプロイメントの場合は、レルムの作成 セクションを最初に参照してください。
統計
既存のコマンドおよび API は、圧縮されていないデータに基づいてオブジェクトおよびバケットサイズを引き続き報告しますが、radosgw-admin bucket stats コマンドにはすべてのバケットの圧縮統計が含まれます。
radosgw-admin bucket stats コマンドの使用タイプは次のとおりです。
-
rgw.mainは、通常のエントリーまたはオブジェクトを指します。 -
rgw.multimetaは、不完全なマルチパートアップロードのメタデータを指します。 -
rgw.cloudtieredは、ライフサイクルポリシーによってクラウド層に移行されたオブジェクトを指します。restart_head_object=trueで設定すると、データを含まないヘッドオブジェクトが残されますが、それでも HeadObject リクエストを介してオブジェクトのメタデータを提供できます。これらのスタブヘッドオブジェクトは、rgw.cloudtieredカテゴリーを使用します。詳細は、Red Hat Ceph Storage オブジェクトゲートウェイガイド の Amazon S3 クラウドサービスへのデータの移行 セクションを参照してください。
構文
size は、バケット内の非圧縮および非暗号化のオブジェクトの累積サイズです。size_kb はキロバイト単位の累積サイズであり、ceiling(size/1024) として計算されます。この例では、ceiling(1075028/1024) = 1050 です。
size_actual は、各オブジェクトが 4096 バイトのブロックのセットに分散されてからの全オブジェクトの累積サイズです。バケットに 2 つのオブジェクト (1 つはサイズ 4100 バイト、もう 1 つは 8500 バイト) がある場合、最初のオブジェクトは 8192 バイトに切り上げられ、2 番目のオブジェクトは 12288 バイトに切り上げられ、バケットの合計は 20480 バイトになります。size_kb_actual はキロバイト単位の実際のサイズで、size_actual/1024 として計算されます。上記の例では、1331200/1024 = 1300 になります。
size_utilized は、圧縮または暗号化、もしくはその両方が行われた後のデータの合計サイズ (バイト単位) です。暗号化するとオブジェクトのサイズが増加する可能性がありますが、圧縮するとオブジェクトのサイズが減少する可能性があります。size_kb_utilized はキロバイト単位の合計サイズで、ceiling(size_utilized/1024) として計算されます。この例では、ceiling(592035/1024)= 579 です。