6.9. RADOS
Progress モジュールが無限に停止しなくなる
以前のバージョンでは、Ceph ステータスの進捗ベントが無限に続くことがありました。これは、Progress モジュールが PG の状態を早期にチェックし、OSDMap のエポックと同期していないことが原因でした。今回のリリースにより、進捗イベントが想定どおりにポップアップされるようになりました。
ProgressモジュールによるCeph Monitorのクラッシュ
バックフィルおよびリカバリ操作中に、progressモジュールが負の進行状況イベントを生成する可能性があります。大規模なストレージクラスタでは、ネガティブな進捗イベントが多すぎると、Ceph Monitorノードのメモリ割り当てが大きくなり、Ceph Monitorのカスケードクラッシュが発生します。このリリースでは、進捗イベントが負にならないようなコードになっています。その結果、progressモジュールがCeph Monitorsのクラッシュの原因になることはありません。
Ceph Monitor が転送された OSD 障害レポートを詳細に処理する
以前のバージョンでは、Ceph Monitor は低速な操作を管理者およびロギングシステムに誤って報告していました。今回のリリースにより、転送された OSD 障害レポートを Ceph Monitor が詳細に処理するようになったため、不正確で低速な操作がはるかに少なくなります。
モニターが osdmap を適切にトリミング
以前のバージョンでは、モニターが osdmap をトリミングする際に「in」と「out」の両方の OSD を考慮したため、「out」OSDによって使用されていた場合でも、古い osdmap をトリミングできませんでした。今回のリリースにより、「out」の OSD は考慮されず、osdsmap が適切にトリミングされるようになりました。
BlueStore および FileStore OSD が混合クラスターで同じ順序でオブジェクトを一覧表示
以前のバージョンでは、BlueStore および FileStore OSD の両方を持つクラスターでは、バックエンド内のソートメカニズムの不整合が原因で、ディープスクラブおよびバックフィルがオブジェクト不足を報告していました。今回の更新で、機能フラグ OSD_FIXED_COLLECTION_LIST
が追加され、BlueStore リストオブジェクトの collection_list
メソッドが FileStore と同じ順序で追加されるようになりました。
正しくないパーミッションでログファイルが作成される
以前のバージョンでは、コードの追加により、関連する関数が呼び出される順序が変更されました。これにより、一部のデーモンが正しくないパーミッションでログファイルを作成しました。今回のリリースにより、関数が正しい順序で呼び出され、デーモンは適切なパーミッションでログファイルを作成できるようになりました。
bluefs_buffered_io
を有効にするとパフォーマンスが低下する
以前のリリースでは、オプション bluefs_buffered_io
が無効になり、特定のシナリオで RocksDB および OMAP の対話が遅くなり、オプション bluefs_buffered_io
オプションが True
に設定され、これによりパフォーマンスが低下します。
onodes によるメモリの増加が制御されるようになる
以前のリリースでは、オプション bluestore_cache_trim_max_skip_pinned
のデフォルト値が 64 で、大規模なクラスターには非常に低いものでした。このオプションは、onodes のトリミング速度を制御し、現在のデフォルト値を使用しているため、onodes が蓄積してメモリーが増大する可能性があります。今回のリリースにより、bluestore_cache_trim_max_skip_pinned` のデフォルト値は 1000 で、メモリーの増加が制御されるようになりました。