Utilisation du Copy On Write sur les qemu-kvm de cloonix

Posté par  (site web personnel) . Édité par Benoît Sibaud et baud123. Modéré par baud123.
Étiquettes :
19
18
nov.
2012
Virtualisation

Lorsque cloonix a commencé à utiliser spice comme bureau distant pour des machines invitées qemu-kvm, la gestion des fichiers disques virtuels cloonix a dû évoluer.

Les machines invitées proposées pour tester spice font quelques GiB car elles contiennent une distribution complète avec bureau.

Le logiciel cloonix étant prévu au départ pour multiplier des petits invités, la méthode par défaut était une copie complète du fichier disque virtuel avant démarrage.

Ceux qui ont essayé comprennent très bien le problème que cela posait : une longue attente avant le début du démarrage de l'invité visible dans cloonix par le passage au rouge vif de la représentation de la machine.

La version 19 de cloonix corrige cela grâce au Copy On Write ; au lieu de copier un fichier de référence, on fabrique un autre fichier qui a un lien interne sur la référence cette fabrication se fait en quelques secondes et le fichier produit réagit comme une copie par cp.

Cloonix permet aussi de sauvegarder le disque virtuel d'une machine invitée de 2 manières :

  • soit une copie du petit fichier dont on a parlé précédemment (contenant un pointeur vers la référence),

  • soit une copie avec merge des différences et du fichier de référence, la copie ainsi effectuée devient autonome.

Une copie peut alors être démarrée par l'option static dans cloonix ; cette option précise au logiciel de prendre le fichier disque virtuel où il se trouve, sans création de copie ou lien et de ne surtout pas le détruire à l'extinction de l'invité, contrairement au mode dynamique.

Sur le site de cloonix, 3 invités sont proposés pour le test de spice, l'ubuntu precise, la fedora 17 et la debian wheezy.
Ces fichiers compressés font entre 900 MiB et 1,4 GiB, cela semble assez gros mais ils ont maigri par rapport à ceux livrés en version 18, une astuce pour faire maigrir une machine invitée étant :

dd if=/dev/zero of=/root/zero
rm -f /root/zero

Ces 2 commandes placent toute les zones non utilisées du disque virtuel à 0, ce qui génère une meilleure compression.

Aller plus loin

  • # un ptit sync

    Posté par  (site web personnel) . Évalué à 2.

    Il vaut mieux faire un petit sync avant de faire le rm. Sinon, il pourrait ne pas écrire les zéros.

    • [^] # Re: un ptit sync

      Posté par  (site web personnel) . Évalué à 2.

      En effet, merci, malgré tout il en écrit déjà pas mal car cette manipulation prend un certain temps.
      Il est très probable que le sync force l'écriture de certain 0 pas encore écrits, je rajouterais donc le sync à l'occasion.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.