通过rescue的Skip模式克隆Linux系统

字体大小: 中小 标准 ->行高大小: 标准
虽然Linux系统可通过tar/cpio/dd等方法直接进行备份,但如果系统正处于运行状态,并不能保证备份出来的系统是完全干净的。由此可通过rescue的skip模式绕过操作系统进行备份,再重建initrd.img、grub可实现跨硬件平台的Linux克隆方法。   以下以RHEL6.2为例做测试,此方法同样可用于备份Windows系统。

搭建Linux的rescue环境

创建本地rescue环境
  1. # cp -rp /mnt/RHEL6/images/ /boot //从系统光盘里拷贝出images目录到相应的目录中 # vi /etc/grub.conf //向grub.conf文件中添加以下内容
  2. title RHEL6_rescue kernel /boot/images/pxeboot/vmlinuz rescue
  3. initrd /boot/images/pxeboot/initrd.img
创建基于PXE的rescue环境 详见“DHCP+TFTP+PXE自动网络引导安装Linux操作系统”中关于PXE环境搭建的说明 见 http://www.linuxidc.com/Linux/2013-03/81580.htm 另:也可通过系统光盘启动,选择进入rescue环境

备份/克隆Linux

  1. # mkdir /source /backup # mdadm -As /dev/md0 //若系统分区创建在RAID上
  2. # lvm vgscan //若系统分区创建在LVM上 # lvm vgchange -a y /dev/Lrhel6
  3. # mount /dev/Lrhel6/root /source //以下根据系统实际情况挂载所有系统目录 # mount /dev/Lrhel6/home /source/home
  4. # mount /dev/sda1 /source/boot # mount /dev/Lrhel6/backup /backup
  5. # tar zcvf /backup/os.tgz /source //备份出干净的系统文件

恢复/迁移Linux

启动系统进入rescue的Skip模式  
  1. # fdisk /dev/sdb //对新加入的磁盘进行分区 # mkdir /backup /dest
  2. # mount /dev/sda2 /backup # mount /dev/sdb2 /dest
  3. # tar zxvf /backup/os.tgz /dest
  4. # vi /dest/etc/grub.conf //根据实际情况编辑grub配置文件 # vi /dest/etc/fstab //根据实际情况编辑fstab文件
  5. # rm -rf /dest/etc/mtab //删除mtab文件,登录系统后将自动创建mtab文件 # exit
  6. reboot
  7. 重新启动系统进入rescue的Continue模式,重新生产initramfs,并安装grub # chroot /mnt/sysimage
  8. # cd /boot # mkinitrd -f initramfs-$(uname -r).img $(uname -r) //重新生成initramfs文件
  9. # grub-install --recheck --no-floppy /dev/sda
  10. 若提示Could not find device,则退出根分区重装grub,并指定根分区的路径 # exit
  11. # cp /mnt/sysimage/sbin/grub /sbin # grub-install --recheck --no-floppy --root-directory=/mnt/sysimage /dev/sda
  12. # exit # exit
  13. reboot

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/64032.html