天天看點

通過rescue的Skip模式克隆Linux系統

雖然Linux系統可通過tar/cpio/dd等方法直接進行備份,但如果系統正處于運作狀态,并不能保證備份出來的系統是完全幹淨的。由此可通過rescue的skip模式繞過作業系統進行備份,再重建initrd.img、grub可實作跨硬體平台的Linux克隆方法。

以下以RHEL6.2為例做測試,此方法同樣可用于備份Windows系統。

搭建Linux的rescue環境

建立本地rescue環境

# cp -rp /mnt/RHEL6/images/ /boot         //從系統CD光牒裡拷貝出images目錄到相應的目錄中

# vi /etc/grub.conf                //向grub.conf檔案中添加以下内容

title RHEL6_rescue

kernel /boot/images/pxeboot/vmlinuz rescue

initrd /boot/images/pxeboot/initrd.img

建立基于PXE的rescue環境

另:也可通過系統CD光牒啟動,選擇進入rescue環境

備份/克隆Linux

# mkdir /source /backup

# mdadm -As /dev/md0                //若系統分區建立在RAID上

# lvm vgscan                    //若系統分區建立在LVM上

# lvm vgchange -a y /dev/Lrhel6

# mount /dev/Lrhel6/root /source          //以下根據系統實際情況挂載所有系統目錄

# mount /dev/Lrhel6/home /source/home

# mount /dev/sda1 /source/boot

# mount /dev/Lrhel6/backup /backup

# tar zcvf /backup/os.tgz /source          //備份出幹淨的系統檔案

恢複/遷移Linux

啟動系統進入rescue的Skip模式

# fdisk /dev/sdb                  //對新加入的磁盤進行分區

# mkdir /backup /dest

# mount /dev/sda2 /backup

# mount /dev/sdb2 /dest

# tar zxvf /backup/os.tgz /dest

# vi /dest/etc/grub.conf              //根據實際情況編輯grub配置檔案

# vi /dest/etc/fstab                //根據實際情況編輯fstab檔案

# rm -rf /dest/etc/mtab              //删除mtab檔案,登入系統後将自動建立mtab檔案

# exit

reboot

重新啟動系統進入rescue的Continue模式,重新生産initramfs,并安裝grub

# chroot /mnt/sysimage

# cd /boot

# mkinitrd -f initramfs-$(uname -r).img $(uname -r) //重新生成initramfs檔案

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

若提示Could not find device,則退出根分區重裝grub,并指定根分區的路徑

# cp /mnt/sysimage/sbin/grub /sbin

# grub-install --recheck --no-floppy --root-directory=/mnt/sysimage /dev/sda

     本文轉自Vnimos51CTO部落格,原文連結:http://blog.51cto.com/vnimos/1151443,如需轉載請自行聯系原作者

繼續閱讀