From Fedora Project Wiki

(Created page with '= KVM Stable Guest ABI = == Summary == Allow guest virtual machines to be presented with the same ABI across QEMU upgrades. The idea is that the hardware pr...')
 
No edit summary
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{old}}
= KVM Stable Guest ABI =
= KVM Stable Guest ABI =


== Summary ==
== Sommario ==


Allow [[Virtualization|guest virtual machines]] to be presented with the same ABI across QEMU upgrades.
Consentire a [[it_IT/Virtualization|guest virtual machines]] di essere presentati con lo stesso ABI attraverso aggiornamenti di QEMU.


The idea is that the hardware profile of the virtual machine should not change when QEMU is upgraded.
L'idea è che il profilo hardware della macchina virtuale non dovrebbe cambiare quando QEMU è aggiornato. Ciò è particolarmente importante per guest di Windows in cui una modifica dell'ABI potrebbe richiedere la riattivazione dei processi di installazione di Windows.  


This is particularly important for Windows guests where a guest ABI change may require Windows installs to be reactivated.
Vedere anche [[it_IT/Releases/13/Features/KVM Stable PCI Addresses|KVM Stable PCI Addresses]].


See also [[Features/KVM Stable PCI Addresses]].
== Progettista ==
* Nome: [[User:Markmc|Mark McLoughlin]]


