web-dev-qa-db-ja.com

Debianシステムを実行しているシステムイメージ?

実行中のDebianシステムをある種のイメージファイルにバックアップすることは可能ですか。元の(バックアップされた)Debianシステムに障害が発生した場合に、ddを使用して別のハードディスクに簡単に書き戻すことができますか?

私は特に、Raspberry PiでDebian Wheezyを実行しているため、リポジトリで直接利用できるツールを探しています。したがって、ARMアーキテクチャのサポートが必要です。これは、パッケージに対して非常に信頼性が高くなります。 Debianリポジトリの。

23
stefan.at.wpf

ddは、RAWディスクのサイズとまったく同じサイズのイメージファイルを生成してもかまわない場合に適しています。 rsyncは、ファイルレベルのアクセスを簡単にする場合に適しています。ただし、ファイルシステムをバックアップする標準的な方法は、dumpおよびrestoreaptitude install dump)です。

Raspberry Piのようなデバイスの場合、MS-DOSパーティションテーブルとディスクが/ dev/sdaであると想定して、次のようにバックアップします。

  • dd if=/dev/sda of=sda-boot-sectors.img count=2048は、ディスクのブートセクションのイメージを取得します。
  • 後で人間が参照できるようにfdisk -lu /dev/sda >sda-partition-table.txt
  • dump -0af sda1-root-level0.dump /dev/sda1そして、バックアップするパーティションごとに繰り返します。

その後、ロットを圧縮して、安全な場所に置いておくことができます。復元するには、ddを使用してパーティションテーブルとブートセクターを復元し、パーティションテーブルをリロードして、新しいファイルシステムを作成し、cd /mnt/new-filesystem; restore -rf /some-location/sda1-root-level0.dumpを使用します。

利点:

  • dumpは、ACL、拡張属性、所有権、スパースファイル、特別なファイルシステム属性など、ファイルシステムの完全なコピーを取得します。すべてそのままダンプされます。
  • 未使用のものを無視して、必要なブロックのみをコピーします。
  • これは標準のUNIXツールであり、他の多くのUNIXツールで読み取り可能です。

欠点:

  • ダンプ中にファイルシステムが書き込まれると、破損したスナップショットが生成されます。
  • バックアップされたイメージをマウントする(ディスクイメージを使用して実行できます)か、個々のファイルを取得する(rsyncバックアップを使用して取得できる)ことはより困難です。
  • ファイルシステムのタイプ固有です。 ext3ファイルシステムをダンプしてext4ファイルシステムに復元できますが、anyタイプのファイルシステムをダンプできます。ほとんどの成熟したファイルシステムには、独自のdumpバージョンがあります。標準のDebian dumpext2ext3およびext4を実行します。フラッシュ固有のファイルシステムを使用する場合、オプションが異なる場合があります。
15
Alexios

ブートセクターにはddを使用し、rsync -aHS(ファイルの場合)。/proc/sysのような「仮想」ファイルシステムとRAMディスク(tmpfs)を除外する必要があります。

パーティショニングも維持したい場合は、sfdiskでダンプするか、partedで再作成できます。

5
Nils

Debianの場合、本当に必要なのはdataおよび構成ファイル

既存の状態をバックアップするには:

  • dpkg --get-selections > dpkg_selectionsを使用してパッケージ選択をバックアップします。
  • Sudo debconf-get-selections > debconf_selectionsを使用してdebconfデータベースをバックアップします。

これを新しいシステムに適用するには:

  • 最初にSudo debconf-set-selections < debconf_selectionsを使用してdebconf選択を適用します。
  • dpkg --set-selections < dpkg_selectionsを使用してパッケージ選択を適用します。
  • apt-get dselect-upgradeを使用してパッケージをインストールします。

データは主に/home/varに含める必要があります(例:MySQLの場合は/var/lib/mysql、Apacheの場合は/var/www)。どのアプリケーションが自分にとって重要であるかを理解できるはずです。

構成は主に/etcになります。繰り返しになりますが、あなたにとって何が重要かを選ぶのは難しくありません。

4
bahamat

私はバックアップと復元のソフトウェアをたくさん試しましたが、決して満足できませんでした。これが私が今していることです。予備のコンピュータに2番目のDebianをインストールしています(同じMB、NICカードなど)。毎晩、マシンAからマシンBにrsyncします。実行中の2つのシステムの競合を避けたいため、私が保持しているファイル(/ etc/network/interfaces、/ etc/hosts、/ etc/hostname)。実際には、それらのコピーを別のフォルダに保存しています。マシンBで実行する必要のないいくつかのサービス(postfix、mysqlなど)を無効にします。マシンBにスクリプトを記述して、それを基本的にマシンAに変換します(保留したファイルを置き換えます)。 NICそして無効にされたサービスを有効にします。もちろん、スクリプトを実行するときにマシンAをオフにする必要があります。そうしないと大混乱が発生します。マシンAをオフにしてマシンBを毎月テストし、スクリプトを作成し、いくつかのテストを実行して、スクリプトが最新で適切に実行されていることを確認します。

1
Joseph Vernice

これが良いことかどうか、システムが稼働しているときにわかりませんが、これは私がやっていることです。

Sudo dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M

言ったように、もっと良い解決策があるかもしれませんが、その場合は私もそれを知りたいです!

1
emil

システムバックを使用します。 Debian Stretchでも機能します。それはあなたの構成されたデスクトップでニースライブブートUSBを与えます。

0
Peter

私のpiをバックアップするには、microSDカードを取り外し、ラップトップに差し込みます。次にddを実行して、上記のように私のラップトップ上にディスク全体のファイルを作成します。

dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M
0
Bob

Clonezillaをチェックしてください。標準のDebianリポジトリにリストされています。 http://clonezilla.org/

編集:おそらくそうではありません。Clonezillaのフロントページに要件がリストされています:「X86またはx86-64プロセッサ」

0
Tim