一貫したディスクデータを生成するときのsyncとfsfreezeの違いは何ですか?

一貫したディスクデータを生成するときのsyncとfsfreezeの違いは何ですか?

実行中のLinuxシステムでは、ファイルシステムのキャッシュされたコンテンツをディスクに書き込む必要があります。

  • "sync":コマンドラインと同期同期そして関連システムコール、データをストレージデバイスに保存/書き込みできます。
  • "fsfreeze": コマンド必ずぶら下げる、一方、次のようになります。

    fsfreeze はファイルシステムへの新しいアクセスを停止し、ディスクに安定したイメージを作成します。

したがって、2つのコマンドのいずれかを使用すると、コマンドが実行されたときにデータの「ディスク安定性」表現が達成されるようです。

明らかにfsfreeze「追加」と記載されている内容は、追加の「新しい訪問」を中止します。

この質問は、一貫したディスクイメージを取得するために(たとえばバックアップ用にディスクファイルシステムデータをコピーするために)syncとfsfreezeを使用することに違いがあるかどうかについての情報を探します。

この質問に答えるには、使用されるファイルシステムを考慮する必要があるかもしれません。これは、ファイルシステムごとに中間状態をディスクに自動的にコミットするかどうかを確認する方法が異なるためです。

個人的なテストでは、ファイルfsfreezeシステムはbtrfs常にコンソールが応答しないため、ハードリセットが必要であることがわかりました。一方、同期はシステムを停止しません(わかりやすく)。

ベストアンサー1

したがって、2つのコマンドのいずれかを使用すると、コマンドが実行されたときにデータの「ディスク安定性」表現が達成されるようです。

はい、しかし、syncあなたの場合、「ディスクの安定」状態は非常に短いかもしれません。sync発行後に変更があると、ファイルシステムが再び一貫性を失う可能性があります。

fsfreeze使用FIFREEZEタイムアウトはありません。ご存知のように、影響を受けたファイルシステムでは書き込みが不可能であり、さまざまな状況で書き込みが実行されるため、システムが停止する可能性があります(例えばシェルの記録を作成します。)持つ緊急除霜キーの組み合わせ、、、SysRqj使用できます(無効になっていない場合)。

要点FIFREEZEは、これが適用されると、固定ファイルシステムの基本ストレージを読み取って一貫したストレージイメージを構築できることです。つまりデータとメタデータが完全に同期されます。

ただしsync、完了すると変更はsyncディスクに適用されますが、後続の書き込みがストレージに到達し始めた可能性があるため、プライマリストレージをコピーしても必ずしも一貫したイメージが作成されるわけではありません。これらのイメージをコピーすると、関心のあるすべてのデータを取得できます。ほとんどの場合、部分的に行われた変更によってファイルシステムが回復するわけではありませんが、イメージが回復された後もそのまま使用されるという保証はありません。ロギング、ジャーナリング、または記録中のコピーファイルシステムでも同様です。

おすすめ記事