We have a number of computers based on the old HP ProLiant Gen1 blades, and we are going to get rid of that. It is impossible to reinstall the software which is licensed and support requirement are quite tough, we decided to virtualize is's system as is. We know that software will still work; it's Oracle based, and in particular we support the life of this system by moving hard disks into another similar blade when this one dies; this was done already several times, but it can't be like that forever. The problem is that we are going to use VMWare, but the OS is i686, so the VMWare's own converter is impossible to use.
The way to go is to make a VM and clone a hard disk into its virtual disk. While it is not a problem to boot the original computer and VM from the Live CD and simply send a dd
stream through SSH, and write it to the disk in the VM, I wonder if that could be done in a more efficient way.
In Linux, I can write the vmdk file without running a VM in the following way:
qemu-img create -f vmdk hdd.vmdk
modprobe nbd
qemu-nbd -c /dev/nbd0 hdd.vmdk
Now, I simply dump stream onto this /dev/nbd0
device and it happens inside hdd.vmdk
file. Then I can disconnect it from nbd and attach to a virtual machine.
It is possible to do the same in the ESXi host (not in the VM)? I can create a virtual hard disk image using vmkfstools
and there are ssh
and dd
in the host, the only missing part is this nbd stuff, or whatever could replace it.