Introduction
Ce document décrit les options permettant de récupérer de l'espace dans une machine virtuelle (VM) à provisionnement léger qui réside sur HyperFlex.
Conditions requises
There are no specific requirements for this document
Components Used
Les exemples de ce document ont été validés sur VMware vSphere Hypervisor (ESXi) 6.5.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Problème :
HyperFlex ne dispose pas d'un mécanisme permettant de récupérer de l'espace dans une machine virtuelle à provisionnement léger libérée. Le provisionnement léger permet la croissance à la demande d'un disque virtuel. Cela permet une utilisation plus efficace de l'espace du système de stockage par rapport à l'épais approvisionnement. Lorsque des fichiers d'un lecteur virtuel à provisionnement léger sont supprimés, la taille du disque n'est pas automatiquement réduite. La raison en est que le système d'exploitation supprime uniquement les index de la table du système de fichiers. Cela donne l'apparence de la suppression rapide des fichiers, mais pas de récupération de l'espace.
Solution :
Récupérer De L'Espace Dans Une VM Microsoft Windows Sur Un Cluster HyperFlex
Cette section fournit quelques options sur la façon de récupérer de l'espace sur des disques virtuels à provisionnement limité. Ces outils décomposent les blocs de données que vous avez supprimés. Avant d'effectuer une opération qui met à zéro des blocs, assurez-vous que vous disposez de sauvegardes. Assurez-vous également qu'il n'y a pas d'instantanés précédents sur la machine virtuelle sur laquelle vous effectuez les étapes. Cela inclut les instantanés SENTINEL. La suppression de l'instantané SENTINEL éteint la machine virtuelle pendant une longue période. Vous pouvez choisir de mettre la machine virtuelle hors tension avant de supprimer tous les snapshots afin de ne pas éteindre la machine virtuelle.
Des informations supplémentaires sur la gestion de VMware et des snapshots sont contenues dans ces articles :
La suppression d'un instantané peut arrêter une machine virtuelle pendant longtemps
Meilleures pratiques d'utilisation des snapshots dans l'environnement vSphere
Récupérer de l'espace sur des disques à provisionnement léger sur des machines virtuelles Microsoft Windows
SDelete, est un utilitaire gratuit de Microsoft Sysinternals Suite, qui est utilisé pour récupérer de l'espace.
Attention : SDelete -z fait que le système d'exploitation de la machine virtuelle utilise jusqu'à 100 % du disque d'espace disponible alors que l'espace libre est réduit à zéro. Cela entraîne une augmentation temporaire de l'espace utilisé sur le data store.
Si vous rencontrez la condition ENOSPC ou si vous avez un cluster Hyperflex en mode lecture seule, sachez que cela peut être contre-productif. C'est-à-dire si l'utilisation d'un ou plusieurs VMDK augmentée jusqu'à 100 % (en conséquence de SDelete) représente une augmentation considérable de la capacité de stockage de cluster globale d'Hyperflex utilisée, il faut l'utiliser avec prudence
Cette capture d'écran montre le côté VM VMDK avant d'exécuter SDelete :
Une fois que vous avez téléchargé SDelete sur la machine virtuelle cible, décompressez le fichier.
Entrez cmd pour ouvrir l'application Invite de commandes. Cliquez avec le bouton droit de la souris et sélectionnez Exécuter en tant qu'administrateur.
Naviguez jusqu'au répertoire dans lequel vous avez décompressé SDelete.
Entrez la commande sdelete.exe -z <lettre de lecteur>: et cliquez sur Accepter.
Cette capture d'écran montre la taille VMDK de la machine virtuelle après l'opération SDelete :
Récupérer De L'Espace Dans Une VM Linux Sur Un Cluster HyperFlex
Vous pouvez utiliser l'utilitaire dd pour supprimer les zones où résident les données supprimées. Entrez df -h afin de vérifier l'espace libre sur le système d'exploitation Linux.
Entrez la commande dd bs=1M count=90112 if=/dev/zero of=zero afin de supprimer l'espace vide.
Cette commande met à zéro 90 Go d'espace. Modifiez cette commande pour qu'elle corresponde à votre cas d'utilisation.
Décomposition des entrées de commande :
bs est la taille de bloc utilisée
count est le nombre de blocs
si est le fichier d'entrée
de est le fichier de sortie
Une fois cette opération terminée, le fichier VMDK se développe.
Cette capture d'écran montre la taille de VMDK dans vCenter :
Afin de récupérer l'espace, entrez la commande rm zero :
/$ sudo rm zero
[sudo] password for user: <---Enter password for user
La taille VMDK de la VM dans vCenter après la suppression des fichiers zéro est affichée dans cette capture d'écran.
Informations connexes