4.6. RADOS

bluestore_cache_trim_max_skip_pinned10000 に設定すると、オブジェクトのメタデータのトリミングが可能になる

最も最近使用された (LRU) キャッシュは、オブジェクトのメタデータに使用されます。キャッシュのトリムは、最近アクセスしたオブジェクトから実行します。固定 (ピン止め) されたオブジェクトは削除が免除されます。つまり、これらは Bluestore で引き続き使用されます。

以前のバージョンでは、設定変数 bluestore_cache_trim_max_skip_pinned が、アクセスされた固定オブジェクトの数を制御していました。これにより、スクラブプロセスにより、オブジェクトが長時間固定されていました。LRU メタデータキャッシュの下部に固定されているオブジェクトの数が bluestore_cache_trim_max_skip_pinned よりも大きくなると、キャッシュのトリミングは完了しませんでした。

このリリースでは、bluestore_cache_trim_max_skip_pinned10000 に設定できるようになりました。これはメタデータキャッシュの数よりも大きくなります。これにより、トリミングが有効になり、メタデータのキャッシュサイズが構成設定に準拠します。

(BZ#1931504)

ストレージクラスターを Red Hat Ceph Storage 4 から 5 にアップグレードすると、HEALTH_WARN 状態で完了する

Red Hat Ceph Storage クラスターを以前のサポートされているバージョンから Red Hat Ceph Storage 5 にアップグレードすると、モニターがセキュアでない global_id の再要求を許可していると記載の HEALTH_WARN 状態のままアップグレードが完了します。これは、CVE のパッチ適用が原因で、詳細は CVE-2021-20288 を確認してください。

ヘルスに関する警告をオフにすることを推奨します。

  1. AUTH_INSECURE_GLOBAL_ID_RECLAIM の警告の ceph ヘルス詳細 の出力を確認して、更新されていないクライアントを特定します。
  2. すべてのクライアントを Red Hat Ceph Storage 5.0 リリースにアップグレードします。
  3. すべてのクライアントが即座にアップグレードされない場合は、正常性アラートを一時的にミュートします。

    構文

    ceph health mute AUTH_INSECURE_GLOBAL_ID_RECLAIM 1w  # 1 week
    ceph health mute AUTH_INSECURE_GLOBAL_ID_RECLAIM_ALLOWED 1w  # 1 week

  4. すべてのクライアントが更新され、AUTH_INSECURE_GLOBAL_ID_RECLAIM 警告がクライアントに表示されなくなったことを確認してから、auth_allow_insecure_global_id_reclaimfalse に設定します。

    構文

    ceph config set mon auth_allow_insecure_global_id_reclaim false

  5. AUTH_INSECURE_GLOBAL_ID_RECLAIM の警告が表示されているクライアントがないことを確認してください。

(BZ#1953494)

RocksDB のフラッシュと圧縮のトリガー条件が期待どおりに機能する

BlueStore は、デフォルトで 64K というデータを Blob と呼ばれるチャンクに編成します。書き込みが大きい場合は、64K blob の書き込みシーケンスに分割されます。

以前は、遅延サイズが blob サイズ以上の場合は、すべてのデータが遅延になり、「L」列ファミリーの下に置かれていました。通常、HDD 設定の場合は、値が bluestore_prefer_deferred_size_hdd パラメーターおよび bluestore_max_blob_size_hdd パラメーターの両方で 64K になります。これにより、「L」のコラムがより迅速に消費され、RocksDB フラッシュ数と圧縮が頻繁に行われるようになります。このシナリオのトリガー状態は、data size in blobminimum deferred size でした。

このリリースでは、遅延トリガー条件は、ディスク上のエクステントのサイズをチェックし、Blob はチェックしません。deferred_size よりも小さいエクステントは、遅延メカニズムに送られ、大きいエクステントはすぐにディスクに書き込まれます。トリガー条件は、data size in extent < minimum deferred size に変更されています。

小さな書き込みは「L」列の下に置かれ、この列の成長は遅く、余分な圧縮はありません。

bluestore_prefer_deferred_size パラメーターは、Blob サイズに干渉なしの遅延を制御します。「このサイズよりも小さい書き込み」の説明に従って機能します。

(BZ#1991677)

pg_num および pgp_num が大幅に増加しても、Ceph Managerがクラッシュしなくなる

以前のリリースでは、配置グループを調整するコードは pg_num パラメーターおよび pgp_num パラメーターへの大規模な増加を正しく処理せず、Ceph Manager がクラッシュする可能性のある整数のアンダーフローが発生していました。

今回のリリースにより、配置グループを調整するコードが修正されました。その結果、配置グループを大幅に増やしても、Ceph Managerがクラッシュすることはありません。

(BZ#2001152)