On 04/19/2010 11:12 PM, Richard W.M. Jones wrote:
On Mon, Apr 19, 2010 at 10:17:07PM +0800, Wilkinson, Alex wrote:
> The aforementioned article says that libguestfs supports VMware's
> VMDKs.
>
This is partly true. We rely on qemu's support for VMDK which is
rather sketchy. In particular, qemu cannot handle some VMDKs from ESX
4.0. However ...
> So if these VMDKs live on a vmfs on an ESX server, what do
> you recomend as the best approach to access them via libguestfs ?
> Would it be best to mount the vmfs over nfs (i.e. to a linux box
> that supports libguestfs) ?
>
Best thing is to access the flat disk image, which ESX [all versions]
makes available to you as a pseudo-file called<vm>-flat.vmdk.
Despite the ".vmdk" extension, it's really just a raw disk image which
libguestfs or any other program will have no problems with.
I can't quite remember now if this is supported from NFS, but it's
definitely supported if you ssh into the ESX storage (or use sshfs).
Don't try to edit files if the virtual machine is running. Since
there is no way for libguestfs to know if a remote VMWare VM is
running, this is doubly important when modifying VMWare images.
Rich.
Hi Richard,
ESX's vmdk file can be put on a remote linux nfs share. But maybe you
can not
share the vmfs partition to other machine by nfs service. And the format
of the vmdk
files of ESX and VMware Workstation is different. VMware provides tools
to convert between them.
If you want to know if a vm is live you can run the "vmware-cmd" which is a
standard cmd line tool in ESX. And there is APIs that can do this.
However, this might not
be the business of libguestfs. Maybe libvirt etc should do this.
Regards,
Pengzhen