Réduire la taille du disque d'une VM avec Clonezilla
Comment migrer une VM vers un disque plus petit en préservant toutes les données avec Clonezilla, afin d'optimiser l'utilisation du stockage Linstor DRBD dans un cluster Proxmox.
Avant toute manipulation, créez une sauvegarde complète de votre VM via Proxmox Backup Server ou vzdump. Cette opération manipule directement les disques et toute erreur peut entraîner une perte de données.
📚 Un article détaillé sur Proxmox Backup Server arrive prochainement.
Contexte
Ma VM Ubuntu de production du Homelab actuel dispose d'un disque de 400 Go sur le stockage Linstor DRBD. Ce disque surdimensionné vient d'une époque où cet OS tournait directement en bare-metal, avant sa virtualisation.
Problématique
Après avoir réduit la partition système à 130 Go (laissant 270 Go d'espace libre non alloué), je souhaite :
- Créer un nouveau disque de 135 Go (130 Go de données + 5 Go de marge)
- Migrer l'OS et les données vers ce disque plus petit
- Libérer 265 Go sur le stockage Linstor DRBD
Objectif final
Réorganiser le stockage des hôtes Proxmox :
- 300 Go : Linstor DRBD (stockage répliqué hautement disponible)
- 200 Go : local-lvm (stockage local non répliqué)
Prérequis
Outils nécessaires
- Proxmox VE : Hyperviseur de virtualisation
- Clonezilla Live ISO : Outil de clonage de disques (télécharger)
- Linstor DRBD : Stockage distribué (voir article sur le stockage distribué Proxmox)
État initial de la VM
Avant de commencer, vérifiez l'état actuel :
sudo fdisk -l /dev/sda
Sortie attendue :
- Disque
/dev/sda: 400 GiB - Partition système (
/dev/sda3) : ~120 GiB utilisés - Espace libre : ~270 GiB non alloué
Si vous n'avez pas encore réduit votre partition, utilisez gparted ou resize2fs pour réduire le système de fichiers avant de commencer cette procédure. Laissez environ 5 Go de marge par rapport à l'espace utilisé.
Étape 1 : Créer le nouveau disque dans Proxmox
Dans l'interface web Proxmox, accédez à la configuration de votre VM :
- Sélectionnez votre VM
- Onglet Hardware
- Cliquez sur Add → Hard Disk
Configuration du nouveau disque :
- Storage :
linstor_storage(ou votre pool Linstor DRBD) - Disk size :
135 GiB - Bus/Device :
SCSI(scsi1)

Le nouveau disque apparaîtra comme /dev/sdb dans la VM. Le disque original /dev/sda reste en place pour le moment.
Étape 2 : Monter l'ISO Clonezilla
Toujours dans l'interface Proxmox :
- Sélectionnez l'onglet Hardware
- Double-cliquez sur CD/DVD Drive
- Storage :
local(ou votre stockage d'ISOs) - ISO image : Sélectionnez
clonezilla-live-3.3.0-33-amd64.iso
Configurer l'ordre de boot :
- Onglet Options → Boot Order
- Activez CD-ROM et placez-le en première position
- Cliquez sur OK
Démarrez la VM via Console → Start.
Étape 3 : Démarrer Clonezilla en mode KVM To RAM
Si vous ne choisissez pas l'option KVM To RAM, l'affichage Clonezilla affichera de la neige (artefacts graphiques) rendant l'interface inutilisable.

Sélection du mode de démarrage
Au boot de Clonezilla :
- Première option : Sélectionnez Clonezilla live (KVM To RAM, VGA 1024x768)
- Appuyez sur Entrée
Configuration initiale de Clonezilla
Suivez l'assistant de configuration :
- Langue
- Clavier
- Mode Clonezilla
Choose language: [fr_FR.UTF-8] Français
Configurer le clavier: [Garder]
(ou choisissez votre disposition clavier)
Démarrer Clonezilla: [device-device]
Sélectionnez device-device (cloner disque vers disque)
Étape 4 : Cloner le disque avec les options Expert
Sélection du mode Expert
Mode: [Expert mode]
Choisissez Expert mode pour accéder aux options avancées nécessaires.
Choix du type d'opération
Mode Expert: [disk_to_local_disk]
Sélectionnez disk_to_local_disk (cloner disque local vers disque local).
Sélection des disques
- Disque source :
/dev/sda(400 GiB - ancien disque) - Disque destination :
/dev/sdb(135 GiB - nouveau disque)
Attention : Sélectionner le mauvais disque effacera définitivement vos données ! Vérifiez la taille des disques avant de valider.
Options avancées cruciales
Clonezilla propose plusieurs options avancées. Sélectionnez impérativement :
Option 1 : -k0 (Créer la table de partition proportionnellement)
-k, --create-partition-table
[×] -k0 Create partition table in target disk proportionally
Explication : Cette option recrée la table de partition en conservant les tailles originales des partitions (et non en les redimensionnant proportionnellement au nouveau disque).
Option 2 : -icds (Skip checking destination disk size)
-icds, --skip-check-dest-size
[×] -icds Skip checking destination disk size before creating partition table
Explication : Par défaut, Clonezilla refuse de cloner vers un disque plus petit que le disque source. Cette option désactive cette vérification.
Même si le disque de destination (135 Go) est plus petit que le disque source (400 Go), les partitions utilisées ne font que 130 Go. Clonezilla clone uniquement les partitions, pas l'espace vide non alloué.
L'option -k0 garantit que les partitions conservent leur taille originale (130 Go) au lieu d'être redimensionnées proportionnellement au nouveau disque.
Lancer le clonage
- Validez toutes les options
- Clonezilla affiche un résumé des paramètres
- Confirmez avec
ypuis Entrée - Confirmez une seconde fois pour démarrer le clonage

Durée estimée : Entre 10 et 30 minutes selon la quantité de données et la vitesse du stockage Linstor DRBD.
Étape 5 : Configurer le boot sur le nouveau disque
Une fois le clonage terminé :
- Éteignez la VM via Proxmox
- Retournez dans Hardware → Options → Boot Order
- Désactivez le CD-ROM (ou retirez l'ISO)
- Assurez-vous que scsi1 (nouveau disque 135 Go) est en première position
- Démarrez la VM
Vérification du boot
La VM devrait démarrer normalement sur le nouveau disque. Connectez-vous et vérifiez :
sudo fdisk -l

Vérifications :
/dev/sdb(nouveau disque) : 135 GiB ✅/dev/sda(ancien disque) : 400 GiB (toujours présent)- Partitions identiques sur les deux disques
Test de stabilité
Testez votre VM pendant 24-48 heures :
- Vérifiez que tous les services démarrent correctement
- Testez les applications critiques
- Surveillez les logs système (
journalctl -xe)
Étape 6 : Supprimer l'ancien disque
Ne supprimez l'ancien disque qu'après avoir validé le bon fonctionnement de la VM pendant au moins 24 heures. En cas de problème, vous pourrez revenir en arrière.
Une fois la VM stabilisée :
- Éteignez la VM
- Dans Proxmox : Hardware → Sélectionnez Hard Disk (scsi0) (400 GiB)
- Cliquez sur Remove
- Confirmez la suppression
Résultat : 265 Go libérés sur le stockage Linstor DRBD ! 🎉
Mon cas d'usage : Réorganisation du stockage Proxmox
Dans mon cas, cette opération m'a permis de libérer 265 Go sur le stockage Linstor DRBD. Avec cet espace récupéré, je peux maintenant repartitionner mes disques physiques sur les hôtes Proxmox pour optimiser l'utilisation du stockage :
Avant
/dev/sda : 500 GiB
└── linstor_storage : 500 GiB (stockage répliqué)
Après
/dev/sda : 500 GiB
├── linstor_storage : 300 GiB (stockage répliqué HA)
└── local-lvm : 200 GiB (stockage local non répliqué)
Cette réorganisation me permet de mieux utiliser les ressources :
- Stockage répliqué (Linstor DRBD - 300 Go) : Pour les VMs critiques nécessitant la haute disponibilité
- Stockage local (local-lvm - 200 Go) : Principalement pour mes VMs Kubernetes qui gèrent elles-mêmes le stockage distribué via Longhorn, ainsi que quelques VMs/LXC de test
Conclusion
Clonezilla permet de migrer efficacement une VM vers un disque plus petit, à condition de :
- Réduire les partitions au préalable pour laisser de l'espace libre
- Utiliser le mode KVM To RAM pour éviter les problèmes d'affichage
- Activer les options
-k0et-icdsen mode Expert
Cette technique m'a permis de libérer 265 Go sur mon stockage Linstor DRBD, optimisant ainsi l'utilisation des ressources du cluster Proxmox et permettant une réorganisation plus flexible du stockage.
