Most of this was taken from this site: http://conshell.net/wiki/index.php/Linux_P2V
Up front work
Determine exactly what you’re doing, and the resources you’ll need on the VMware side.
total: 39070080 blocks
To find the size in GB, divide by 1024 twice.
39070080/1024/1024 = 37.260 GB
Partition layout – know exactly the partitions, sizes and FS types. This can be gleaned from the output of `fdisk -l /dev/sda` and the content of /etc/fstab.
Disk types – IDE? SATA?
Downtime – Unfortunately, your source system must be down for the duration of the P2V process.
Have a copy of the system rescue CD ready. Boot the source system to it.
On the source system:
Back up the kernel’s ramdisk
cp /boot/initrd-`uname -r`.img /root/`uname -r`.bak
Make a new ramdisk with VMware-friendly RHEL scsi drivers
mkinitrd -v -f –with=mptscsih /boot/initrd-`uname -r`.img `uname -r`
This command will make SCSI drivers that VMware needs to use available to RHEL at boot time. This should not affect the source system.
md5sum /dev/sda – record the last six characters of the output. This generates a fingerprint used to verify integrity at the end.
On the target system:
Create a new VM
OS: Linux (RHEL 4/5)
Disk slightly larger than source system
NIC: upgrade to VMware tools
CDROM: System Rescue CD ISO
Boot the system, make sure the disks are recognized (sfdisk -s). Verify network is up with ifconfig eth0.
This part takes a while. Boot both systems to the system rescue CD. Try making a benchmark.
Make a 1 GB File on the source system, set the target to prepare for an incoming transmission:
Source: dd if=/dev/zero of=bigfile bs=1024 count=1048576
Target: nc -l -p 9001 | dd of=/dev/sda
Write down the start time.
Source: dd if=bigfile | nc 9001
Write down the finish time.
Estimate accordingly. (e.g., 20 gb would be at least 20 times longer)
For the “real” copy, remember you are copying a device to a device.
nc -l -p 9001 | dd of=/dev/sda
dd if=/dev/sda | nc 9001
There may be differing builds of nc, so your mileage may vary regarding the switches for ports. use nc –help to find out which version of the rescue CD. To gauge how long this would take you may want to try using pipe viewer.
One the source machine, if you need it to boot again you may need to run this command:
mv /root/`uname -r`.bak /boot/initrd-`uname -r`.img
VMware vCenter Converter 4.0 supports RHEL P2V. Win.