When a virtual machine requires access to a CD or DVD, it is very typical to connect an ISO image file to the VM instead of using a physical disc. When using VMware ESX or ESXi, multiple VMs are allowed to access a single ISO image on shared storage. System Center Virtual Machine Manager 2008 (SCVMM) uses a different design — instead of sharing a single image from the library server, a copy of the image is made to the SAN for each VM before use. I have written about this before.
If VMware vCenter and SCVMM use opposing techniques to perform this operation, what happens when an administrator tries to use SCVMM to manage ESX or ESXi? Evidently not wanting to give ESX special treatment, SCVMM copies the ISO just like it does for Hyper-V.
“Copies it how?” you must be thinking. With SFTP through the ESX service console, of course!
Let’s review the numerous disadvantages of not having a shared ISO image repository:
- Takes longer to mount an ISO to a VM
- Ties up expensive SAN storage for duplicate copies of images
- Uses network bandwidth to copy these multi-gigabyte files
- Wastes ESX service console CPU cycles to receive SFTP uploads
I was giving a presentation this morning to the VMware Sales team and a question was raised by one of the participants: If you are using VMware ESXi how is the image transferred — there is no service console and therefore no SSH daemon. Not having tried this operation, I theorized that it would be done using the API — similar to how the VI Client can easily upload files to an ESXi datastore.
After that presentation, I hijacked a colleague’s ESXi system and tried to connect an ISO image to a VM. Sure enough, the file was transferred via HTTP. So far, so good.
But there was a problem. Shortly after this job finished, the VM in question started showing warning messages about not being able to locate the file. I opened the VI Client and used the datastore browser to look at the VM directory. There was no ISO image to be found.
Digging a little deeper, I grabbed the hostd.log file from the ESXi server to look for clues. Here is an excerpt:
warning] Exception while processing request: Input/output error info] Incomplete message body received for PUT /folder/win2k3r2/en_win_srv_
Looks like a problem with the SCVMM/ESXi integration. As far as I can tell the host is properly configured in SCVMM — which is accomplished by providing the root password so tasks like this can be performed. (But that’s an entirely different issue to talk about.) I separately verified that I could upload a file to that same host using the VI Client.
I must conclude that it is not possible to use SCVMM to attach an ISO image file to VMware ESXi virtual machines. Is SCVMM a single pane of glass to manage your entire virtual infrastructure? I don’t think so.