[libvirt] VMware ESX: Allow ethernet address type 'vpx'

Matthias Bolte matthias.bolte at googlemail.com
Mon Aug 10 11:18:43 UTC 2009


2009/8/10 Itamar Heim <iheim at redhat.com>:
>> From: Matthias Bolte [mailto:matthias.bolte at googlemail.com]
> ...
>>
>> The ESX driver parses the VMX file of a virtual machine to gather the
>> information needed for the dump XML function. The VMX entry
>> ethernet0.addressType maybe set to vpx if the generated MAC address
>> was generated by a vCenter and not by the ESX host itself. No direct
>> interaction between the ESX driver and a vCenter happens in this case.
>>
>> But there is direct interaction between the ESX driver and a vCenter
>> if you order the ESX driver to migrate a virtual machine from ESX host
>> A to ESX host B.
>>
>> An ESX host itself is not capable of initiating a migration to another
>> ESX host. Both hosts must be attached to the same vCenter and the
>> vCenter initiates and controls the migration. So the ESX driver needs
>> to know the vCenter for a ESX host in order to do a migration.
>> Therefore the ESX driver URI format contains an vcenter query
>> parameter.
>>
>> More detailed documentation in HTML form will be added soon.
>>
>> Matthias
>
> [IH] thanks for the elaboration. So the driver can talk to both an ESX
> server directly, or to vCenter. vCenter is used only for specific
> operations (like live migrations), and you opted to connect directly to
> ESX (rather than use vCenter API to start a VM as well) for the rest to
> allow using in a vCenter-free environment as well?

Yes, currently the driver prefers the ESX host and only uses the
vCenter for task an ESX host cannot perform on its own. This way the
vCenter can be optional and the driver also works with a vCenter-free
setups.

> Are there any other considerations to using ESX directly, or prefer to use
> vCenter (say, if you ask vCenter to start the VM, you could benefit from
> its load balancing capabilities, etc.).

Currently there are no such considerations. but I'll put this onto the
todo list to think about it.

The basic problem with the vCenter and libvirt is that the vCenter
doesn't fit into libvirt's world model. libvirt only knows about
hosts/nodes and virtual machines/domain running on them. Higher
management instances like the vCenter are outside libvirt's world
model.

> Btw, does asking ESX to start a VM from shared storage checks for locks,
> and prevents running same VM on two ESX in parallel, or must vCenter be
> used for "cluster-aware" use cases?

To be honest I'm not sure and I haven't tested it yet, but I assume a
vCenter I not necessary in this cases.

Running the same VM on two ESX hosts in parallel should be prevented
by lock files that are created by the ESX host itself.

The cluster-awareness for basic file access should be in the file system itself.

Matthias




More information about the libvir-list mailing list