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

freebsd freenas linux

私はライブUSBディスクからFreeNASのコピーを実行しています。そして、そのバックアップを作成したいと思います

完全に動いているシステムを壊さないようにしようとしている間に、OSが動いている間にディスクをddにすることはできないのでしょうか?

それとも、マシンをシャットダウンして別のマシンからddを実行しなければならないのでしょうか?

  24  stuartc  2012-03-04


ベストアンサー

実行中のディスク上でddを実行することができます。ディスクの構造に大きな変更があるときに実行するのは避けるべきです。また、バックアップが完了したら、fschkのようにバックアップ先を指定しなければなりません。バックアップ中はシステムが静かであればあるほど良い

dd’ を使いたい場合は、コールドバックアップ(ファイルシステムはマウントされていない)を実行するのが最良の方法である

ランニングシステムをバックアップするためのより良いオプションがあります

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

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

19  BillThor  2012-03-04


これは技術的には可能ですが(「足元で自分を撃つ」のように)、特にディスクのパーティションが書き込み可能な場合は非常にお勧めできません

このシナリオを想像してみてください

  • dd は、最初にディスクの読み込みを開始し、最後に向かって陽気に進んでいきます
  • それが半分になると、OSはディスクにファイルを書き込みます。ファイルは、しかし、やや断片化されている – それの1つの部分は、物理的にディスクの先頭に向かって配置されている、と終わりに向かって別の
  • OSには何の問題もありません – ファイルは正常に書き込まれ、書き込みキャッシュからプッシュされます
  • 問題はバックアップにあります。ddはすでにファイルの最初の部分をコピーしてしまったので、2番目の部分に到達したときに矛盾した状態をキャプチャしてしまいます – それぞれの部分は異なるバージョンのものになります!

USB ディスク上のすべてのパーティションを読み取り専用としてリマウントできるのであれば、この問題は発生しないはずです (「発生しないはず」を強調しています)

だから、コピーを実行しても、おそらく実行中のシステムは壊れないでしょうが、実行可能なバックアップは得られず、タスクは無駄になってしまいます。オフラインでコピーを行うことを強くお勧めします – マシンをシャットダウンする必要があります

17  Piskvor left the building  2012-03-04


マウントされたパーティションのイメージは絶対に作ってはいけません。そこから起動したかどうかは関係ありません

しかし、起動したパーティションをアンマウントしようとするのに苦労します

4  Der Hochstapler  2012-03-04


このために、FreeBSDではdump(8)を使用しています。例:dump -auLf /mnt/some-other-disk/root.dmp /

-Lオプションは、スナップショットを取ってライブのファイルシステムをコピーすることを可能にします

ダンプはrestore(8)で復元できます

UFSでしか動かないかもしれません

4  maxelost  2012-03-06


以下のようなことに触れていないバックアップのヒントが多いのが不思議です

バックアップやリストアをしている間は、一般的に linux システム (およびほとんどのマルチスレッド OS) は静かにしておく必要があります

これは、イメージ化しようとしている間、その上でOSを実行しないことで最も簡単に実現できます

バックアップと復元のために、それはマウントすることができ、実際にはおそらくする必要がありますが、そのルート(/)として実行中のOSではありません


理由: linux を含むすべてのマルチタスクオペレーティングシステムでは、ファイルに影響を与えるコードスレッドが同時に実行されているため、システム全体のファイルセットのバックアップやリストアを正確に実行することができません

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


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

!!!ですから、例えばバックアップにDeja-dupを使えと書いてあるウェブページを見ても、これは/homeに対してのみ有効で、Deja-dupを実行している間に/homeに影響を与えるプログラムを実行していない場合にのみ有効です。(その場合でも、デーモン経由でファイルに触れる可能性のあるものが本当にあるかどうかを知っていない限り、指をくわえておきたいかもしれません)

0  Elliptical view  2016-07-27


私はすでに良いデバイスのコピーの可能性を向上させるために、最後にfsckとrsyncで、テスト環境で成功を収めてこれを行います

0  Joao  2019-06-28


タイトルとURLをコピーしました