From Fedora Project Wiki

(Created page with '= KVM qcow2 Performance = == Summary == Improve the I/O performance of virtual machines using disk images in the qcow2 image format. == Owner == * Name: [[User:Kwolf | Kevin Wo...')
 
No edit summary
Line 1: Line 1:
= KVM qcow2 Performance =
= Prestazione di KVM con qcow2 =


== Summary ==
== Sommario ==
Improve the I/O performance of virtual machines using disk images in the qcow2
Migliorare le prestazioni di I/O delle macchine virtuali usando immagini disco di formato qcow2.
image format.


== Owner ==
== Progettista ==
* Name: [[User:Kwolf | Kevin Wolf]]
* Nome: [[User:Kwolf | Kevin Wolf]]
* Email: kwolf at redhat
* Email: [mailto:kwolf@redhat kwolf@redhat]


== Current status ==
== Stato corrente ==
* Release: [[Releases/12|  Fedora 12]]
* Ultimo aggiornamento: visita [[Features/KVM qcow2 Performance#Current_status | (en-wiki)]]
* Completato


* Targeted release: [[Releases/12 | Fedora 12]]
== Descrizione dettagliata ==
* Last updated: 2009-08-05
qcow2 rappresenta il formato originario di immagine disco di qemu. In aggiunta esso fornisce ulteriori caratteristiche rispetto alle immagini ''raw'', come immagini base, immagini minime, compressione e criptazione. Inoltre, i file qcow2 crescono quanto è necessario mentre i file ''raw'' devono essere creati con la stessa dimensione sul disco virtuale. 
* Percentage of completion: 100%


In upstream qemu, qcow2 achieves a reasonable performance now, so the main goal is already met. There are only a few optimizations left that are harder to do. The qcow2 code still needs more testing as it is known to have been broken in subtle ways by past changes. Some more benchmarking is needed to measure more exactly what has been achieved.
Attualmente, qcow2 è piuttosto lento se l'host ha la cache disbilitata in scrittura. Perciò gli utenti devono decidere tra abilitare la scrittura in cache e rischiare di perdere dati (p.e. se si verifica un crash nell'host, il guest pensa che i dati siano scritti su disco e salvi mentre in realtà si trova nella cache dell' host e sono presi - comportando una corruzione dell'immagine o del file system) o non utilizzare qcow2 e affidarsi a immagini ''raw''.


To illustrate what dimension the improvements are, here the installation time for a minimal RHEL 5.3 VM with old and new qcow2, and for comparison raw images. The installation was done with all three different cache settings.
L'obbiettivo è di migliorare le prestazioni di qwoc2, in modo che gli utenti non rischino i loro dati, possano avvantaggiarsi delle caratteristiche ulteriori offerte da qcow2 ed avere prestazioni accettabili.


{|
== Vantaggi per Fedora ==
! width="200" | cache =
Possiamo raccomandare ai nostri utenti un formato di immagine disco più avanzato rispetto a raw
! width="100" | off
! width="100" | writethrough
! width="100" | writeback
|-
| Old qcow2 (0.10.5)
| align="right" | 16:52 min
| align="right" | 28:58 min
| align="right" | 6:02 min
|-
| New qcow2 (0.11.0-rc1)
| align="right" | 5:44 min
| align="right" | 9:18 min
| align="right" | 6:11 min
|-
| raw
| align="right" | 5:41 min
| align="right" | 7:24 min
| align="right" | 6:03 min
|-
|}


Please note that compressed and encrypted images don't take as much profit from the optimizations as normal qcow2 images do. Additionally, it's obvious that compression and encryption come with an overhead of processing each cluster before it can be passed to the guest. You will probably still encounter low performance with compressed or encrypted images.
== Altre informazioni ==
Per:
* Obbiettivi
* Test Plan
* Esperienza Utente
* Dipendenze
* Progetto corrente
* Documentazione
* Note di rilascio
* Commenti e Discussioni


== Detailed Description ==
visitare la en-wiki [[Features/KVM qcow2 Performance | Features: KVM qcow2 Performance]].  
qcow2 is the native disk image file format of qemu. It provides a couple of
additional features over raw images, including base images, snapshots,
compression and encryption. Also, qcow2 files grow as needed whereas raw files
need to be created in the full size of the virtual disk.


Currently, qcow2 is very slow with disabled write cache on the host. Therefore
users need to decide if they enable the write cache and run the risk of data
loss (e.g. on a host crash, the guest thinks the data is written to disk and
safe while it was sitting in the host cache and is lost - resulting in image or
file system corruption) or to do without the qcow2 features and go for raw
images.
The goal is to improve the performance of qcow2, so users don't risk their
data, can take advantage from the additional features provided by qcow2 and
still have acceptable performance.
== Benefit to Fedora ==
See previous section. We can recommend a more advanced image format than raw to
our users.
== Scope ==
This feature needs work on qemu. A lot of changes are already made in upstream
qemu and just need to be taken from there.
== How To Test ==
Even though the major goal is to improve performance, it is easy to break the
image format driver in subtle ways while doing so. Testing must have a focus
on correctness first. A good way to test correctness is the qemu-iotests test
suite which can be found on
[http://git.kernel.org/?p=linux/kernel/git/hch/qemu-iotests.git http://git.kernel.org/?p=linux/kernel/git/hch/qemu-iotests.git].
Apart from correctness, testing should involve performance comparison between
qcow2 and raw (possibly also old qcow2) in benchmarks, installation or other
scenarios. Be sure to differentiate between an empty image which is growing
during the test and an already used image with lots of rewrites. The greatest
performance improvement is to be expected in the growing case. Best start off
with new images before each test run to maintain comparability.
== User Experience ==
qcow2 users should notice no change in functionality, but an improvement in
their disk I/O performance. Users who have previously enabled the write cache
for performance reasons may consider to turn caching off to improve data safety.
Users who didn't use qcow2 because of the poor performance may consider to
switch and take advantage of the additional features.
== Dependencies ==
None.
== Contingency Plan ==
None. We would take the improvements already available and reconsider if we can
recommend using qcow2 to everyone. The raw image format is retained and can
still be used when performance is important.
== Documentation ==
* [http://www.gnome.org/~markmc/qcow-image-format.html The QCOW2 Image Format]
== Release Notes ==
The performance of qcow2 disk images has improved a lot when disabling the cache for data safety. Users who have previously enabled the write cache for performance reasons may consider to turn caching off to improve data safety. Users who didn't use qcow2 because of the poor performance may consider to switch and take advantage of the additional features the format provides over raw disk images.
== Comments and Discussion ==
* See [[Talk:Features/KVM_qcow2_Performance]]


[[Category:FeatureAcceptedF12]]
[[Category:FeatureAcceptedF12]]
[[Category:Virtualization|KVM qcow2 Performance]]
[[Category:Virtualization|KVM qcow2 Performance]]
[[Category:F12 Virt Features|KVM qcow2 Performance]]
[[Category:F12 Virt Features|KVM qcow2 Performance]]

Revision as of 17:05, 25 January 2010

Prestazione di KVM con qcow2

Sommario

Migliorare le prestazioni di I/O delle macchine virtuali usando immagini disco di formato qcow2.

Progettista

Stato corrente

Descrizione dettagliata

qcow2 rappresenta il formato originario di immagine disco di qemu. In aggiunta esso fornisce ulteriori caratteristiche rispetto alle immagini raw, come immagini base, immagini minime, compressione e criptazione. Inoltre, i file qcow2 crescono quanto è necessario mentre i file raw devono essere creati con la stessa dimensione sul disco virtuale.

Attualmente, qcow2 è piuttosto lento se l'host ha la cache disbilitata in scrittura. Perciò gli utenti devono decidere tra abilitare la scrittura in cache e rischiare di perdere dati (p.e. se si verifica un crash nell'host, il guest pensa che i dati siano scritti su disco e salvi mentre in realtà si trova nella cache dell' host e sono presi - comportando una corruzione dell'immagine o del file system) o non utilizzare qcow2 e affidarsi a immagini raw.

L'obbiettivo è di migliorare le prestazioni di qwoc2, in modo che gli utenti non rischino i loro dati, possano avvantaggiarsi delle caratteristiche ulteriori offerte da qcow2 ed avere prestazioni accettabili.

Vantaggi per Fedora

Possiamo raccomandare ai nostri utenti un formato di immagine disco più avanzato rispetto a raw

Altre informazioni

Per:

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

visitare la en-wiki Features: KVM qcow2 Performance.