4.6. RADOS
新しく追加された容量が割り当て済みとしてマークされなくなる
以前は、新規に追加された容量は自動的に割り当て済みとマークされていました。その結果、追加されたディスク容量は使用可能な領域を追加しませんでした。
この修正により、追加された容量は空きとマークされて利用可能となり、OSD の再起動後、新しく追加された容量が期待どおりに追加された領域として認識されるようになりました。
Bugzilla:2296247
BlueStore が OSD で期待通りに動作するようになる
以前は、ceph-bluestore-tool show-label
はマウントされた OSD で機能せず、ceph-volume lvm zap
コマンドは OSD の ID を消去できませんでした。この修正により、show-label
属性にはディスクへの排他的アクセスが不要になりました。さらに、ceph-volume
コマンドは ceph-bluestore-tool zap
を使用して OSD デバイスをクリアするようになりました。
BlueStore がラベルを上書きしなくなる
以前は、BlueFS はラベル用に予約されているロケーションへの書き込みを行いました。その結果、OSD は期待どおりに起動しませんでした。
この修正により、ラベルのロケーションは reserved とマークされ、上書きされなくなりました。BlueStore がマウントされ、OSD が期待どおりに起動するようになりました。
RocksDB ファイルが必要なスペースだけを使用するようになる
以前は、RocksDB ファイルは十分に事前に割り当てられていましたが、切り捨てられることはありませんでした。その結果、決して使用されないファイルに割り当てられたディスク領域が無駄になりました。
この修正により、適切な切り捨てが実装され、未使用の割り当てが空きプールに戻されます。
クラッシュまたはシャットダウンテスト中に Monitor が選択でスタックしなくなる
以前は、MonitorMap の disallowed_leaders
属性が stretch_mode
に入る場合にのみ条件付きで入力されていました。ただし、復活直後の Monitor が probing
状態にあるため、すぐには stretch_mode
に入らない場合がありました。これが原因で、クラスター全体のモニター間で disallowed_leaders
の設定が一致しなくなりました。このため、Monitor はリーダーを選出できず、選択がスタックし、Ceph が応答しなくなります。
この修正により、disallowed_leaders
属性に対応するために Monitor を stretch_mode
にする必要がなくなりました。クラッシュまたはシャットダウンテスト中に Monitor が選択でスタックしなくなります。