web-dev-qa-db-fra.com

Quel est le meilleur format d'image, brut ou qcow2, à utiliser comme image de base pour d'autres machines virtuelles?

J'utilise une image de base et sur cette base, je crée de nombreuses machines virtuelles. Et maintenant, je veux savoir ce qui est mieux, qcow2 ou raw à utiliser pour une image de base. De plus, pouvez-vous me dire s'il y a un avantage à utiliser cette chose d'image de base, au lieu de cloner tout le disque. La vitesse peut être un facteur, mais en termes d'efficacité, y a-t-il un problème à utiliser une image de base, puis à créer des machines virtuelles à l'aide de cette image de base?

Modifier 1:

J'ai effectué quelques expériences et obtenu enter image description hereenter image description hereenter image description here

Le premier est lorsque l'image de base et la superposition sont toutes deux qcow2. Deuxième Lorsque l'image de base est brute mais la superposition est qcow2 et dans le troisième cas, je donne une image de disque brute individuelle à chaque machine virtuelle. Étonnamment, le dernier cas est beaucoup plus efficace que les deux autres.

Configuration expérimentale: 
 Système d'exploitation dans l'image de base: Ubuntu Server 14.04 64 bits. 
 Système d'exploitation hôte: Ubuntu 12.04 64 bits 
 RAM: 8 Go 
 Processeur: Intel® Core ™ i5- 4440 CPU @ 3.10GHz × 4 
 Disque: 500 Go 

Sur l'axe des x: nombre de VM démarré simultanément. À partir de 1 et incrémenté jusqu'à 15.

Sur l'axe des y: temps total pour démarrer "x" nombre de machines.

D'après les graphiques, il semble que donner une image disque complète à VM est beaucoup plus efficace que les 2 autres méthodes.

Modifier 2: enter image description here

C'est le cas lorsque nous donnons une image brute individuelle à chaque machine virtuelle. Après avoir effectué le vidage du cache, voici le graphique. Il est presque similaire à la superposition raw baseimage + qcow.

Merci.

25
A-B

Pour votre cas d'utilisation spécifique (image de base + superposition qcow2), le format RAW doit être préféré:

  1. C'est plus rapide: comme il n'y a pas de métadonnées associées, c'est aussi rapide que possible. D'un autre côté, Qcow2 a deux couches d'indirection qui doivent être croisées avant d'atteindre les données réelles
  2. Comme la couche de superposition doit être un fichier Qcow2, vous ne perdez pas la capacité de capture instantanée toujours utile (les images RAW ne prennent pas en charge les captures instantanées par elles-mêmes)

Le choix entre l'image de base + la superposition qcow2 vs plusieurs copies complètes dépend de votre priorité:

  1. Pour des performances absolues, utilisez des images RAW fallocalisées. Cela a l'inconvénient de ne pas prendre en charge les instantanés, car dans la plupart des environnements, le prix à payer est trop élevé
  2. Pour plus de flexibilité et d'économie d'espace, utilisez des images de base RAW + des superpositions Qcow2.

Quoi qu'il en soit, j'ai trouvé les fichiers Qcow2 quelque peu fragiles.

Pour ma production KVM hyperviseurs, j'utilise essentiellement deux configurations différentes:

  1. où les performances sont n ° 1 J'utilise des volumes LVM directement attachés aux machines virtuelles et j'utilise la fonction de capture instantanée LVM pour effectuer des sauvegardes cohérentes
  2. où je peux sacrifier certaines performances pour une flexibilité accrue, j'utilise une seule grande image LVM Thin Provisioned Volume + XFS + RAW

Une autre possibilité consiste à utiliser un volume LVM normal + des images XFS + RAW. Le seul inconvénient est que les instantanés LVM normaux (non minces) sont très lents et que l'instantané d'un volume LVM normal occupé réduira les performances (pendant la durée de vie de l'instantané). Quoi qu'il en soit, si vous prévoyez d'utiliser uniquement une utilisation sporadique d'instantanés, cela peut être le pari le plus simple et le plus sûr.

Quelques références:
lenteur d'E/S KVM sur RHEL 6
performances de stockage KVM et prelocation Qcow2 sur RHEL 6.1 et Fedora 16
performances de stockage KVM et paramètres de cache sur Red Hat Enterprise Linux 6.2
Explication du volume léger LVM

18
shodanshok

Sachez que si vous utilisez linux, vous pouvez utiliser raw et obtenir les mêmes avantages que qcow2 en ce qui concerne la taille.

... Si votre système de fichiers prend en charge les trous (par exemple en ext2 ou ext3 sous Linux ou NTFS sous Windows), alors seuls les secteurs écrits réserveront de l'espace.

https://docs.fedoraproject.org/en-US/Fedora/18/html/Virtualization_Administration_Guide/sect-Virtualization-Tips_and_tricks-Using_qemu_img.html

raw Format d'image de disque brut (par défaut). Il peut s'agir du format de fichier le plus rapide. Si votre système de fichiers prend en charge les trous (par exemple dans ext2 ou ext3 sous Linux ou NTFS sous Windows), seuls les secteurs écrits réserveront de l'espace. Utilisez les informations qemu-img pour obtenir la taille réelle utilisée par l'image ou ls -ls sous Unix/Linux.

6
d hee