ハードドライブをバックアップする必要があります。dd
画像を外付けハードドライブに使用して保存したいです。
- ハードドライブ自体のオペレーティングシステムを使用してこれを実行できますか?
dd
それとも別のデバイス(LiveCDなど)から起動する必要がありますか? - 通常、機器が設置されて動作している場合は、その機器の画像を撮影するのは安全ですか?
dd
デバイスがマウントされていますが、実行中に他のI / O操作がないと確信している場合はどうなりますか?
rsync
私はこれがバックアップ、特に増分バックアップのための最高のツールであると確信しています。
dd
ところで、他の記憶装置もバックアップしたい、分割されていない空間に保存されたデータもコピーしたいので興味があります。たとえば、私の電子ブックリーダーは、分割されていないスペースを使用して、uboot、カーネル、その他のデータを保存します。
ベストアンサー1
通常、これは安全ではありません。 FS はジョブが特定の順序で書き込まれると想定するため、ファイルに新しいデータを書き込んでから、別のデータからそのデータへのポインタを作成できます。詳細はファイルシステムによって異なります。次のことが起こると想像してください。
dd
ガベージまたは一部のデータを含む場所Xから読み込みます。- ファイルシステム書き込み位置X
- ファイルシステム書き込み位置X + 1位置Xへのポインタ
dd
リンクはX + 1位置からX位置まで読み取られます。
バックアップの観点からは、ジャンクデータが発生します。ただし、この問題を解決する方法はいくつかあります。
- ファイルシステム特定のコマンドを介してファイルシステムを固定します(私は
xfs_freeze
それが1つだと思い、他のコマンドはわかりませんが、そのようなオプションは少なくとも理論上存在します) - lvmスナップショットを作成してコピーします。コピーはコンピュータを再起動したかのように作成されるため(HDDの並べ替えを除く)、ダーティファイルシステムになりますが、コピーはアトミックに作成されます。一部のファイルシステム(XFSなど)は、まず固定する必要があります。
- 他の人が提案したようにrsyncを使用してください。これでコピーは安全で、LVMは必要ありませんが、コピーはアトミックではありません。したがって、ファイルシステムレベルで上記の問題を回避しながら、ファイルの問題が引き続き発生する可能性があります(たとえば、バックグラウンドでmvを実行している間にファイルが失われる可能性は低いかもしれませんが)。
- スナップショットのあるファイルシステムを使用してください。BTFS、タキシード3、ジブス、ネルベス...これにより、両方の問題を回避できます。スナップショットを作成し、完全にアトミックなrsyncを介してコピーします。しかし、これらのファイルシステムは実験的なケースが多い。
最後の注意 -dd
おそらく最善のバックアップ方法ではありません。ディスク全体をコピーしますが、これは「ゴミ」もコピーするため、通常は無駄です。同様のディスクイメージが必要な場合画像の一部より良いかもしれません。より良いオプションがない場合は、rsync、tarなどの差分/増分モードを使用するか、フルバックアップシステムを使用してください。バキュラム、タスナップまたは他の多くのものの一つです。重複排除は、バックアップサイズの点で驚くべき効果を発揮します。