== Owner ==
== Stato corrente ==
* Rilascio: [[Releases/12|  Fedora 12]]
* Per informazioni aggiornate sullo stato di ''KVM Stable Guest ABI'' consultare la [[Features/KVM Stable Guest ABI#Current_status | pagina originale]].


* Name: [[User:Markmc|Mark McLoughlin]]
== Descrizione dettagliata ==
Gli ospiti KVM sono presentati con una piattaforma hardware emulata (p.e. un modello CPU, APIC, PIT, tabelle ACPI, controllori IDE/USB/VGA, NICs ecc.). Quando QEMU è aggiornato ad una nuova versione, alcuni aspetti di questa piattaforma potrebbero cambiare se vengono aggiunte nuove funzionalità.


== Current status ==
Dal puto di vista del S.O. dell'ospite, ciò equivale ad aggiornare una piattaforma hardware e potrebbe, nel caso di Windows, richiedere l'attivazione del processo d'installazione di Windows. Per evitare tale inconveniente, le macchine ospiti dovrebbero continuare a funzionare in modo trasparente sulle loro piattaforme originali, anche quando QEMU viene aggiornato.


* Targeted release: [[Releases/12|Fedora 12]]
Una serie di [[KVM_Stable_Guest_ABI_Design_Notes|solutions]] sono state discusse nel progetto. Alla fine si è deciso che ogni release dovrebbe aggiungere un nuovo tipo di macchina (p.e. <code>qemu -M pc-0.11</code>) e il tipo della macchina <code>pc</code> dovrebbe essere un alias di quella più recente. Ciò consente a libvirt di determinare qual'è il tipo di macchina più recente quando il guest viene creato e usare quel tipo in futuro.
* Last updated: 2009-08-05
* Percentage of completion: 100%


=== Completed ===
== Vantaggi per Fedora ==
Questa caratteristica dovrebbe rimuovere un notevole inconveniente nel supporto alla virtualizzazione di Windows in Fedora.


* Settled on a [[KVM Stable Guest ABI Design Notes|solution]].
== Documentazione ==
* QEMU patches to add the <code>pc-0.10</code> machine type [http://lists.gnu.org/archive/html/qemu-devel/2009-07/threads.html#00478 posted] and [http://lists.gnu.org/archive/html/qemu-devel/2009-07/msg01129.html accepted] for 0.11
* Izik's [http://lists.gnu.org/archive/html/qemu-devel/2007-11/msg00620.html patch] (Novembre 2007)
* QEMU patches [http://lists.gnu.org/archive/html/qemu-devel/2009-07/msg01718.html posted] to add the <code>pc-0.11</code> machine type and alias it to <code>pc</code>
* Markus's [http://lists.gnu.org/archive/html/qemu-devel/2009-01/msg01480.html patch series] (Gennaio 2009)
* libvirt patch [http://www.redhat.com/archives/libvir-list/2009-July/msg00592.html posted] to make it canonicalize QEMU machine types when the guest is first created
* Markus's [http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg00766.html machine description format RFC] (Febraio 2009)
* Ensure the remaining patches for libvirt and QEMU are accepted and included in Fedora 12
* Testing
 
== Detailed Description ==
 
KVM guests are presented with an emulated hardware platform that includes (e.g. a CPU model, APIC, PIT, ACPI tables, IDE/USB/VGA controllers, NICs etc.). When QEMU is updated to a new version, some aspects of this platform may change as new hardware capabilities are added to that platform.
 
From the guest OS point of view, this is equivalent to updating a physical hardware platform and may, in the case of Windows, require the OS install to be activated. To avoid such issues, guest machines should transparently continue to run on their original platform, even when QEMU is upgraded.
 
A number of [[KVM_Stable_Guest_ABI_Design_Notes|solutions]] were discussed upstream. In the end, it was decided that each release should add a new machine type (e.g. <code>qemu -M pc-0.11</code>) and the <code>pc</code> machine type should be an alias for the latest. This allows libvirt to determine what the latest machine type is when the guest is created and use that machine type in future.
 
== Benefit to Fedora ==
 
This feature would remove a significant issue with Fedora's virtualization support of Windows.
 
== Scope ==
 
The work required is limited to QEMU and libvirt. No other Fedora packages would be affected.
 
== How To Test ==
 
* Ensure that <code>libvirt >= 0.7.0-1</code> and <code>qemu-kvm >= 2:0.10.91-0.4.rc1</code> is installed
* Install a guest using e.g. <code>virt-install</code>
* Check the XML configuration of the guest using <code>virsh dumpxml</code> and verify the <code>machine</code> property of the <code>&lt;os&gt;&lt;type&gt;</code> element is <code>pc-0.11</code>
 
== User Experience ==
 
It should be possible to upgrade QEMU without causing Window's guests to require reactivation.
 
== Dependencies ==
 
The main dependency is agreeing upstream on the QEMU part of the solution.
 
== Contingency Plan ==
 
No contingency plan required; if one of the solutions is not implemented, the feature will not be available and nothing else will be affected.
 
== Documentation ==
 
* Izik's [http://lists.gnu.org/archive/html/qemu-devel/2007-11/msg00620.html patch] (November 2007)
* Markus's [http://lists.gnu.org/archive/html/qemu-devel/2009-01/msg01480.html patch series] (Jan 2009)
* Markus's [http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg00766.html machine description format RFC] (February 2009)
* Markus's [http://lists.gnu.org/archive/html/qemu-devel/2009-04/msg01946.html tenth iteration of his machine description patches] (April 2009)
* Markus's [http://lists.gnu.org/archive/html/qemu-devel/2009-04/msg01946.html tenth iteration of his machine description patches] (April 2009)
* First thread where [http://lists.gnu.org/archive/html/qemu-devel/2009-05/msg01491.html saveabi] idea came up (May 2009)
* First thread where [http://lists.gnu.org/archive/html/qemu-devel/2009-05/msg01491.html saveabi] idea came up (Maggio 2009)
* Most recent [http://lists.gnu.org/archive/html/qemu-devel/2009-06/msg00735.html discussion] (June 2009)
* Most recent [http://lists.gnu.org/archive/html/qemu-devel/2009-06/msg00735.html discussion] (Giugno 2009)
* [http://lists.gnu.org/archive/html/qemu-devel/2009-07/threads.html#00481 Patch] adding the pc-0-10 machine type
* [http://lists.gnu.org/archive/html/qemu-devel/2009-07/threads.html#00481 Patch] per aggiungere il tipo macchina pc-0-10
* Gerd's [http://lists.gnu.org/archive/html/qemu-devel/2009-07/msg01129.html patches] to add the pc-0.11 machine type
* Gerd's [http://lists.gnu.org/archive/html/qemu-devel/2009-07/msg01129.html patches] per aggiungere il tipo macchina pc-0-11
* [http://lists.gnu.org/archive/html/qemu-devel/2009-07/msg01718.html Patches] to add the <code>pc-0.11</code> machine type and alias it to <code>pc</code>
* [http://lists.gnu.org/archive/html/qemu-devel/2009-07/msg01718.html Patches] per aggiungere il tipo macchina  <code>pc-0.11</code> e l'alias a <code>pc</code>
* [http://www.redhat.com/archives/libvir-list/2009-July/msg00592.html libvirt patch]
* [http://www.redhat.com/archives/libvir-list/2009-July/msg00592.html libvirt patch]
* [[KVM_Stable_Guest_ABI_Design_Notes|Notes]] on the potential solutions considered.
* [[KVM_Stable_Guest_ABI_Design_Notes|Notes]] on the potential solutions considered.


== Release Notes ==
== Altre informazioni ==  
 
Per:
KVM guests in Fedora 12 now have a stable ABI, reducing the chance that Windows guests will require reactivation when QEMU is upgraded in future.
* Obiettivi
* Test Plan
* Esperienza Utente
* Dipendenze
* Progetto corrente
* Note di rilascio
* Commenti e Discussioni


== Comments and Discussion ==
visitare la en-wiki [[Features/KVM Stable Guest ABI | Features: KVM Stable Guest ABI]].


* See [[Talk:Features/KVM Stable Guest ABI]]
[[Category:Italiano]]
[[Category:F-12 Features IT|{{SUBPAGENAME}}]]
[[Category:Virtualization IT|{{SUBPAGENAME}}]]


[[Category:FeatureAcceptedF12]]
[[Category:FeatureAcceptedF12]]
[[Category:Virtualization|KVM Stable Guest ABI]]
[[Category:Virtualization|KVM Stable Guest ABI]]
[[Category:F12_Virt_Features|KVM Stable Guest ABI]]
[[Category:F12_Virt_Features|KVM Stable Guest ABI]]

Latest revision as of 14:05, 19 January 2016

Important.png
Old page
This page has been marked as "old", and likely contains content that is irrelevant or incorrect. If you can, please update this page. This page will be deleted if action is not taken.

KVM Stable Guest ABI

Sommario

Consentire a guest virtual machines di essere presentati con lo stesso ABI attraverso aggiornamenti di QEMU.

L'idea è che il profilo hardware della macchina virtuale non dovrebbe cambiare quando QEMU è aggiornato. Ciò è particolarmente importante per guest di Windows in cui una modifica dell'ABI potrebbe richiedere la riattivazione dei processi di installazione di Windows.

Vedere anche KVM Stable PCI Addresses.

Progettista

Stato corrente

Descrizione dettagliata

Gli ospiti KVM sono presentati con una piattaforma hardware emulata (p.e. un modello CPU, APIC, PIT, tabelle ACPI, controllori IDE/USB/VGA, NICs ecc.). Quando QEMU è aggiornato ad una nuova versione, alcuni aspetti di questa piattaforma potrebbero cambiare se vengono aggiunte nuove funzionalità.

Dal puto di vista del S.O. dell'ospite, ciò equivale ad aggiornare una piattaforma hardware e potrebbe, nel caso di Windows, richiedere l'attivazione del processo d'installazione di Windows. Per evitare tale inconveniente, le macchine ospiti dovrebbero continuare a funzionare in modo trasparente sulle loro piattaforme originali, anche quando QEMU viene aggiornato.

Una serie di solutions sono state discusse nel progetto. Alla fine si è deciso che ogni release dovrebbe aggiungere un nuovo tipo di macchina (p.e. qemu -M pc-0.11) e il tipo della macchina pc dovrebbe essere un alias di quella più recente. Ciò consente a libvirt di determinare qual'è il tipo di macchina più recente quando il guest viene creato e usare quel tipo in futuro.

Vantaggi per Fedora

Questa caratteristica dovrebbe rimuovere un notevole inconveniente nel supporto alla virtualizzazione di Windows in Fedora.

Documentazione

Altre informazioni

Per:

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

visitare la en-wiki Features: KVM Stable Guest ABI.