Tuesday, April 3, 2012

vConverter 5 P2V Windows XP "server"

Let's see if I remember all the steps for this P2V.

Source machine was a physical Windows XP "server" on one subnet; destination was a new vSphere 5 environment on a second subnet. No routing between the two subnets, just another physical Windows XP workstation with nics on both subnets that I could install vConverter on.

After fighting with SSL certs with vConverter (an issue with the source machine's external firewall), I opted to turn off ssl in vConverter:
  • Path for XP [and probably Windows 2003] C:\Documents and Settings\All Users\Application Data\VMware\VMware vCenter Converter Standalone\converter-worker.xml (the path for 2008 Server / Windows 7 is hidden folder C:\ProgramData\VMware\VMware vCenter Converter Standalone\converter-worker.xml)
  • Edit the <nfc> <useSsl> statement from true to false
  • Restart the vConverter Worker service 
I've done plenty of cross-network P2Vs before. Your vConverter server is your go between. P2V the source physical machine to a VMware Workstation image on a shared directory on the vConverter host and then V2V the workstation image to your vSphere environment.

For this case, I didn't have a ton of extra space on the vConverter machine, so I needed to shrink the physical 80G IDE partition down to 20G (12G in use). No problems here and the "optimize partition alignment" option gives me plenty of warm fuzzies.

I booted up the final vSphere version, finished vmware tools intstall and got set to extend the C partition back out for future growth.

No dice.

IDE vmdk's can not be extended.

No problem, says Google. Swap the disk adapter in vConverter. So I go back to the workstation image of the source and V2V again with lsilogic parallel.


V2V with Buslogic?


Plan D: Change the IDE disk to SCSI.
  • Clone the IDE version of the XP "server" for backup.
  • Grab the lsilogic drivers from www.lsi.com/support 
    • Your Windows XP 32bit version will be something like LSI20320-R_xp_50700_01034132IT_1201800_1005239.zip 
    • 64bit XP: LSIMPT_SCSI_WinXP_1.28.03.zip
    • VMware's KB article mentions the different versions but doesn't specify the 1.28.03 is for 64bit XP only. We'll see if they update the doc with my comment. 
  • I created a virtual floppy on one guest in the environment and copied over these files onto the floppy for future use (I'm sure they'll be needed again).
  • Create a new vHDD with lsilogic parallel on scsi0:1; size doesn't matter, thin. 
  • Attach the vFloppy to the XP VM (note: vFloppies can only be connected to a single VM at a time) and install the correct drivers. Shutdown the XP VM.
  • This process assumes there are no snapshots.
  • Double dream hands time:
    • Open ssh on one of the esxi servers, login, su to root and change directory to the XP VM that we've been screwing with.
    • ls -l to get the byte count of the ide vmdk
    • vmkfstools -c <size in bytes> -d thin -a lsilogic <name of new temp vmdk>
    • Copy a backup of the ide .vmdk disk descriptor file (*not* the large -flat.vmdk)
    • Copy a backup of the vmx file
    • cat <name of new temp vmdk> ; note the following parameters: 
      • ddb.geometry.cylinders = "#"
      • ddb.geometry.heads = "#"
      • ddb.geometry.sectors = "#"
      • ddb.adapterType = "lsilogic"
    • vi <ide vmdk> and change the settings listed above to the values from the <temp vmdk> that you just copied down; save & close. 
    • vi <vmx file> and you'll need to look around and change a few areas: 
      • For ide0:0 that is your virtual hard disk, change all values to start with scsi0:0
      • For ide0:1 that is probably listed as your cdrom; update these values to ide0:0 
      • Look for a value scsi0:0.present = "false" and update this to "true"
      • ide0:1.present should be updated to "false"  (you might be able to delete this line)
      • save & close
    • Try turning on the XP VM. If all has gone according to plan, you should boot without issue. Do a little dance (see link above for inspiration).
    • Delete the temp vmdk and the backup files from within your ssh session
  •  Shut the VM back down and extend the C: partition (while you're at it, delete the scsi0:1 disk)
    • Extend the vHDD from the vSphere Client GUI
    • Boot from your favorite partition changer iso. I'm partial (ha!) to gparted...it's not let me down yet.
    • Start the XP VM up again and probably go through a disk check. This is normal. 
Even Marquese gets DDH at 1:06