web-dev-qa-db-ja.com

起動している現在のディスクをddすることは可能ですか?

FreeNASのコピーをライブUSBディスクで実行しています。そして、それをバックアップしたいと思います。

完全に機能するシステムを壊さないようにしながら、OSの実行中にディスクをddできますか?

または、マシンをシャットダウンして、別のマシンからddを実行する必要がありますか?

23
stuartc

実行中のディスクでddを実行できます。ディスク構造に大きな変更がある場合は、そうすることは避けてください。また、完了したら宛先をfschkする必要があります。バックアップ中のシステムは静かであるほど良いです。

`dd 'を使用したい場合は、コールドバックアップ(ファイルシステムがマウント解除されている)を実行するのが最適です。

実行中のシステムをバックアップするためのより良いオプションがあります。

  • tarまたはcpioはファイルを読み取り、開いているファイルを適切に処理します。バックアップ中に発生する変更の一部を見逃す可能性があります。
  • rsyncは、開いているファイルに関してはtarのように動作し、バックアップ中に変更が失われます。これは、初期バックアップを実行するために使用でき、増分バックアップを非常に適切に実行します。増分バックアップを実行すると、ファイルの変更されていない部分のコピーをスキップできます。

データベースデータファイルを使用してファイルシステムをバックアップする場合は、ホットバックアップのサポートを調査してください。

18
BillThor

技術的には可能ですが(「shooting-yourself-in-the-foot」の場合と同様)、特にディスクのパーティションのいずれかが書き込み可能。

このシナリオを描く:

  • ddは最初からディスクの読み取りを開始し、楽しそうに最後に向かって進みます。
  • 途中でOSはファイルをディスクに書き込みます。ただし、ファイルは多少断片化されています-ファイルの一部は物理的にディスクの先頭に向かって配置されており、別の一部はディスクの末尾に向かって配置されています。
  • OSに問題はありません。ファイルを正常に書き込み、書き込みキャッシュからプッシュします。これで、ディスクに正しく書き込まれます。
  • 問題はバックアップにあります:ddはすでにファイルの最初の部分を過ぎてコピーしているため、2番目の部分に到達すると一貫性のない状態をキャプチャします-各部分は異なるバージョンのものになります!

USBディスク上のすべてのパーティションを読み取り専用として再マウントできる場合は、この問題は発生しません(「を強調する必要がありますはできません」) );これには、/パーティションの重要な事前インストール/オフラインの準備と起動時のセットアップが必要ですが、通常は/ r/oをオンザフライで再マウントできないと思います。 r/wアクセスを必要とする複数の要素がぶら下がります。

したがって、コピーを実行しても、実行中のシステムが壊れることはありませんが、実行可能なバックアップは提供されませんであり、タスクを無効にします。コピーをオフラインにすることを強くお勧めします-マシンをシャットダウンする必要があります。

マウントされたパーティションのイメージは作成しないでください。そこから起動したかどうかに関係なく。

しかし、起動したパーティションをアンマウントするのは難しいでしょう。

4
Der Hochstapler

このため、FreeBSDではdump(8)を使用します。例えば。 _dump -auLf /mnt/some-other-disk/root.dmp /_

_-L_オプションを使用すると、スナップショットを取得してライブファイルシステムをコピーできます。

ダンプは、restore(8)を使用して復元できます。

UFSでのみ機能する場合があります。それについてはよくわかりません。

4
maxelost

次のことに言及していないバックアップのヒントの数は驚くべきものです。

Linuxシステム(およびほとんどのマルチスレッドOS)は、通常、バックアップおよび復元している間、休止状態である必要があります。

これは、イメージを作成するときにOSを実行しないことで最も簡単に実現できます。

バックアップと復元の場合、マウントすることができ、実際には、ルート(/)として実行中のOSによってではなく、マウントする必要があります。


理由: Linuxを含むすべてのマルチタスクオペレーティングシステムには、ファイルに影響を与える同時実行のコードスレッドがあり、システム全体の正確なファイルセットのバックアップまたは復元を実行できません。

特に、ファイルを取得している間に、ファイルを作成または削除する他のタスクが発生する可能性があります。そのため、バックアップは、ある時点でのファイルシステムの正確なイメージを表さない場合があります。このバックアップを復元しようとすると、クラッシュやその他の異常につながるデータの破損が発生します。


オプション:バックアップは、特別なソフトウェアやディスクシステム(たとえば、実行中のOSをバックアップできるWindows上のAcronisなど)または非実行中のOSにアクセスする外部セカンダリOSのいずれかによって実行する必要がありますバックアップまたは復元しようとしているファイル。

!!!たとえば、バックアップを行うためにDeja-dupを使用するように指示するWebページが表示された場合、これは/homeに影響するプログラムを実行していない場合のみ/home deja-dupの実行中。 (そして、デーモンを介してファイルに触れる可能性があることを本当に知らない限り、指を交差させたいと思うかもしれません。)

0
Elliptical view

私はすでにこれをテスト環境で成功させており、最終的にfsckとrsyncを使用して、適切なデバイスコピーの可能性を向上させています。

0
Joao