It IT/Releases/12/Features/KVM NIC Hotplug

From FedoraProject

< It IT | Releases(Difference between revisions)
Jump to: navigation, search
(Created page with '= KVM NIC Hotplug = == Summary == Allow the addition of a guest network interface (NIC) a guest virtual machine without needing to restart the guest. == Own...')
 
Line 1: Line 1:
 
= KVM NIC Hotplug =
 
= KVM NIC Hotplug =
  
== Summary ==
+
== Sommario ==
 +
Consente a [[Virtualization|guest virtual machine]] di aggiungere una interfaccia di rete guest senza dover riavviare la macchina virtuale.
  
Allow the addition of a guest network interface (NIC) a [[Virtualization|guest virtual machine]] without needing to restart the guest.
+
== Progettista ==
 +
* Nome: [[User:Markmc|Mark McLoughlin]]
  
== Owner ==
+
== Stato corrente ==
 +
* Release: [[Releases/12|  Fedora 12]]
 +
* Ultimo aggiornamento: visita [[Features/KVM NIC Hotplug#Current_status | (en-wiki)]]
 +
* Completato
  
* Name: [[User:Markmc|Mark McLoughlin]]
+
=== In particolare ===
  
== Current status ==
+
* Corretti SCM_RIGHTS in qemu (in 0.11.0): [http://lists.gnu.org/archive/html/qemu-devel/2009-07/threads.html#00413 Vedere post]
 +
* Corretto unix socket monitor in libvirt (in 0.7.0): [http://libvirt.org/git/?p=libvirt.git;a=commit;h=62455ed872 Vedere commit]
 +
* Assicurato che la policy di SeLinux sia aggiornata in modo da consentire a libvirtd/qemu di usare i socket di Unix
 +
* Implementato il NIC hotplug nel driver QEMU di libvirt passando il file descriptor dell'innesto a QEMU attraverso il controllo del socket
 +
* Verificato che tutto funzioni bene in virt-manager
  
* Targeted release: [[Releases/12|Fedora 12]]
+
== Descrizione dettagliata ==
* Last updated: 2009-08-05
+
NIC hotplug è una caratteristica relativamente comune di virtualizzazione. L'idea è che si dovrebbe poter aggiungere/rimuovere una NIC da un guest mentre questi è in esecuzione. Per esempio, si vorrebbe poter connettere il guest ad una rete, senza dover riavviare il guest.
* Percentage of completion: 100%
+
  
=== Completed ===
+
Attualmente ciò è supportato da QEMU, ma soltanto se QEMU può creare e configurare l'innesto del dispositivo.
  
* SCM_RIGHTS patches [http://lists.gnu.org/archive/html/qemu-devel/2009-07/threads.html#00413 posted] for qemu (in 0.11.0)
+
libvirt crea l'innesto del dispositivo e passa il descrittore relativo a QEMU attraverso la linea di comando. Per supportare hotplug, occorre che QEMU consenta il passaggio di un descrittore attraverso il socket di QEMU.
* unix socket monitor patches [http://libvirt.org/git/?p=libvirt.git;a=commit;h=62455ed872 committed] to libvirt (in 0.7.0)
+
* Make sure selinux-policy is update to allow libvirtd/qemu to use the unix sockets
+
* Implement NIC hotplug in the libvirt QEMU driver by passing the tap file descriptor to QEMU over the monitor socket
+
* Check that it works well in virt-manager
+
  
== Detailed Description ==
+
L'unico modo per poter realizzare ciò è fare in modo che QEMU supporti il descrittore via <code>SCM_RIGHTS</code> su un socket UNIX.
  
NIC hotplug is a relatively common virtualization feature. The idea is that one should be able to add and remove NICs from a guest while it is running. For example, you might want to connect the guest to an additional network, without having to restart the guest.
+
L'alternativa sarebbe usare un innesto persistente, ma ciò renderebbe la gestione degli errori molto più complicata e richiederebbe
 +
che QEMU abbia i permessi su <code>/dev/net/tun</code>.
  
This is currently supported by QEMU, but only if you allow QEMU to create and configure the tap device itself.
 
  
libvirt prefers to create the tap device and pass the file descriptor to QEMU via the command line. In order to support hotplug, we need QEMU to allow us to pass a file descriptor over the QEMU monitor socket.
+
== Vantaggi per Fedora ==
 +
NIC hotplug è una caratteristica di virtualizzazione comunemente richiesta.
  
The only way this could conceivably be supported is to have QEMU support file descriptor passing via <code>SCM_RIGHTS</code> on a unix socket.
+
== Altre informazioni ==
 +
Per:
 +
* Obbiettivi
 +
* Test Plan
 +
* Esperienza Utente
 +
* Dipendenze
 +
* Progetto corrente
 +
* Documentazione
 +
* Note di rilascio
 +
* Commenti e Discussioni
  
The alternative is to use persistent tap devices, but this makes error/cleanup handling far more difficult and also requires that the QEMU process has permissions to <code>/dev/net/tun</code>.
+
visitare la en-wiki [[Features/KVM NIC Hotplug | Features: KVM NIC Hotplug]].
 
+
== Benefit to Fedora ==
+
 
+
NIC hotplug is a commonly requested virtualization feature.
+
 
+
== Scope ==
+
 
+
As described above, changes to QEMU and libvirt are required.
+
 
+
== How To Test ==
+
 
+
# Run virt-manager and start a guest
+
# Go to Details, click "Add Hardware", Network, add to Virtual Network, Forward, Finish
+
# virt-manager should not display a "The device could not be attached to the running machine" warning
+
# Log into the guest and use "ifconfig" to confirm that the NIC is visible in the guest
+
# Bring the interface up and test that it's working correctly
+
 
+
== User Experience ==
+
 
+
See the previous section.
+
 
+
== Dependencies ==
+
 
+
None, outside of what's describe above.
+
 
+
== Contingency Plan ==
+
 
+
We may consider persistent tap devices if upstream QEMU does not accept the need for SCM_RIGHTS support.
+
 
+
If neither gets implemented on time, the status quo will remain - virt-manager warns users that they have to restart the guest in order for the NIC to be visible in the guest.
+
 
+
== Documentation ==
+
 
+
None.
+
 
+
== Release Notes ==
+
 
+
Fedora 12 adds the ability to add a network interface to a running KVM guest using libvirt/virt-manager.
+
 
+
== Comments and Discussion ==
+
 
+
* See [[Talk:Features/KVM NIC Hotplug]]
+
  
 
[[Category:FeatureAcceptedF12]]
 
[[Category:FeatureAcceptedF12]]

Revision as of 16:14, 25 January 2010

Contents

KVM NIC Hotplug

Sommario

Consente a guest virtual machine di aggiungere una interfaccia di rete guest senza dover riavviare la macchina virtuale.

Progettista

Stato corrente

In particolare

  • Corretti SCM_RIGHTS in qemu (in 0.11.0): Vedere post
  • Corretto unix socket monitor in libvirt (in 0.7.0): Vedere commit
  • Assicurato che la policy di SeLinux sia aggiornata in modo da consentire a libvirtd/qemu di usare i socket di Unix
  • Implementato il NIC hotplug nel driver QEMU di libvirt passando il file descriptor dell'innesto a QEMU attraverso il controllo del socket
  • Verificato che tutto funzioni bene in virt-manager

Descrizione dettagliata

NIC hotplug è una caratteristica relativamente comune di virtualizzazione. L'idea è che si dovrebbe poter aggiungere/rimuovere una NIC da un guest mentre questi è in esecuzione. Per esempio, si vorrebbe poter connettere il guest ad una rete, senza dover riavviare il guest.

Attualmente ciò è supportato da QEMU, ma soltanto se QEMU può creare e configurare l'innesto del dispositivo.

libvirt crea l'innesto del dispositivo e passa il descrittore relativo a QEMU attraverso la linea di comando. Per supportare hotplug, occorre che QEMU consenta il passaggio di un descrittore attraverso il socket di QEMU.

L'unico modo per poter realizzare ciò è fare in modo che QEMU supporti il descrittore via SCM_RIGHTS su un socket UNIX.

L'alternativa sarebbe usare un innesto persistente, ma ciò renderebbe la gestione degli errori molto più complicata e richiederebbe che QEMU abbia i permessi su /dev/net/tun.


Vantaggi per Fedora

NIC hotplug è una caratteristica di virtualizzazione comunemente richiesta.

Altre informazioni

Per:

  • Obbiettivi
  • Test Plan
  • Esperienza Utente
  • Dipendenze
  • Progetto corrente
  • Documentazione
  • Note di rilascio
  • Commenti e Discussioni

visitare la en-wiki Features: KVM NIC Hotplug.