
Dans ce tutoriel, nous allons voir comment récupérer de l’espace disque sur un LUN iSCSI en utilisant la commande Defrag.
Il arrive souvent qu’un volume iSCSI semble plein alors qu’une partie de l’espace est en réalité occupée par des blocs inutilisés ou mal réalloués. Grâce à une simple opération de défragmentation et à la libération de blocs non utilisés, vous pourrez optimiser le stockage et récupérer plusieurs gigaoctets — voire téraoctets — d’espace libre, sans reformater ni interrompre vos services.
Pour illustrer ce tutoriel, on va partir d’un cas concret, sur un serveur de sauvegarde Veeam, j’ai une LUN de 98.5 To présenté depuis un NAS, comme on peut le voir sur la capture ci-dessous, il y a 17.9To d’espace libre.

En comparant avec Veeam, qui indique l’espace utilisé par les sauvegardes, il y a une différence de quasiment 20To, après analyse des propriétés des dossiers sur le disque, l’espace utiliser est de 59.4 To.

Après un petit calcul rapide 98.5-59.4 = 39.1To, donc je devrai avoir 39.1To d’espace disque libre alors que Windows m’indique seulement 17.9 To, ce qui me fait une différence de 21,2To.
Dans le doute, j’utilise WizTree pour analyser le disque, afin de voir s’il n’y a pas des fichiers cachés, de la déduplication .., comme on peut le voir, j’ai le même résultat.

Pourquoi ce problème se produit ?
Sur les volumes iSCSI, notamment lorsqu’ils sont hébergés sur un NAS ou une baie de stockage, l’espace disque visible sous Windows ne reflète pas toujours la réalité côté stockage.
Lorsqu’un fichier est supprimé, Windows libère l’espace au niveau du système de fichiers, mais le LUN ne renvoie pas forcément cette information à l’hôte iSCSI. Le stockage continue donc à considérer ces blocs comme utilisés.
Avec le temps, cela crée une différence importante entre l’espace réellement occupé et l’espace libre affiché, pouvant aller jusqu’à plusieurs téraoctets.
Ce comportement est fréquent sur les volumes thin provisioned, où la taille logique du disque augmente au fil des écritures, mais ne se réduit jamais automatiquement lors des suppressions.
La commande Defrag (ou plus précisément l’option de réallocation de blocs libres) permet alors de réinformer le stockage et de récupérer cet espace.
Pour résoudre ce problème, on va utiliser l’outil en ligne de commande defrag avec /L.
/L | /Réoptimisation Sur des volumes alloués dynamiquement, effectuez une réoptimisation pour libérer gratuitement
des sections. Sur des SSD, effectuez une réoptimisation pour améliorer les performances en écriture.
Dans le Terminal Windows ouvert en Administrateur, entrer la commande suivante :
defrag LECTEUR: /L
Patienter pendant l’exécution de la commande, qui peut prendre plusieurs heures …
Une fois la commande terminée, l’espace optimisé est affiché, comment on peut le voir 15.77 To dans mon cas.

Là encore patienter afin de voir l’espace libre être disponible dans Windows, il m’a fallu au niveau de l’explorateur de fichier patienter 3H pour récupérer l’espace disponible.
Grâce à une simple commande Defrag, il est possible de récupérer efficacement l’espace perdu sur un LUN iSCSI sans avoir à reformater ni interrompre les services.
Ce type de problème est courant sur les volumes thin provisioned, mais avec cette méthode, vous pouvez maintenir vos volumes optimisés et éviter les alertes de saturation inutiles.
Pensez à planifier régulièrement cette opération sur vos disques iSCSI afin de garantir des performances stables et une utilisation optimale de votre espace de stockage.
