Updated: April 8, 2009
This tutorial may not be applicable to many home users, but if you happen to be using VMware ESXi in your environment for whatever reason, then you will like this article.
VMware ESXi is a bare-metal hypervisor, offered for free, a sort of a teaser meant to convince you into buying the more fully featured ESX Server product, which has it all, including the infinitely higher price. The ESXi is a sort of a poor man's solution for bare-metal virtualization. As such, it lacks some of the seemingly obvious functions of the main product. Like cloning. Luckily, cloning machines in ESXi is a relatively simple affair.
For more about virtualization in general, please read my other tutorials. Furthermore, you should read the first article, which explains the cloning of virtual machine on VMware Server, another free VMware virtualization product, aimed at desktop use.
Cloning virtual machines on VMware ESXi
The demonstration is done using VMware Infrastructure Client on Windows, so Linux users please forgive me ... but the idea remains the same.
Step 1: Start VMware Infrastructure Client
If you're using ESXi, you will notice it is different from the Server. This is because the machine running ESXi has no other software installed on it. This means you will not be working on that machine directly. Instead, you will use client machines to connect to the ESXi and remotely administrate the virtual machines.
In this regard, ESXi is similar to remotely connecting to VMware Server from another machine. However, while the Server allows you to also work on the local host, ESXi is limited to remote connections only. The interface used for the work is the Infrastructure Client. The Client is free for evaluation, after which you will need to work out a package deal with VMware. Now, this is what we can do with Server:
The VMware ESXi has no local connection, thus this is what we get with VMware Infrastructure Client (for ESXi):
Now, connect to your server machine:
Step 2: Open the datastore
Virtual machines are kept in datastores. Open the relevant one.
You will get something like this:
You will have one or more virtual machines in your datastore. These can be Linux, Windows or any other sort. For the purpose of this exercise, the actual names are completely irrelevant.
Step 3: Create destination folder
Simply click on the menu bar on the yellow folder icon and create one. Give it a logical name, similar to your original.
Step 4: Copy files
From the original folder, copy the .vmx and .vmdk files to your destination folder. It's the simple matter of right-clicking on the relevant files and selecting copy and later paste. You can also copy entire contents of the original folder if you want, including .iso images, the memory contents and anything else.
Step 5: Register the cloned virtual machine
This is the tricky step. Unlike VMware Server, the Infrastructure Client does not have the File > Open option, allowing you to browse for existing .vmx configuration files and registering them. So it seems you might be stuck.
The answer lies in the datastore. In the destination folder, where you have just created your clone, right-click on the .vmx configuration file. Select Add to Inventory.
This will add the file to the list of available virtual machines. Now, you can change the settings, edit the name etc. Job done. Simple eh?
Working with ESXi datastores is slightly different from your average file / folder manipulation, mainly because you're working with a remote host. It's similar to working with an FTP client and connecting to a server.
If you're a desktop user, ESXi will probably remain a strange beast in the world of virtualization. If you're running a SOHO or have a few machines to spares, you might enjoy the thrill of running a dedicated virtualization platform. And then, being able to quickly clone your virtual machines will save you lots of time.
Cloning files also provides you with backups. Although ESXi offers multiple snapshots, which act as incremental backups, you can always resort to simple copies as pure backups of your virtual machines. Hopefully, this article will be useful to some of you.