Copying a VM between VCenters
I had a little task: clone an operational VM from one VCenter to another. Normally, for such a task I would use the Standalone Converter. Unfortunately, this time I ran into an annoying SSH key issue: the source VM was an old 32-bit RHEL using DSA and my Converter version only supported RSA. A different approach was needed.
In a nutshell, the solution was:
- Clone the operational VM; do not power up the clone
- Click on the clone –>
File
–>Export
–>Export OVF Template
- Pick a destination with sufficient space (I used an SMB mount on my laptop)
- Exporting as either
OVF
orOVA
works. However, I would suggestOVF
. - Prior to importing template, edit the
*.ovf
file (if you exported asOVA
, just unzip theOVA
file) - Remove the following section:
<Item ovf:required="false"> <rasd:AddressOnParent>0</rasd:AddressOnParent> <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation> <rasd:ElementName>CD/DVD drive 1</rasd:ElementName> <rasd:InstanceID>10</rasd:InstanceID> <rasd:Parent>3</rasd:Parent> <rasd:ResourceSubType>vmware.cdrom.remotepassthrough</rasd:ResourceSubType> <rasd:ResourceType>15</rasd:ResourceType> <vmw:Config ovf:required="false" vmw:key="backing.exclusive" vmw:value="false"” /> </Item>
This section defines the CDROM, which can throw thedevice 6
error on import. - Delete the
*.mf
file to avoid integrity check failure. File
–>Deploy OVF Template
–> jump through the usual hoops.- Before powering up the clone, check
NIC
settings to make sure correctVLAN
is selected and connected. - Boot the VM in single-user mode and make the necessary changes to the network config and any other settings to avoid a conflict with the production VM.
- Delete the powered-off clone in the original VCenter.
This is probably more work than it had to be, but, luckily, I don’t need to do this often.