
実行中のLinuxシステムでは、ファイルシステムのキャッシュされたコンテンツをディスクに書き込む必要があります。
- "sync":コマンドラインと同期同期そして関連システムコール、データをストレージデバイスに保存/書き込みできます。
- "fsfreeze": コマンド必ずぶら下げる、一方、次のようになります。
fsfreeze はファイルシステムへの新しいアクセスを停止し、ディスクに安定したイメージを作成します。
したがって、2つのコマンドのいずれかを使用すると、コマンドが実行されたときにデータの「ディスク安定性」表現が達成されるようです。
明らかにfsfreeze
「追加」と記載されている内容は、追加の「新しい訪問」を中止します。
この質問は、一貫したディスクイメージを取得するために(たとえばバックアップ用にディスクファイルシステムデータをコピーするために)syncとfsfreezeを使用することに違いがあるかどうかについての情報を探します。
この質問に答えるには、使用されるファイルシステムを考慮する必要があるかもしれません。これは、ファイルシステムごとに中間状態をディスクに自動的にコミットするかどうかを確認する方法が異なるためです。
個人的なテストでは、ファイルfsfreeze
システムはbtrfs
常にコンソールが応答しないため、ハードリセットが必要であることがわかりました。一方、同期はシステムを停止しません(わかりやすく)。
答え1
したがって、2つのコマンドのいずれかを使用すると、コマンドが実行されたときにデータの「ディスク安定性」表現が達成されるようです。
はい、しかし、sync
あなたの場合、「ディスクの安定」状態は非常に短いかもしれません。sync
発行後に変更があると、ファイルシステムが再び一貫性を失う可能性があります。
fsfreeze
使用FIFREEZE
タイムアウトはありません。ご存知のように、影響を受けたファイルシステムでは書き込みが不可能であり、さまざまな状況で書き込みが実行されるため、システムが停止する可能性があります(例えばシェルの記録を作成します。)持つ緊急除霜キーの組み合わせ、、、SysRqj使用できます(無効になっていない場合)。
要点FIFREEZE
は、これが適用されると、固定ファイルシステムの基本ストレージを読み取って一貫したストレージイメージを構築できることです。つまりデータとメタデータが完全に同期されます。
ただしsync
、完了すると変更はsync
ディスクに適用されますが、後続の書き込みがストレージに到達し始めた可能性があるため、プライマリストレージをコピーしても必ずしも一貫したイメージが作成されるわけではありません。これらのイメージをコピーすると、関心のあるすべてのデータを取得できます。ほとんどの場合、部分的に行われた変更によってファイルシステムが回復するわけではありませんが、イメージが回復された後もそのまま使用されるという保証はありません。ロギング、ジャーナリング、または記録中のコピーファイルシステムでも同様です。