rsync の実行中に HDD を使用しても安全ですか?

rsync の実行中に HDD を使用しても安全ですか?

大容量 HDD を までにバックアップする予定でrsync、数日かかると予想しています。 が動作している間、元の HDD を使用して (ファイルを追加して) も安全ですか? それとも、が完了するrsyncまで HDD をそのままにしておく方が良いですか?rsync

答え1

すでに他の人が指摘しているように、rsyncの実行中にソースディスクから読み込んだり、ターゲットディレクトリの外でターゲットディスクを使用したりしても安全です。読む特に、ターゲット ディレクトリが rsync 実行によって排他的に作成される場合は、ターゲット ディレクトリ内になります。

何がそうではないのか一般的に安全とはソースディレクトリ内に書き込むrsync の実行中に、「書き込み」とは、ソース ディレクトリまたはそのサブディレクトリの内容を変更する操作のことで、ファイルの更新、削除、作成などが含まれます。

そうすることで、実際には壊す何も起こりませんが、変更は実際に rsync によって取得され、ターゲットの場所にコピーされるかどうかはわかりません。これは、変更の種類、rsync がその特定のディレクトリをすでにスキャンしたかどうか、および rsync が問題のファイルまたはディレクトリをすでにコピーしたかどうかによって異なります。

ただし、これを回避する簡単な方法があります。完了したら、同じパラメータで rsync を再度実行します。(ただし、奇妙な削除パラメータがある場合は除きます。その場合は、もう少し注意してください。) これを行うと、ソースが再スキャンされ、元の実行中に取得されなかった差異が転送されます。

2回目の実行は転送されるはずですのみ前回のrsync実行中に発生した差異を復元し、より速く完了します。最初の実行中はコンピューターを通常どおり使用できますが、2 回目の実行中はソースに変更を加えないようにできる限り注意してください。可能であれば、ぜひ検討してくださいソースファイルシステムを読み取り専用で再マウントする2 回目の rsync 実行を開始する前に (次のようにmount -o ro,remount /media/sourceすればよい) 。

答え2

これは使用するバックアップシステムによって異なりますが、一般的には修正するバックアップ中にデバイスのコンテンツが失われることはありません。ただし、読む内容は安全ですが、処理速度は遅くなります。

あなたの場合、rsyncファイルリストを作成してからバックアップを開始します。したがって、バックアップ開始後にソースHDDに追加したファイルはないコピーされます。

私がやっているのは、バックアップ中にデバイスを一切使用しないことです。これは、高速で一貫性のあるバックアップを取得するためのより安全な方法です。

答え3

が動作している間にソース領域からデータを読み取ることは安全ですrsyncが、何かを更新すると、作成/更新されるコピーにrsync不整合が生じる可能性があります。

  1. rsync がすでにスキャンしたファイルを更新した場合、次回の実行まで更新は反映されません。まだスキャンしていないファイルを更新した場合、変更は宛先で反映されます。スキャン済みのファイルとまだスキャンしていないファイルの両方を更新した場合、宛先には古いバージョンと新しいバージョンが混在することになります。

  2. すでにスキャンされたディレクトリにファイルを追加すると、今回は宛先コピーからそのファイルは削除されません。すでにスキャンされたディレクトリからファイルを削除すると、今回は宛先コピーに残ります。起動方法に応じて、最初にrsyncツリー全体がスキャンされる場合もあれば、同期プロセスの実行時に増分スキャンされる場合もあります。

  3. 状況によっては、rsync不一致が検出され、警告が表示されます。すでにスキャンされているが、その内容がスキャンされていないディレクトリからファイルまたはサブディレクトリを削除すると、オブジェクトが見つからないというエラー メッセージが表示されます。同様の状況では、(サイズやタイムスタンプが変更された場合) スキャン中にファイルが変更されることについても警告が表示されることがあります。

一部のバックアップではこの不整合は大きな問題にならないかもしれませんが、ほとんどの場合は大きな問題となるため、アクティブに変更されるソースを同期しないことをお勧めします。

LVM を使用してストレージ システムを分割する場合、一時スナップショットを使用してポイントインタイム バックアップを取ることができます。このためには、スナップショットが必要な期間に発生するすべての変更を保持できる十分な大きさのスナップショット ボリュームを作成するために、ボリューム グループに十分なスペースが必要です。詳細については、LVM のドキュメント (または多数のオンライン例の 1 つ: 「LVM スナップショット バックアップ」などを検索) を参照してください。

LVM がなくても、一部のファイルシステムはスナップショット自体をサポートしているので、そのオプションも検討することをお勧めします。

長時間のダウンタイムなしで大きなアクティブ ボリュームをバックアップする必要があり、スナップショットを使用できない場合は、「ライブ」スキャンを完了してからボリュームへのアクセスを停止し、別の rsync プロセスを実行するだけで十分な場合があります。これにより、はるかに短い時間で済む可能性があります (変更がほとんどない場合は、ディレクトリ ツリーといくつかの更新されたファイルのみがスキャンされます)。この方法により、変更を回避する必要がある期間が大幅に短縮されます。

答え4

現在の回答はすべて、一貫性の観点からデータの安全性について語っており、ハードウェアが完璧であると想定しています。

考慮すべきもう1つの点は、ハードウェア自体の安全性です。バックアップされていないハードドライブが故障寸前(まだ気付いていないかもしれませんが)にあり、イニシャル包括的なバックアップが必要な場合は使用しないでください。データが重要な場合はマウントしないでください。次のようなツールを使用できます。ddディスクをブロック デバイスとしてクローンします。バックアップを作成しようとしているときに、ディスク ヘッドがシークしたり、書き込みを行ったりすることは避けたいものです。また、ddビットを順番にコピーするだけなので、最初のバックアップは高速になります (ドライブがほとんどいっぱいでない場合は、最初のケースでも rsync が優先されると思います)。

後続の増分バックアップには rsync が最適な選択であり、他の回答に 100% 同意します。

関連情報