3.14. Ceph Object Gateway のガベージコレクションの最適化
新規データオブジェクトがストレージクラスターに書き込まれると、Ceph Object Gateway はこれらの新規オブジェクトにすぐにストレージを割り当てます。ストレージクラスターのデータオブジェクトを削除または上書きした後に、Ceph Object Gateway はバケットインデックスからこれらのオブジェクトを削除します。その後しばらくして、Ceph Object Gateway は、ストレージクラスターにオブジェクトを格納するために使用されたスペースをパージします。ストレージクラスターから削除されたオブジェクトデータをパージするプロセスは、ガベージコレクションまたは GC として知られています。
通常、ガベージコレクションの操作はバックグラウンドで実行されます。これらの操作は、継続的に実行するように設定することも、アクティビティーが少なくワークロードが軽い期間でのみ実行するように設定することもできます。デフォルトでは、Ceph Object Gateway は GC 操作を継続的に実行します。GC 操作は Ceph Object Gateway 操作の通常の部分であるため、ガベージコレクションの対象となる削除済みオブジェクトはほとんどの場合存在します。
3.14.1. ガベージコレクションキューの表示
削除および上書きされたオブジェクトをストレージクラスターからパージする前に、radosgw-admin
を使用して、ガベージコレクションを待機しているオブジェクトを表示します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ceph Object Gateway へのルートレベルのアクセス。
手順
ガベージコレクションを待っているオブジェクトのキューを表示するには、以下を実行します。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@rgw ~] radosgw-admin gc list
[root@rgw ~] radosgw-admin gc list
有効期限が切れていないエントリーを含む、キュー内のすべてのエントリーを表示するには、--include-all
オプションを使用します。
3.14.2. 削除が多いワークロードのガベージコレクションの調整
一部のワークロードは、一時的または永続的にガベージコレクションのアクティビティーの回数を上回る場合があります。これは、多くのオブジェクトが短期間保存されてから削除される、削除の多いワークロードに特に当てはまります。これらのタイプのワークロードでは、他の操作と比較してガベージコレクション操作の優先度を上げることを検討してください。Ceph Object Gateway ガベージコレクションに関するその他の質問については、Red Hat サポートにお問い合わせください。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
手順
-
/etc/ceph/ceph.conf
を開いて編集します。 rgw_gc_max_concurrent_io
の値を 20 に設定し、rgw_gc_max_trim_chunk
の値を 64 に設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow rgw_gc_max_concurrent_io = 20 rgw_gc_max_trim_chunk = 64
rgw_gc_max_concurrent_io = 20 rgw_gc_max_trim_chunk = 64
- Ceph Object Gateway を再起動して、変更した設定が有効になるようにします。
- GC アクティビティー中にストレージクラスターを監視して、値の増加がパフォーマンスに悪影響を与えないことを確認します。
実行中のクラスターの rgw_gc_max_objs
オプションの値を変更しないでください。この値は、RGW ノードをデプロイする前にのみ変更する必要があります。
3.14.3. ガベージコレクションされたオブジェクト数の表示
パフォーマンスダンプで gc_retire_object
パラメーターを使用して、Ceph Object Gateway の再起動以降に収集されたオブジェクトのガベージ数を表示できます。
このカウンターを監視して、その Ceph Object Gateway の特定の時間枠でのオブジェクト数の差分 (例: 週、日、または時間ごとにガベージコレクションされるオブジェクトの平均数) を判断できます。これは、Ceph Object Gateway ごとにガベージコレクションが効率的に進行するかどうかを判断するために使用できます。
ソケットファイルは /var/run/ceph
ディレクトリーにあります。
前提条件
- Ceph Object Gateway がインストールされている実行中の Red Hat Ceph Storage クラスター。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
-
Ceph Monitor にインストールされている
ceph-common
パッケージ。
手順
gc_retire_object
カウンターにgrep
を使用して、パフォーマンスカウンターデータにアクセスします。構文
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph --admin-daemon PATH_TO_SOCKET_FILE perf dump | grep gc_retire_object
ceph --admin-daemon PATH_TO_SOCKET_FILE perf dump | grep gc_retire_object
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph --admin-daemon /var/run/ceph/ceph-client.rgw.f27-h25-000-6048r.rgw0.104.93991732704816.asok perf dump | grep gc_retire_object
[root@mon ~]# ceph --admin-daemon /var/run/ceph/ceph-client.rgw.f27-h25-000-6048r.rgw0.104.93991732704816.asok perf dump | grep gc_retire_object
関連情報
- 詳細は、Red Hat ナレッジベースの記事 Ceph RGW - GC Tuning Options を参照してください。
- 詳細は、Red Hat Ceph Storage Object Gateway 設定および管理ガイド の 一般設定 セクションを参照してください。
- 詳細は、Red Hat Ceph Storage Object Gateway 設定および管理ガイド の 設定リファレンス セクションを参照してください。
- 詳細は、Red Hat Ceph Storage 管理ガイド の Ceph Object Gateway メトリクス のセクションを参照してください。