Optimiser la taille des disques virtuels de Proxmox

Cet article vous explique comment réduire l’espace disque physique occupé par vos disques de stockage virtuels. Sous Proxmox, les disques durs virtuels sont dynamiques, c’est à dire que lorsque vous définissez un disque dur de 100 Go par exemple, en réalité, sur la machine hôte, il n’occupe que quelques Go une fois le système installé. Ce qui évite d’occuper directement les 100 Go et de perdre du temps à la création de celui-ci.

Problématique

Ce système fonctionne bien sauf qu’une fois que l’espace disque à été alloué, il restera occupé même une fois vidé.

Par exemple, nous ajoutons 50 Go de données à notre machine qui en contenait déjà 10, la taille physique du disque virtuel est donc montée à 60 Go. Si nous supprimons ensuite ces 50 Go, la taille physique ne change pas et n’est donc pas réduite. Il faut le voir comme un cliquet ( que l’on ne peux que monter ). Cet espace non utilisé ne pose pas de problème directement, peut vite ralentir les sauvegardes Proxmox en utilisant des dizaines voir centaines de Go qui ne sont plus utilisés réellement.

Solution

  • disque SCSI

Pour pouvoir réduire l’espace disque physique, il faut avoir au préalable configuré le disque dur en SCSI et avoir coché l’option Discard.

Ensuite, dans votre machine virtuelle, il suffit d’utiliser la commande fstrim (beaucoup plus connue maintenant avec l’utilisation des SSD).

# fstrim -av
/ : 99,8 GiB (107171328000 octets) taillés

Cette solution ne nécessite pas de redémarrage de la machine. Je vous conseil de lancer cette commande tous les jours, quelques temps avant vos sauvegardes.

 

  • disque non-SCSI

Je vous conseil de faire une sauvegarde avant des faire les manipulations qui suivent.

Si votre disque dur virtuel n’est pas en SCSI, vous pouvez le modifier. Mais un redémarrage sera nécessaire.

Commencez par éteindre votre machine virtuelle, et allez dans la partie Hardware, sélectionnez le disque dur de la machine et cliquez sur Remove. Pas de panique ! Votre disque sera simplement écris comme « non utilisé / Unused ».

Une fois le disque désactivé, laissez le sélectionné et cliquez sur Edit. Sélectionnez SCSI et cochez l’option Discard puis Add pour valider.

Pour terminer, il ne faut pas oublier de changer le Boot Order dans les options pour remplacer virtio par SCSI.

Il suffit maintenant de redémarrer la machine et d’exécuter la même commande que présentée ci-dessus pour le SCSI.

Bugs

Il est possible de rencontrer un bug qui génère un « Kernel Panic » dans la machine virtuelle lorsque la sauvegarde de celle-ci est lancée. Voici un exemple obtenu à l’écran :

La solution est de changer le type de contrôleur SCSI en allant dans la partie Options de la machine virtuelle, et de modifier le paramètre SCSI Controller Type en choisissant VirtIO SCSI. Dans l’exemple ci-dessus, c’était le contrôleur LSI 53C895A qui était en place.

Redémarrez la machine et le tour est joué !

 

Référence :

https://pve.proxmox.com/wiki/Shrink_Qcow2_Disk_Files

 

2 réflexions sur « Optimiser la taille des disques virtuels de Proxmox »

  1. Merci beaucoup pour l’astuce. Dis moi est-ce que je peux faire la meme chose sur Windows ou bien faut-il que je passe par la fonction SSD Trim dans les paramétres Proxmox ?

    1. De rien !
      Je viens de tester rapidement sous Windows et ça n’a pas l’air de fonctionner. Il faudrait regarder plus précisément sur cette partie.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.