6.7. Red Hat Ceph Storage 6.1z1
Red Hat Ceph Storage リリース 6.1z1 が利用可能になりました。この更新に含まれるバグ修正は、RHBA-2023:4473 アドバイザリーにリストされています。
6.7.1. 機能拡張
6.7.1.1. Ceph ファイルシステム
アンフェア (unfair) な Mutex ロックをフェア (fair) な Mutex に切り替える
以前は、Mutex の実装 (たとえば、C++ の std::mutex
) はフェアネスを保証せず、lock()
と呼ばれる順序でスレッドによってロックが取得されることを保証していませんでした。ほとんどの場合、これはうまく機能しましたが、過負荷の場合、クライアント要求処理スレッドと submit スレッドが長時間にわたって常に submit_mutex を正常に取得し、MDLog::trim()
がスタックする原因となります。つまり、MDS デーモンはジャーナルログをメタデータプールに書き込みますが、期限切れのセグメントを時間内にトリミングできませんでした。
この機能強化により、アンフェアな Mutex ロックがフェアな Mutex に切り替えられ、すべての submit_mutex ウェイターが FIFO モードで 1 つずつウェイクアップされます。
6.7.1.2. Ceph Object Gateway
バケットリスト機能を使用すると、rgw-restore-bucket-index ツールでインデックスの再作成を完了できます。
以前は、rgw-restore-bucket-index ツールは、次のユーザーがバケットをリストするまで、バケットのインデックスを部分的に復元していました。このため、インデックスの再作成が完了するまで、バケットの統計が正しく報告されませんでした。
この機能強化により、バケットリスト機能が追加され、ツールによるインデックス再作成が完了し、バケット統計が正しくレポートされるようになりました。さらに、エンドユーザーに影響を与えない小さな変更がビルドプロセスに追加されます。
メタデータが変更されたオブジェクトのライフサイクル移行が失敗しなくなりました
以前は、既存のオブジェクトに ACL を設定すると、そのようなオブジェクトのライフサイクル遷移が失敗したため、その mtime
が変更されました。
この修正により、コピー操作でない限り、ACL やその他の属性の設定など、オブジェクトのメタデータのみを変更する間、オブジェクトの mtime
は変更されません。
ブロックサイズが 4K に変更されます。
以前のリリースでは、GC キューを消費する 1K ブロックサイズの使用により、Ceph Object Gateway の GC 処理に過度の時間がかかりました。これにより、大規模な GC キューの処理が遅くなります。
今回の修正により、ブロックサイズが 4K に変更され、大規模な GC キューの処理が高速化されました。
スナップショットのオブジェクトマップはスナップショットの内容を正確に反映します
以前は、実装上の欠陥により、書き込みのような操作を処理するときに古いスナップショットコンテキストが使用されていました。このため、ワークロードを静止せずにスナップショットが取得された場合、スナップショットのオブジェクトマップがスナップショットの内容を正確に反映することが保証されませんでした。差分バックアップおよびスナップショットベースのミラーリングでは、オブジェクトマップ機能や高速差分機能が有効になっているユースケースでは、宛先イメージが破損する可能性があります。
この修正により、実装上の欠陥が修正され、すべてが期待どおりに動作します。
6.7.1.3. Cephadm ユーティリティー
public_network
パラメーターに global
や mon
などの設定オプションを含めることができるようになりました
以前の cephadm
では、public_network
パラメーターは、この動作を変更する設定オプションを提供せずに、クラスターのブートストラップ中に常に mon
設定セクションの一部として設定されていました。
この機能強化により、Ceph 設定ファイルを利用して、クラスターのブートストラップ中に public_network
パラメーターに global
や mon
などの設定オプションを指定できるようになりました。
cephadm Manager モジュールからホスト上で実行される Cephadm コマンドにタイムアウトが発生するようになりました。
以前は、Cephadm コマンドの 1 つが無期限に停止することがあり、問題の認識および解決が困難でした。
今回のリリースでは、Cephadm mgr モジュールからホストで実行される Cephadm コマンドにタイムアウトが導入されました。コマンドの 1 つがハングした場合に、最終的に失敗するという正常性に関する警告が表示されるようになりました。タイムアウトは mgr/cephadm/default_cephadm_command_timeout
設定で設定でき、デフォルトは 900 秒です。
CA 署名キーの cephadm
サポートが実装されました
以前は、CA 署名キーは Red Hat Ceph Storage 5 のデプロイメント設定として機能していましたが、その機能は偶発的でテストされておらず、Red Hat Ceph Storage 5 から Red Hat Ceph Storage 6 への変更時に壊れていました。
この機能拡張により、CA 署名キーの cephadm
サポートが実装されます。ユーザーは、SSH 認証スキームに通常の pubkeys ではなく、CA 署名付き鍵を使用できるようになりました。
6.7.2. 既知の問題
6.7.2.1. マルチサイトの Ceph Object Gateway
バージョン管理されたバケット内のオブジェクトを削除すると、統計の不一致が発生する
バージョン管理されたバケットには最新のオブジェクトと最新でないオブジェクトが混在しているため、オブジェクトを削除すると、ローカルサイトとリモートサイトでバケットとユーザーの統計に不一致が生じる可能性があります。これにより、どちらのサイトでもオブジェクトリークが発生することはなく、統計の不一致が発生するだけです。
マルチサイトのレプリケーションがアップグレード中に停止する場合がある
アップグレードのプロセス中にクラスターが異なるバージョンにある場合に、マルチサイトのレプリケーションが停止することがあります。両方のクラスターが同じバージョンにアップグレードされるまで、同期を一時停止する必要があります。