実行中のDebianシステムをある種のイメージファイルにバックアップすることは可能ですか。元の(バックアップされた)Debianシステムに障害が発生した場合に、ddを使用して別のハードディスクに簡単に書き戻すことができますか?
私は特に、Raspberry PiでDebian Wheezyを実行しているため、リポジトリで直接利用できるツールを探しています。したがって、ARMアーキテクチャのサポートが必要です。これは、パッケージに対して非常に信頼性が高くなります。 Debianリポジトリの。
dd
は、RAWディスクのサイズとまったく同じサイズのイメージファイルを生成してもかまわない場合に適しています。 rsync
は、ファイルレベルのアクセスを簡単にする場合に適しています。ただし、ファイルシステムをバックアップする標準的な方法は、dump
およびrestore
(aptitude 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、拡張属性、所有権、スパースファイル、特別なファイルシステム属性など、ファイルシステムの完全なコピーを取得します。すべてそのままダンプされます。欠点:
rsync
バックアップを使用して取得できる)ことはより困難です。ext3
ファイルシステムをダンプしてext4
ファイルシステムに復元できますが、anyタイプのファイルシステムをダンプできます。ほとんどの成熟したファイルシステムには、独自のdump
バージョンがあります。標準のDebian dump
はext2
、ext3
およびext4
を実行します。フラッシュ固有のファイルシステムを使用する場合、オプションが異なる場合があります。ブートセクターにはdd
を使用し、rsync -aHS
(ファイルの場合)。/proc/sysのような「仮想」ファイルシステムとRAMディスク(tmpfs)を除外する必要があります。
パーティショニングも維持したい場合は、sfdisk
でダンプするか、parted
で再作成できます。
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
になります。繰り返しになりますが、あなたにとって何が重要かを選ぶのは難しくありません。
私はバックアップと復元のソフトウェアをたくさん試しましたが、決して満足できませんでした。これが私が今していることです。予備のコンピュータに2番目のDebianをインストールしています(同じMB、NICカードなど)。毎晩、マシンAからマシンBにrsyncします。実行中の2つのシステムの競合を避けたいため、私が保持しているファイル(/ etc/network/interfaces、/ etc/hosts、/ etc/hostname)。実際には、それらのコピーを別のフォルダに保存しています。マシンBで実行する必要のないいくつかのサービス(postfix、mysqlなど)を無効にします。マシンBにスクリプトを記述して、それを基本的にマシンAに変換します(保留したファイルを置き換えます)。 NICそして無効にされたサービスを有効にします。もちろん、スクリプトを実行するときにマシンAをオフにする必要があります。そうしないと大混乱が発生します。マシンAをオフにしてマシンBを毎月テストし、スクリプトを作成し、いくつかのテストを実行して、スクリプトが最新で適切に実行されていることを確認します。
これが良いことかどうか、システムが稼働しているときにわかりませんが、これは私がやっていることです。
Sudo dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M
言ったように、もっと良い解決策があるかもしれませんが、その場合は私もそれを知りたいです!
システムバックを使用します。 Debian Stretchでも機能します。それはあなたの構成されたデスクトップでニースライブブートUSBを与えます。
私のpiをバックアップするには、microSDカードを取り外し、ラップトップに差し込みます。次にdd
を実行して、上記のように私のラップトップ上にディスク全体のファイルを作成します。
dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M
Clonezillaをチェックしてください。標準のDebianリポジトリにリストされています。 http://clonezilla.org/
編集:おそらくそうではありません。Clonezillaのフロントページに要件がリストされています:「X86またはx86-64プロセッサ」