6.9. RADOS
Ceph Manager または OSD がストレージクラスターにない場合に健常性警告のステータスが報告される
以前の Red Hat Ceph Storage リリースでは、ストレージクラスターに Ceph Manager または OSD がない場合でも、ストレージクラスターの健常性ステータスは HEALTH_OK
でした。今回のリリースにより、この健常性ステータスは変更され、ストレージクラスターが Ceph Manager で設定されていない場合や、すべての Ceph Manager がダウンした場合に健常性の警告が報告されるようになりました。Red Hat Ceph Storage は Ceph Manager に大きく依存して主要な機能を提供するため、Ceph Manager または OSD を使用せずに Ceph ストレージクラスターを実行することは推奨されません。
ceph config show
コマンドが正しい fsid
を表示します。
以前のリリースでは、ceph config show
コマンドは Ceph Monitor のデータベースに存在する設定キーのみを表示し、fsid
が NO_MON_UPDATE
設定値であるため、fsid
が正しく表示されませんでした。今回のリリースにより、ceph config show
コマンドに正しい fsid
値が表示されるようになりました。
RADOS の小規模なオブジェクトおよびファイルでは、必要以上に領域を使用しないようになりました。
Ceph Object Gateway および Ceph ファイルシステム (CephFS) は、小規模なオブジェクトおよびファイルを RADOS に個別のオブジェクトとして格納します。以前のバージョンでは、BlueStore のデフォルト最小割り当てサイズ (min_alloc_size
) (16 KB) より小さいオブジェクトは、必要以上に多くの領域を使用していました。これは、以前の BlueStore の min_alloc_size
のデフォルト値がソリッドステートデバイス (SSD) の場合は 16 KB であったために生じました。現在、SSD の min_alloc_size
のデフォルト値は 4 KB です。これにより、パフォーマンスに影響を及ぼさずに領域の使用が改善されます。
低速のオペレーションがクラスターログに記録されない
以前のバージョンでは、低速なオペレーションのログがクラスターログに記録されませんでした。osd
ログまたは mon
ログに記録されていても、予想されるレベルの詳細さではありませんでした。今回のリリースにより、低速なオペレーションがクラスターログに記録されるようになりました。これにより、ログのデバッグに役立ちます。
配置グループのマージ時にバックフィルが遅延しなくなりました。
以前のリリースでは、Red Hat Ceph Storage の配置グループのマージで、ソースおよびターゲットの配置グループの動作セットがマージ前に一致しない場合に、予想よりも長い時間がかかる可能性がありました。ミスマッチがあるときに行われるバックフィルは、失速しているように見えることがあります。Red Hat Ceph Storage 4.1z1 では、動作セットが一致する配置グループのみをマージするコードが更新されました。この変更により、マージは遅延せずに完了できます。
Ceph Monitors がメモリーターゲットを超えて拡張できる
メモリーターゲットの自動チューニングは Ceph Monitor のリーダーのみで、リーダーに続く Ceph Monitor では行われていませんでした。これにより、Ceph Monitor のフォロワーが設定されたメモリーターゲットを超過する可能性があり、メモリーが枯渇すると Ceph Monitor がクラッシュしていました。今回のリリースにより、自動チューニングプロセスが Ceph Monitor リーダーのメモリーターゲットを適用し、システムでメモリーが枯渇しなくなりました。
OSD が長時間停止した場合にディスク領域の使用量が増大しない
以前のバージョンでは、OSD が長時間ダウンすると、多数の osdmap が保存され、トリミングされていませんでした。これにより、ディスクが過剰に使用されていました。Red Hat Ceph Storage 4.1z1 では、OSD がダウンしているかどうかに関わらず osdmap がトリミングされており、ディスク容量を過剰に使用しているわけではありません。
smartctl
がゼロ以外のエラーコードで終了すると、健常性メトリックが適切に報告されます。
以前では、smartctl
を実行して正しい情報を報告した場合でも、smartctl
がゼロ以外のエラーコードで終了した場合、ceph device get-health-metrics
コマンドはメトリックの報告に失敗していました。この場合も JSON エラーが報告されました。Red Hat Ceph Storage 4.1z1 では、smartctl
自体が正しい情報を報告する限り、smartctl
がゼロ以外のエラーコードで終了した場合でも、ceph device get-health-metrics
コマンドはメトリックを報告します。
負の時間スパンによる Ceph モニターのクラッシュ
以前は、Ceph Monitors は、過去にさかのぼる単調な時計によってトリガーされるとクラッシュする可能性がありました。このクラッシュにより、負の単調な期間が発生し、Ceph Monitor へのアサーションをトリガーして、クラッシュを引き起こしました。Ceph Monitor コードは、このアサーションを許容するように更新され、負の値ではなく、ゼロ長の間隔として解釈されていました。その結果、このアサーションが行われたときに Ceph Monitor がクラッシュすることはありません。
ストレージクラスター上のメッセージのエンコードとデコードの改善
x86_64 や s390 などの異種アーキテクチャーを含む Red Hat Ceph Storage クラスターをデプロイすると、システムクラッシュが発生する可能性がありました。また、CephFS の特定のワークロードでは、s390x ノード上の Ceph Monitor が予期せずクラッシュする可能性がありました。このリリースでは、マーカー 1
を使用して entity_addrvec_t
が適切にデコードされ、中間整数変数型を使用してビッグエンディアンシステムで enum
型が適切にデコードされます。また、ビッグエンディアンシステムでの float
型のエンコードとデコードが修正されました。その結果、異種ストレージクラスターと s390x ノード上の Ceph Monitor がクラッシュしなくなりました。