4 votes

Compression des fichiers .OVA pour la distribution

J'ai créé une machine virtuelle avec un disque dur virtuel de 4,7 Go (.vmdk). J'ai exporté vers .ova version 1.0 et j'ai obtenu un fichier de 1,7 Go que j'ai pu compresser de 200 Mo supplémentaires à l'aide de 7zip. L'archive 7zip avec l'OVA fait donc 1,5 Go.

7zippant directement les fichiers vm, j'ai obtenu une taille de fichier de 1,1 Go. C'est une taille idéale et je me demande si quelqu'un sait comment augmenter la compression du fichier ova ou créer manuellement le fichier ova. J'utilise virtual box mais j'ai aussi vmware. Voici la commande que j'exécute sur 7zip.

 7z a -t7z vm.7z -m0=lzma2 -mx=9 -aoa vm.ova

Je lance la même commande sans vm.ova dans le dossier vm pour obtenir le fichier de 1,1 Go. Mes objectifs sont la plus petite taille de fichier et une utilisation facile dans vmware et virtualbox, l'importation vers qemu, hyper-v, et vshere est un plus.

5voto

user2353007 Points 91

Un .ova est juste un fichier tar selon les spécifications. Dans le fichier ova se trouve un fichier .vmdk qui contient le disque virtuel et un fichier .ovf qui contient la configuration. OVF est une norme qui fonctionne sur plusieurs plates-formes.

Après avoir créé le fichier ova, extraire l'ovf et le vmdk à l'aide de tar.

tar xvf appliance.ova

Supprimez le fichier ova ou déplacez-le ailleurs si nécessaire.

Le fichier vmdk est déjà compressé à ce stade, de sorte que l'exécution de 7zip directement sur ces deux fichiers ne réduira pas la compression de beaucoup.

Supprimez le fichier .vmdk et récupérez le fichier vmdk original non compressé d'avant la création de l'appliance. Vérifiez votre .ovf fichier ( xml ) pour s'assurer que les noms de fichiers correspondent. Trouvez l'élément xml qui commence comme ceci

<File ovf:href="diskname.vmdk" ovf:id="file1" />

Dans ce cas, le fichier vmdk non compressé doit être nommé (ou renommé, si nécessaire) diskname.vmdk.

Exécutez maintenant cette commande 7zip dans le répertoire contenant vos 2 fichiers ( .ovf y .vmdk ).

7z a -t7z appliance.7z -m0=lzma2 -mx=9 -aoa

Votre .7z peut maintenant être distribué avec la plus petite taille de fichier que j'ai pu obtenir.

Pour exécuter l'appliance, il suffit d'extraire les fichiers et d'importer le fichier .ovf dans VirtualBox, VMware ou toute autre solution de virtualisation capable d'importer des appliances. Tant que les deux fichiers se trouvent dans le même répertoire, l'importation et l'exécution devraient se dérouler sans problème.

3voto

Bill Noto Points 131

Nous avons constaté que la mise à zéro et la réexportation à partir de VirtualBox réduisaient considérablement l'espace disque de l'ova. Nous sommes passés de 8,5 Go à 3 Go.

  1. Suivre l'étape 2 de ces instructions ( https://www.howtogeek.com/312883/how-to-shrink-a-virtualbox-virtual-machine-and-free-up-disk-space/ )
  2. Exportation d'une nouvelle OVA à partir de l'interface graphique de VirtualBox. (J'utilise 5.1.26 r117224 (Qt5.6.2) sur un MacBook.

J'espère que cela vous aidera.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X