Linuxにて、ext2/ext3ファイルシステムを使用しているときのシステムバックアップリストア方法。
(TOPICSに投稿したのを再編集して静的ページにしました)
dumpを使用してファイルシステムイメージでバックアップしているのでaclやselinuxにも対応できます。(aclやselinuxの場合は権限の箇所を適時読み替えてください)
以下の条件がそろっていることを前提とします。
ローカルディスクのマウントしている全ファイルシステム(/tmp以外)をバックアップします。
# sync #念のため
# dump -0f - <ファイルシステムデバイス> | gzip -c > /<任意の場所>/<バックアップイメージ名>
# dump -b 32 -0f /nas/backup.dump /dev/vgroot/lvroot
# fdisk -l > /<任意の場所>/fdisk_<デバイス名>.txt
# df -k > /<任意の場所>/df.txt
# cat /etc/fstab > /<任意の場所>/fs.txt
# pvdisplay > /<任意の場所>/lv.txt
# vgdisplay > /<任意の場所>/vg.txt
# lvdisplay > /<任意の場所>/vp.txt
> linux rescue (レスキューモード)
# ifconfig eth0 192.168.1.xxx netmask 255.255.255.0
# lvm vgchagne -ay
# fdisk
# lvm pvcreate <デバイス>
# lvm vgcreate <vg名> <pvデバイスファイル>
# lvm lvcreate --size <lv容量> --name <lv名> <VG名>
# mke2fs -j <ファイルシステムデバイス>
# e2label /dev/sda1 boot
# mkswap <ファイルシステムデバイス>
# lvm vgchagne -ay
# mkdir /backup
# mount -t nfs -o rsize=8192,wsize=8192,intr <NFSサーバーエクスポートディレクトリ> /backup
# mkdir /restore
# mount -t ext3 <ファイルシステムデバイス> /restore/<従来のマウントポイント>
# cd /restore/<従来のマウントポイント>
# gzip -dc /backup/<バックアップイメージ> | restore -r -T <大容量ファイルが格納できるディレクトリ> -f -
# sync
# vi /etc/fstab
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# vi /etc/sysconfig/network
# vi /etc/resolv.conf
grubをMBRにインストール
chrootしてリストア先のgrubコマンドを直接実行できるようにする。 KNOPPIXなどリストアするOSと違うディストリビューションの LiveCDを使用いる場合に有効。 この場合chroot後/devにブロックデバイスファイルは当然存在しないので作成してあげディスクにアクセスできるようにする。
# chroot /restore
# MAKEDEV hda # SATAの場合はsda
# /usr/sbin/grub
grub> root (hd0,0) ※/bootのパーティションが/dev/hda1の場合
grub> setup (hd0)
grub> quit
# exit # chrootモードを抜ける
# sync;sync;sync #←石橋を叩きたい数だけ(笑)
# exit
# chmod 1777 /tmp