写出来还是挺简单的,解决问题的过程还是挺辛苦的,主要是google一些资料,还要甄别出部分资料的误导。
问题的来源:
10号上午,偶打算用ghost备份linux系统,在机房进行实际操作的时候,发现ghost(版本11)提示系统内有LVM,它可以备份,但是可能恢复的时候会有问题,就做了备份,但没敢做恢复试验。回来问专家,并google一些资料,发现大多数人都是说不行的,偶直接放弃恢复的想法。google的时候,发现了clonezilla真么个开源东东。
10号下午,偶和丁丁去机房做测试,用clonezilla还算顺利,成功备份出来,直接傻大胆的测试了一下,也成功了。由于ibm的developworks说可以进行p2v试验,丁丁兴趣就比较大了。
11号,偶在机房,把6台linux机器做了clonezilla的镜像,把1台win2008机器做了ghost镜像。下午在丁丁的虚拟环境中进行恢复试验,到下班的时候接近尾声,后来丁丁给我短信,启动失败。
12号,上午查资料,晚上也抽空google一下。
13号,牛年最后一天了,休息。
14号上午,虎年第一天就要值班,闲来无事,继续恢复linux系统的实验,综合google出来的方法基本上直接成功。
问题点:引导时,kernel panic,找不到硬盘,找不到vg,找不到lv等等。但是如果用引导光盘进去linux rescue发现一切都是好的,lv/pv/vg都可以看到,所以估计还是引导过程出的问题,事实上也仅仅是需要重新编译一下initrd,让它具有vmware环境里硬盘的驱动就可以了。vmware缺省的scsi硬盘是lsilogic型号的。
环境说明:
物理机:DELL R710, Asianux3sp2-64bit
虚拟机:DELL R710, Vmware Esx4(vSphere)
所用软件版本:clonezilla-live-1.2.3-27.iso, rhel-server-5.3-x86_64-dvd.iso
有用的资料:
http://www.ibm.com/developerworks/cn/linux/l-clonezilla/index.html
http://hi.baidu.com/%C7%E1%D2%F7%CD%F9%CA%C2/blog/item/de57aa943bb00f41d0135e07.html
http://tzahid.spaces.live.com/blog/cns!E99E74DBE0A928BC!595.entry
http://www.mondorescue.org/docs/p2v.pdf
http://cdnetworks-kr-1.dl.sourceforge.net/project/clonezilla/clonezilla_live_stable/clonezilla-live-1.2.3-27.iso
丁丁找到的克隆Linux开源资料:
1.g4l http://sourceforge.net/projects/g4l/
2.Mondorescue http://www.mondorescue.org/
3.partimage http://www.partimage.org/
4.Clonezilla http://clonezilla.org/
操作步骤:(测试成功)
1,使用clonezilla live进行备份。
可备份到移动硬盘上,或者网络上。
不管使用哪种方式,都建议将备份好的image放到网络上,便于后续的恢复工作。
记录一下,当前1.2.3版本的clonezilla还不认识R710的网卡,所以引导过程需要超时4次,每次1分钟,因为机器有4块网卡,耗时。当了后边vmware环境中,它就认识那个网卡了,启动非常快速。
2,在虚拟机中创建一个新的虚拟机。
注意硬盘不能小于物理机的硬盘。
3,启动虚拟机,并以clonezilla live光盘引导。
进入shell模式,使用fdisk对本地的硬盘进行分区,只需要创建一个分区,保存分区表。
重启虚拟机。
sudo su -
fdisk -l
fdisk /dev/sda;(创建分区)
reboot
4,再次以clonezilla live光盘引导,启动虚拟机,进行linux系统的恢复。
进行恢复。使用网络资源进行恢复,本地机器设置静态ip即可,我使用的ssh方式挂载镜像数据,非常方便。
5,恢复系统以后,调整一些参数。
如果不执行此步骤,直接启动虚机硬盘引导,会遇到panic之类的严重错误,其实就是找不到合适的引导盘。
用linux的安装光盘(随便哪个版本都可以,只要是Linux即可,版本与主机系统相同是最好)引导虚拟机启动,进入linux rescue模式。
然后执行mkinitrd命令,重建initrd即可。
如果有多余的文件系统,可以修改/etc/fstab文件进行注释,如果原来物理机里有多块本地硬盘,或者加载有iscsi/san等网络磁盘,都需要修改这个文件。
6,重启就好了。
poertoff虚机,修改虚机设置,将光驱挂载去掉,虚拟机可以不要光盘引导了,可以自行引导了。
power on之后,虚机不再报错了,系统正常了!
只需要修改自己的网络地址,所有服务已正常。
==============================================================
linux rescue
chroot /mnt/sysimage/
vi /etc/fstab
vi /etc/modprobe.conf
cp -p /boot/initrd-2.6.18-128.7AXS3.img /boot/initrd-2.6.18-128.7AXS3.img.old
mkinitrd -v -f /boot/initrd-2.6.18-128.7AXS3.img 2.6.18-128.7AXS3
内核版本可以看这里:ls -l /lib/modules/
cat /etc/modprobe.conf
alias scsi_hostadapter mptbase
alias scsi_hostadapter1 mptspi
alias scsi_hostadapter2 ata_piix
需要注释掉原来的有关scsi_hostadpter(n)之类的命令行。
vmware的虚拟硬盘是lsilogic,需要装载mpt系列驱动。
cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0C:29:A3:6D:28
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=10.10.10.250
GATEWAY=10.10.10.254
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
没有评论:
发表评论