Menu Close

4.4.7. ガーベッジコレクションの設定を調整する

Ceph Object Gatewayは、新規および上書きされたオブジェクトのストレージを即座に割り当てます。また、マルチパートのアップロードでは、パートごとにストレージを消費します。

Ceph Object Gatewayは、バケットインデックスからオブジェクトを削除すると、削除されたオブジェクトに使用されているストレージスペースをパージします。同様に、Ceph Object Gatewayは、マルチパートのアップロードが完了した後、またはアップロードが構成可能な時間にわたって非アクティブになったり完了できなかったりした場合に、マルチパートのアップロードに関連するデータを削除します。削除されたオブジェクトデータをRed Hat Ceph Storageクラスターからパージするプロセスは、ガベージコレクション(GC)と呼ばれます。

ガベージコレクション待ちのオブジェクトを表示するには、次のコマンドを実行します。

radosgw-admin gc list

ガーベッジコレクションは、ストレージ管理者がCeph Object Gatewayをどのように設定するかによって、継続的に、または負荷が低いときに実行されるバックグラウンドアクティビティです。デフォルトでは、Ceph Object Gatewayはガベージコレクション操作を継続的に行います。ガベージコレクション操作はCeph Object Gatewayの通常の機能であるため、特にオブジェクトの削除操作では、ガベージコレクションの対象となるオブジェクトはほとんどの場合存在します。

一部のワークロードでは、一時的または恒久的にガベージコレクションのアクティビティの速度を上回ることがあります。これは、多くのオブジェクトが短期間保存された後に削除されるような、削除の多いワークロードでは特に顕著です。このようなタイプのワークロードに対して、ストレージ管理者は以下の設定パラメータを使用して、ガベージコレクション操作の優先度を他の操作と比較して高めることができます。

  • rgw_gc_obj_min_wait 設定オプションは、削除されたオブジェクトのデータをパージする前に待機する最小時間 (秒単位) です。初期値は2時間、つまり7200秒です。クライアントがそのオブジェクトを読んでいる可能性があるため、オブジェクトはすぐにはパージされません。削除が多いワークロードでは、この設定でストレージを消費しすぎたり、パージする削除オブジェクトの数が多くなったりすることがあります。Red Hat では、この値を 30 分 (1800 秒) 以下に設定しないことを推奨します。
  • rgw_gc_processor_period 設定オプションは、ガベージコレクションサイクルのランタイムです。つまり、ガベージコレクションスレッドの連続実行の開始間の時間です。ガベージコレクションの実行時間がこの期間よりも長い場合、Ceph Object Gatewayはガベージコレクションサイクルを再度実行するまでに待ちません。
  • rgw_gc_max_concurrent_io 設定オプションは、削除されたデータをパージする際にゲートウェイガベッジコレクションスレッドが使用する同時 IO 操作の最大数を指定します。削除が多いワークロードでは、この設定を増やして、より多くの同時IO操作を行うことを検討してください。
  • rgw_gc_max_trim_chunk 設定オプションは、単一の操作でガベージコレクターログから削除する鍵の最大数を指定します。削除が多い場合は、キーの最大数を増やして、各ガベージコレクション操作でより多くのオブジェクトがパージされるようにすることを検討してください。

Red Hat Ceph Storage 4.1以降では、ガベージコレクションログからインデックスオブジェクトのOMAPをオフロードすることで、ストレージクラスタでのガベージコレクションアクティビティによるパフォーマンスへの影響を軽減することができます。Ceph Object Gatewayには、ガベージコレクションキューを調整するための新しい設定パラメータが以下のように追加されました。

  • The rgw_gc_max_deferred_entries_size 設定オプションは、ガベージコレクションのキューに遅延エントリーの最大サイズを設定します。
  • rgw_gc_max_queue_size 設定オプションは、ガベッジコレクションに使用する最大キューサイズを設定します。この値は、osd_max_object_size から rgw_gc_max_deferred_entries_size を引いた値から 1KB を引いた値よりも大きくすることはできません。
  • rgw_gc_max_deferred 設定オプションは、ガベージコレクションキューに保存された遅延エントリーの最大数を設定します。
注記

これらのガベージコレクション設定パラメータは、Red Hat Ceph Storage 4以降のものです。

注記

テストでは、50% の削除操作と 50% の書き込み操作など、均等にバランスの取れた削除/書き込みワークロードを使用すると、ストレージクラスターは 11 時間で完全にいっぱいになります。これは、Ceph Object Gatewayのガベージコレクションが削除操作に追いついていないためです。この場合、クラスターのステータスは HEALTH_ERR 状態に切り替わります。並列ガベージコレクションの調整項目を積極的に設定することで、テストではストレージクラスタのフィルドの発生を大幅に遅らせることができ、多くのワークロードに有効である。一般的な実世界のストレージクラスターのワークロードでは、主にガベージコレクションが原因でストレージクラスターのフィルが発生することはありません。

管理者は、展開後の実行時にCephの構成設定を変更することもできます。詳細は、「実行時に特定構成の設定」を参照してください。