将Lvm快照用于新的(KVM)虚拟机

我需要将一台CentOS5(32位)物理服务器迁移到虚拟机中。 我的想法是拍LV的快照,然后导入kvm创build一个新的vm。 这是一个好主意吗? 更确切地说,我有一个磁盘:

[root@cs5 ~]# fdisk -l Disco /dev/sda: 292.3 GB, 292326211584 byte 255 heads, 63 sectors/track, 35539 cylinders Unità = cilindri di 16065 * 512 = 8225280 byte Dispositivo Boot Start End Blocks Id System /dev/sda1 1 9 72261 de Dell Utility /dev/sda2 * 10 271 2104515 b W95 FAT32 /dev/sda3 272 284 104422+ 83 Linux /dev/sda4 285 35539 283185787+ 5 Esteso /dev/sda5 285 35539 283185756 8e Linux LVM 

 [root@cs5 ~]# mount /dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) /dev/sda3 on /boot type ext3 (rw) tmpfs on /dev/shm type tmpfs (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) 

所以PV,VG和LV是:

 [root@cs5 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda5 VolGroup00 lvm2 a- 270,06G 0 [root@cs5 ~]# vgs VG #PV #LV #SN Attr VSize VFree VolGroup00 1 2 0 wz--n- 270,06G 0 [root@cs5 ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert LogVol00 VolGroup00 -wi-ao 264,91G LogVol01 VolGroup00 -wi-ao 5,16G 

如上所示,我将/ dev / sda3挂载在/ boot和2 LV中,一个用于/和另一个用作交换分区。 我认为我需要的唯一快照是LogVol00,对不对?

此时,我需要将另一个磁盘添加到PV,然后将其添加到VG,最后创build快照

 lvcreate -L XXG -s -n data_snap /dev/VolGroup00/LogVol00 

现在,我怎样才能在vm中导入该快照? 我可以创build一个tar.gz的快照,或者我可以使用dd,但是我没有vm的启动分区。 我应该先安装一个新的虚拟机,然后(以单一模式启动)覆盖/(除/启动)中的所有文件? 有没有其他的方法? 谢谢

你基本上有三个select:

  • 用live CD / USB启动,获取整个 / dev / sda的副本,然后在KVM主机上恢复。
  • 复制LVM卷(通过快照,或更好的方法是通过CD / USB启动,并在LVM卷处于非活动状态时复制LVM卷) / boot分区。 然后,实时启动您的虚拟机,恢复分区,chroot到最近恢复的根目录,并重新安装MBR上的GRUB
  • 如果适用,您可以使用Red Hat的p2v工具

如果所有的方法都失败了,那么最好的select是安装一个新的RHEL 5 guest,并从旧机器上迁移数据(例如:通过rsync)