feature suggestion: migration network

Yaniv Kaul ykaul at redhat.com
Tue Jan 8 14:46:10 UTC 2013


On 08/01/13 15:04, Dan Kenigsberg wrote:
> There's talk about this for ages, so it's time to have proper discussion
> and a feature page about it: let us have a "migration" network role, and
> use such networks to carry migration data
>
> When Engine requests to migrate a VM from one node to another, the VM
> state (Bios, IO devices, RAM) is transferred over a TCP/IP connection
> that is opened from the source qemu process to the destination qemu.
> Currently, destination qemu listens for the incoming connection on the
> management IP address of the destination host. This has serious
> downsides: a "migration storm" may choke the destination's management
> interface; migration is plaintext and ovirtmgmt includes Engine which
> sits may sit the node cluster.
>
> With this feature, a cluster administrator may grant the "migration"
> role to one of the cluster networks. Engine would use that network's IP
> address on the destination host when it requests a migration of a VM.
> With proper network setup, migration data would be separated to that
> network.
>
> === Benefit to oVirt ===
> * Users would be able to define and dedicate a separate network for
>    migration. Users that need quick migration would use nics with high
>    bandwidth. Users who want to cap the bandwidth consumed by migration
>    could define a migration network over nics with bandwidth limitation.
> * Migration data can be limited to a separate network, that has no
>    layer-2 access from Engine
>
> === Vdsm ===
> The "migrate" verb should be extended with an additional parameter,
> specifying the address that the remote qemu process should listen on. A
> new argument is to be added to the currently-defined migration
> arguments:
> * vmId: UUID
> * dst: management address of destination host
> * dstparams: hibernation volumes definition
> * mode: migration/hibernation
> * method: rotten legacy
> * ''New'': migration uri, according to http://libvirt.org/html/libvirt-libvirt.html#virDomainMigrateToURI2 such as tcp://<ip of migration network on remote node>
>
> === Engine ===
> As usual, complexity lies here, and several changes are required:
>
> 1. Network definition.
> 1.1 A new network role - not unlike "display network" should be
>      added.Only one migration network should be defined on a cluster.
> 1.2 If none is defined, the legacy "use ovirtmgmt for migration"
>      behavior would apply.
> 1.3 A migration network is more likely to be a ''required'' network, but
>      a user may opt for non-required. He may face unpleasant surprises if he
>      wants to migrate his machine, but no candidate host has the network
>      available.
> 1.4 The "migration" role can be granted or taken on-the-fly, when hosts
>      are active, as long as there are no currently-migrating VMs.
>
> 2. Scheduler
> 2.1 when deciding which host should be used for automatic
>      migration, take into account the existence and availability of the
>      migration network on the destination host.
> 2.2 For manual migration, let user migrate a VM to a host with no
>      migration network - if the admin wants to keep jamming the
>      management network with migration traffic, let her.
>
> 3. VdsBroker migration verb.
> 3.1 For the a modern cluster level, with migration network defined on
>      the destination host, an additional ''miguri'' parameter should be added
>      to the "migrate" command
>
> _______________________________________________
> Arch mailing list
> Arch at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/arch

How is the authentication of the peers handled? Do we need a cert per 
each source/destination logical interface?
Y.




More information about the Arch mailing list