次のようにしたい-私のLinux OS(centOS6.5)の現在の状態を保存します。いくつかの変更を行います(具体的には、障害を挿入し、サービスをテストして、特定の種類の障害が発生したときの動作を確認します)。次に、システムを保存された状態に復元します。 Linuxシステムでこれを行う方法を理解できません。 centOS 6.5のマシンにext4ファイルシステムがあり、これは物理サーバーであり、仮想マシンではありません。
アイデアや提案はありますか?
私はそれをシンプルに保ち、それを複製します。 USBからライブシステムを起動し(最も簡単なのはUSBサムドライブからのUbuntuです)、ハードディスクを別のパーティション(または外部ハードドライブなど)にダンプします。
dd if=/dev/sda1 bs=64M of=/mnt/my_mounted_backup_drive/backup-sda1
ここで、/dev/sda1
をルート(/
)パーティションに置き換える必要があります。該当する場合は、他のパーティション(/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
のすべてが削除されます。最初に正しく修正してください:-)
Rsyncを使用してシステム全体をバックアップできます。
rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* /path/to/backup/folder
Arch Linux Wiki に素晴らしい記事があります
Rsyncまたはrsnapshotを使用して基本的にローカルマシンをバックアップするのはどうですか。テストが完了したら、バックアップを復元します。
http://www.mikerubel.org/computers/rsync_snapshots/
同様に、LVMを使用できます。
FSArchiver を使用できます。これにより、ファイルシステムの内容が圧縮ファイルに保存され、データの抽出時にファイルシステムが復元されます。
documentation の例を次に示します。
fsarchiver savefs /mnt/backup/gentoo-rootfs.fsa /dev/sda1
マルチスレッド圧縮を使用することもでき、復元は簡単です。
fsarchiver restfs /mnt/backup/gentoo-rootfs.fsa id=0,dest=/dev/sda1