分类: LINUX
2009-10-08 22:06:29
要实现系统的备份可以使用tar和dd命令,但是tar命令主要是针对文件系统做备份,dd是针对块设备做备份。当然也可以使用dump命令实现。这次主要是使用tar命令实现。
以下是在xen环境下做的实验:
环境如下:
有俩块盘分别为/dev/xvda和/dev/xvdb,/dev/xvdb用来保存备份数据。系统安装在/dev/xvda上,无图形界面。
/dev/xvdb1为主分区,用来保存备份数据。xen的实验环境下进入救援模式和添加硬盘都需要更多的操作。下面会讲到。
先加入一块硬盘:
# virsh dumpxml why2 > why2.xml
why2是domainU的名字。
# vim /etc/xen/why2.xml
在原有disk信息后添加信息如下:
share.img是预先dd出的一个4g大的文件来作为硬盘。
# virsh create why2.xml
重启后就会多出一块硬盘。
# mount /dev/xvdb1 /mnt
# tar -zcvf /mnt/sysbak /* --exclude=/proc –exclude=/sys --exclude=/dev
备份完成后进入rescue模式。过程如下:
修改原来的why2.xml文件
删掉有bootloader的那一行。在uuid下添加:
注意:记着把安装光盘中/images/xen/中的vmlinuz和initrd复制到上面对应目录中
# virsh create why2.xml
就可以进入救援模式。
domain0上存有安装树,我选择了http方式后进入到模式当中
# mkdir /why
# mount /dev/xvda2 /why
# rm -fr /why/*
原来的根分区已经被破坏。
然后重启。
# mkdir /source
# mkdir /tar
# mount /dev/xvda2 /tar
# mount /dev/xvda1 /tar/boot
注意:上一步一定要有,否则恢复可能不成功。
# mount /dev/xvdb1 /source
# cd /source
开始恢复
# tar -zxvf sysbak -C /tar
# umount /tar/boot
# umount /tar
# mkdir /mnt/sysimage
# mount /dev/xvda2 /mnt/sysimage
# mount /dev/xvda1 /mnt/sysimage/boot
# chroot /mnt/sysimage/
执行成功后关机。
# virsh start why2
why2就可以启动和登录,恢复成功。