実行中のDebianシステムのシステムイメージ?


22

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

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


2
rwマウントされたファイルシステムからブロック単位のコピーを取得することはお勧めしません。最小の書き込みで破損する可能性があり、実行可能なバックアップがあると思われます。したがってmount -o remount,ro、を選択した場合にコピーするドライブdddumpまたは同様のドライブ。を含むファイルシステムrsyncまたは他の方法を含むファイルシステムをコピーすることcpは、ライブシステムにとって安全です。
-WhimsicalWombat

回答:


15

ddRAWディスクとまったく同じサイズのイメージファイルを生成してもかまわない場合に適しています。rsync簡単なファイルレベルのアクセスが必要な場合に適しています。ただし、ファイルシステムをバックアップする標準的な手段はdumpand 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、パーティションテーブルとブートセクタを復元するパーティションテーブルをリロードする、新しいファイルシステム(S)、および使用することcd /mnt/new-filesystem; restore -rf /some-location/sda1-root-level0.dump

利点:

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

欠点:

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

それはのためのマニュアルページに記載いないdumpファイルシステムが書き込まれるべきではないこと。つまり、これは理にかなった制限のように聞こえますが、マンページに記載されていないのは残念です。だから誰かがこのエラーを
犯す

あなたの投稿のおかげで、私はこのツール(ダンプ/復元)について学びました。:私はのようなもので、ファイルシステムのコピーを作成するためにそれを使用するつもりだmkfs.ext4 /dev/sda1; mount /dev/sda1 /mnt/disk; cd /mnt/disk; dump -0af - /dev/sda5 | restore -rf -
イワンZakharyaschev - IMZ

5

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

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


おかげで、とても面白そうに聞こえますが、過去にこれを既に設定していましたか?loopkackデバイスを使用して、これらのパーツから完全なイメージを作成するにはどうすればよいですか?(はい、というように分割しておきたい、さらにいじることなく、新しいSDカード/ディスクに書き込まれた画像が準備したい。)
stefan.at.wpf

@ stefan.at.wpf VMのクローンを作成し、物理サーバー(autoyast / kistart)を作成して非ミラーシステムからraid1ミラーを作成し、通常の方法で(静的)クラスターノードのファイルシステム。私はこのmyselvを使用しません。私の方法は、新しいサーバー(バックアップクライアントを含む)を自動インストールし、古いサーバーの内容を新しいサーバーにバックアップして復元することです。
ニルス

4

以下のためのDebian、あなたが本当にあなただけバックアップする必要があるデータ設定ファイルを

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

  • パッケージの選択をでバックアップしますdpkg --get-selections > dpkg_selections
  • でdebconfデータベースをバックアップしますsudo debconf-get-selections > debconf_selections

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

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

あなたのデータは、主にする必要があります/homeし、/var(例えば、/var/lib/mysqlMySQLの、/var/wwwApacheの、など)。どのアプリケーションがあなたにとって重要かを理解できるはずです。

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


取得するためにdebconf-get-selection実行するapt-get install debconf-utils
pandita

1

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

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

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


1

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


0

Clonezillaをご覧ください。標準のDebianリポジトリにリストされています。http://clonezilla.org/

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


興味深いプロジェクトですが、とにかくありがとう:-)
stefan.at.wpf

0

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

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

2
これは、質問の最も重要な部分を文字通り無視しています。問題は、システムのライブイメージをどのように実行するかを尋ねることであり、ディスクを移動しているときには、システムをシャットダウンした方がよいでしょう。
サイレン

0

システムバックを使用します。debian stretchでも機能します。それはまさにあなたの設定されたデスクトップで素敵なライブブートusbを提供します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.