虽然Linux系统可通过tar/cpio/dd等方法直接进行备份,但如果系统正处于运行状态,并不能保证备份出来的系统是完全干净的。由此可通过rescue的skip模式绕过操作系统进..."> 虽然Linux系统可通过tar/cpio/dd等方法直接进行备份,但如果系统正处于运行状态,并不能保证备份出来的系统是完全干净的。由此可通过rescue的skip模式绕过操作系统进..." /> 虽然Linux系统可通过tar/cpio/dd等方法直接进行备份,但如果系统正处于运行状态,并不能保证备份出来的系统是完全干净的。由此可通过rescue的skip模式绕过操作系统进..." />
用户登录
用户注册

分享至

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

  • 作者: 微爱喵
  • 来源: 51数据库
  • 2020-08-25
editor-side-new">

虽然Linux系统可通过tar/cpio/dd等方法直接进行备份,但如果系统正处于运行状态,并不能保证备份出来的系统是完全干净的。由此可通过rescue的skip模式绕过操作系统进行备份,再重建initrd.img、grub可实现跨硬件平台的Linux克隆方法。

以下以RHEL6.2为例做测试,此方法同样可用于备份Windows系统。

搭建Linux的rescue环境

  • 创建本地rescue环境


  1. # cp -rp /mnt/RHEL6/p_w_picpaths/ /boot         //从系统光盘里拷贝出p_w_picpaths目录到相应的目录中

  2. # vi /etc/grub.conf                //向grub.conf文件中添加以下内容

  3. title RHEL6_rescue

  4. kernel /boot/p_w_picpaths/pxeboot/vmlinuz rescue

  5. initrd /boot/p_w_picpaths/pxeboot/initrd.img

  • 创建基于PXE的rescue环境

详见“DHCP+TFTP+PXE自动网络引导安装Linux操作系统”中关于PXE环境搭建的说明

另:也可通过系统光盘启动,选择进入rescue环境

备份/克隆Linux


  1. # mkdir /source /backup

  2. # mdadm -As /dev/md0                //若系统分区创建在RAID上

  3. # lvm vgscan                    //若系统分区创建在LVM上

  4. # lvm vgchange -a y /dev/Lrhel6

  5. # mount /dev/Lrhel6/root /source          //以下根据系统实际情况挂载所有系统目录

  6. # mount /dev/Lrhel6/home /source/home

  7. # mount /dev/sda1 /source/boot

  8. # mount /dev/Lrhel6/backup /backup

  9. # tar zcvf /backup/os.tgz /source          //备份出干净的系统文件

恢复/迁移Linux

启动系统进入rescue的Skip模式


  1. # fdisk /dev/sdb                  //对新加入的磁盘进行分区

  2. # mkdir /backup /dest

  3. # mount /dev/sda2 /backup

  4. # mount /dev/sdb2 /dest

  5. # tar zxvf /backup/os.tgz /dest

  6. # vi /dest/etc/grub.conf              //根据实际情况编辑grub配置文件

  7. # vi /dest/etc/fstab                //根据实际情况编辑fstab文件

  8. # rm -rf /dest/etc/mtab              //删除mtab文件,登录系统后将自动创建mtab文件

  9. # exit

  10. reboot

  11. 重新启动系统进入rescue的Continue模式,重新生产initramfs,并安装grub

  12. # chroot /mnt/sysp_w_picpath

  13. # cd /boot

  14. # mkinitrd -f initramfs-$(uname -r).img $(uname -r) //重新生成initramfs文件

  15. # grub-install --recheck --no-floppy /dev/sda

  16. 若提示Could not find device,则退出根分区重装grub,并指定根分区的路径

  17. # exit

  18. # cp /mnt/sysp_w_picpath/sbin/grub /sbin

  19. # grub-install --recheck --no-floppy --root-directory=/mnt/sysp_w_picpath /dev/sda

  20. # exit

  21. # exit

  22. reboot


软件
前端设计
程序设计
Java相关