4.5. Ceph ファイルシステム
一貫性を保つために、FSMap の変更を含む MDS メタデータがバッチで追加されるようになりました。
以前は、アップグレード中にモニターが MDS メタデータを追跡しなくなり、PAXOS トランザクションがキャンセルされ、MDS メタデータが利用できなくなることがありました。
この修正により、一貫性を確保するために、FSMap の変更を含む MDS メタデータがバッチで追加されます。ceph mds metadata
コマンドは、アップグレード後も意図したとおりに機能するようになりました。
ENOTEMPTY
出力が検出され、メッセージが正しく表示されるようになる
以前は、subvolume group rm
コマンドを実行すると、ボリュームのプラグインで ENOTEMPTY
出力が検出されず、具体的なメッセージではなく一般的なエラーメッセージが表示されていました。
この修正により、サブボリュームグループ内にサブボリュームが存在する場合に、subvolume group rm
コマンドで ENOTEMPTY
出力が検出され、メッセージが正しく表示されるようになります。
MDS は、リクエストのクリーンアップの一環として、次のクライアント再生要求を自動的にキューに入れるようになる
以前は、MDS が up:client-replay
状態で次のクライアント要求を再生用にキューに入れず、MDS がハングすることがありました。
この修正により、要求のクリーンアップの一環として、次のクライアント再生要求が自動的にキューに入れられ、MDS はフェイルオーバー回復を正常に続行します。
cephfs ミラーリングの全体的なパフォーマンスが向上しました。
この修正により、増分スナップショットの同期が修正され、cephfs-mirroring の全体的なパフォーマンスが向上します。
loner member が true
に設定されます。
以前は、ファイルロックが LOCK_EXCL_XSYN 状態の場合、非孤立クライアントには空のキャップが発行されていました。ただし、この状態の loner が false
に設定されているため、ロッカーが Fcb キャップを発行する可能性がありますが、これは正しくありません。これが原因で、一部のクライアント要求で誤って上限が取り消され、待機時間が無限になり、要求が遅くなる可能性があります。
この修正により、loner メンバーが true
に設定され、結果として対応する要求がブロックされなくなります。
月次スナップショットのスナップスケジュール繰り返しと保持指定が m
から M
に変更される
以前は、月次スナップショットのスナップスケジュールの繰り返しと保持の仕様は、他の Ceph コンポーネントと一致していませんでした。
この修正により、仕様が m
から M
に変更され、他の Ceph コンポーネントと一致するようになりました。たとえば、毎月 5 つのスナップショットを保持するには、次のコマンドを発行する必要があります。
# ceph fs snap-schedule retention add /some/path M 5 --fs cephfs
multi-mds クラスターで一部の inode が複製されたときに ceph-mds がクラッシュしなくなる
以前は、ceph-mds のロックアサーションが不正確だったため、multi-mds クラスターで一部の inode が複製されると ceph-mds がクラッシュしていました。
この修正により、アサーション内のロック状態が検証され、クラッシュが発生しなくなります。
date
、client_count
、filters
など、欠落していたフィールドが --dump
の出力に追加される
この修正により、date
、client_count
、filter
などの不足しているフィールドが --dump
出力に追加されます。
MDS がリカバリー中にアサート関数で失敗しなくなる
以前は、MDS は障害が発生したランクを回復するときにメタデータの破損を誤って報告することがあり、そのためアサート関数が失敗していました。
この修正により、起動手順が修正され、リカバリー中にアサート関数で MDS が失敗しなくなります。
ターゲット mon_host の詳細がピアリストとミラーデーモンステータスから削除される
以前は、スナップショットのミラーピアリストには、ピアリスト以外の情報も表示されていました。この出力により、MON IP が 1 つだけであるべきか、またはすべての MON ホスト IP が表示されるべきかについて混乱が生じました。
この修正により、mon_host は fs snapshot mirror peer_list コマンドから削除され、ターゲット mon_host の詳細がピアリストとミラーデーモンステータスから削除されました。
ターゲット mon_host の詳細がピアリストとミラーデーモンステータスから削除される
以前は、静止プロトコルコードによってリグレッションが発生していました。クライアント要求を強制終了すると、バッチ操作の新しいバッチヘッドの選択がスキップされます。これにより、古いバッチヘッドリクエストが MDS キャッシュに永久に残り、遅いリクエストとして扱われていました。
この修正により、リクエストを強制終了するときに新しいバッチヘッドが選択され、バッチ操作によってリクエストの遅延が発生しなくなります。
MDS が起動していない場合でも、ファイルシステムのアップグレードが実行される
以前は、すべての MDS がダウンしている場合、モニターは MDS によるファイルシステムのアップグレードを許可しませんでした。このため、fail_fs
設定が 'true' に設定されていると、アップグレードが失敗します。
この修正により、モニターは MDS が起動していない場合でもアップグレードを実行できるようになります。