Linuxシステムのスナップショットを作成する


11

以下を実行したい-Linux OS(centOS6.5)の現在の状態を保存します。いくつかの変更を行います(具体的には、障害を挿入し、特定の種類の障害が発生したときのサービスをテストしてサービスをテストします)。次に、システムを保存された状態に復元します。Linuxシステムでこれを行う方法を理解できません。centOS 6.5とext4ファイルシステムを搭載したマシンがあります。これは物理サーバーであり、仮想マシンではありません。

アイデアや提案はありますか?


物理サーバー、または仮想マシン?
2015

1
VirtualBoxなどの仮想化ソフトウェアでOSを実行することをお勧めします。スナップショットをうまくサポートしています。
yaegashi

物理サーバーです。これを複数のマシン(物理サーバー)で実行する必要があり、仮想化ソフトウェアでOSを実行するように構成を変更できません。
bRuta

通常、システムスナップショットをサポートするには、仮想化などの追加のメタレイヤーが必要です。物理サーバーを、ファームウェアおよびブートローダーレベルから制御されているかのように動作させることは非常に困難です。
八重樫2015

回答:


8

私はそれをシンプルに保ち、それを複製します。USBからライブシステムを起動し(最も簡単なのはUSBサムドライブからのUbuntuです)、ハードディスクを別のパーティション(または外部ハードドライブなど)にダンプします。

dd if=/dev/sda1 bs=64M of=/mnt/my_mounted_backup_drive/backup-sda1

/dev/sda1ルート(/)パーティションに置き換える必要がある場所。(のための1つのような他のパーティションと同じ操作を行い/boot/boot/efi/home)該当する場合。

スペースを節約する必要がある場合は、

dd if=/dev/sda1 bs=64M | gzip --fast | dd bs=32M of=/mnt/my_mounted_backup_drive/backup-sda1.gz

または、より複雑で、はるかに低速ですが、さらに数バイトを節約します。

mkdir -p /mnt/linux
mount -o ro /dev/sda1 /mnt/linux
cd /mnt/linux
tar cvJf /mnt/my_mounted_backup_drive/linux-backup.tar.xz .??* *

次に、他の方法で復元できます。

mkdir -p /mnt/linux
mount /dev/sda1 /mnt/linux
cd /mnt/linux
tar xvJf /mnt/my_mounted_backup_drive/linux-backup.tar.xz

または

dd /mnt/my_mounted_backup_drive/backup-sda1.gz bs=32M | gzip --decompress | dd bs=64M of=/dev/sda1

(あなたがあなたのデータを書いているところに注意してください、これは上のすべてを削除する/dev/sda1ので、最初にそれを正しくします:-)


PS:あなたが何かが本当に間違っていると予想するならば、のようなパーティションテーブルをバックアップしてくださいdd if=/dev/sda bs=64M count=2 of=/mnt/my_mounted_backup_drive/backup-sda。復元するときは、ディスクに書き戻すブロックが多すぎないように注意する必要があります。パーティションのレイアウトを見ない限り、ブロックの数はわかりません。gdiskまたはに従って、最初のパーティションが始まるブロックまで(含まない)復元しますfdisk
Ned64

5

rsyncを使用してシステム全体をバックアップできます。

rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* /path/to/backup/folder

で素晴らしい記事がありますアーチLinuxのWikiのそれについては、


それは私にとって最良の選択肢になるにはかなり短いです。もちろん、持っていないrsync場合はdd、USBドライブのバックアップに使用できます。
m3nda 2016年


1

FSArchiverを使用できます。これは、ファイルシステムの内容を圧縮ファイルに保存し、データを抽出するときにファイルシステムを復元します。

ドキュメントの例は次のとおりです。

fsarchiver savefs /mnt/backup/gentoo-rootfs.fsa /dev/sda1

マルチスレッド圧縮を使用することもでき、復元は簡単です。

fsarchiver restfs /mnt/backup/gentoo-rootfs.fsa id=0,dest=/dev/sda1

-1

以前の状態に戻すには、現在のファイルシステムを新しいディレクトリにマウントします。これにより、次のコマンドで指定された新しいルートディレクトリにファイルシステムがマウントされます。

mount DIR DIR

この状態を復元するには、ファイルシステムのルートを、mountコマンドで指定されたディレクトリから変更します。

umount DIR

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