完全にシャットダウン中に実行するのは合理的ですかsync
?キャッシュされたすべてのデータがディスクに書き込まれるとしますumount
。umount
私が考えることができる唯一の奇妙な状況は、物理ディスク上にループデバイス(たとえばLUKSコンテナ)がある場合です。
マウント解除は、まずパーティションのマウント解除を試みることができます。また、ループデバイスがマウント解除されるまでパーティションをアンマウントできない場合があります。しかし、この場合、データは同期されますか?
答え1
sync
ブロックデバイスではなくファイルシステムにのみ影響します。
しかし、削除に関係のない興味深い質問には答えることはできません。sync
ファイルシステムはどの順序で処理されますか?ルートファイルシステムのキャッシュを最初にフラッシュし、次にループデバイスファイルシステムのキャッシュをフラッシュすると、2番目のフラッシュでルートファイルシステムの新しいキャッシュデータが生成されるため、すべてが完全にクリーンになる瞬間は決してない可能性があります。ただし、カーネルは、sync()
システムコールを返す前にすべてのファイルシステムキャッシュレポートがクリーンアップされるのを待つことができます。
ただし、sync
カーネルがこれを正しく実行することを信頼していない場合は、ファイル引数を使用して呼び出して正しい順序で複数回呼び出すことができます。
答え2
sync
いいえ、(成功)を追求することは意味がありませんumount
。
umountが保留中のすべての書き込みをファイルシステムに同期しました。 syncコマンドは、マウントされたファイルシステムのキャッシュされたファイルシステムデータを同期します。
LUKS で構成された dm-crypt デバイスがリフレッシュコマンドを正しく渡すようになりました。cryptsetup FAQプロジェクト 2.13 dm-crypt / LUKSを使用してジャーナルファイルシステムをマッピングしても、まだ一般的なトランザクション保証を提供しますか?)。