Comment libérer de l’espace disque sous Windows Server ?
Sommaire
I. Présentation
Dans ce tutoriel, nous allons voir comment libérer de l'espace disque sur Windows Server, en prenant l'exemple d'un serveur de fichiers pour continuer la série de contenus sur le sujet.
Un serveur de fichiers est un serveur vivant : chaque jour vos utilisateurs sont susceptibles d'ajouter, de modifier et de supprimer des données. Forcément, ces données auront un impact direct sur l'espace disque consommé sur le serveur, et au fil des mois et des années, l'espace consommé peut devenir très important et vous pouvez, en quelque sorte, perdre le contrôle.
Enfin, si vous avez suivi les précédents épisodes de cette série, vous savez que certaines fonctions peuvent vous aider à garder le contrôle et à optimiser l'espace disque :
- La déduplication de données
- La mise en place de quotas sur les dossiers partagés
- La mise en place de filtrage de fichiers sur les dossiers partagés
Parfois, ce n'est pas suffisant : le volume système de votre serveur peut arriver à saturation, tout comme le volume dédié à vos données. Dans ce cas, que faire ? Comment récupérer de l'espace disque ? Voici quelques pistes intéressantes :
- Nettoyage de disques
- Vider la Corbeille de Windows
- Optimisation de bases de données (par exemple, sur un SQL Server)
- Suppression / rotation des fichiers de logs (pour un serveur Web IIS)
- Suppression de données inutiles, obsolètes, inappropriées (ci-dessous, nous verrons comment les identifier)
II. Le nettoyage de disque Windows
Windows, que ce soit sur les éditions Server ou Desktop, intègre un outil de nettoyage de disque. Il peut s'avérer utile pour effectuer un premier nettoyage sans supprimer les données des utilisateurs : par ce biais, on s'intéresse aux fichiers du système ainsi qu'à la Corbeille. Pour accéder à cet outil, effectuez un clic droit sur le volume à nettoyer (1), cliquez sur "Propriétés" (2) et cliquez sur le bouton "Nettoyage de disque" (3).
L'outil de nettoyage de disque va vous permettre de sélectionner les types d'éléments à supprimer, en vous indiquant la taille que cela représente. Ci-dessous, à gauche, les possibilités sur une partition de données, et à droite, les possibilités sur la partition système (nous voyons que le nettoyage de Windows Update permettrait de gagner plus d'1 Go).
Il ne reste plus qu'à faire sa sélection et à cliquer sur "OK" pour lancer le nettoyage. Avec cette méthode, vous êtes certain de pouvoir récupérer de l'espace disque si vous n'avez pas exécuté cet outil depuis plusieurs mois. Il n'est pas rare de pouvoir récupérer 4 ou 5 Go de cette façon, si ce n'est plus...
III. Des outils tiers pour gagner du temps
Pour aller plus loin dans l'analyse et la recherche de données que nous pourrions supprimer, il y a certains outils tiers qui peuvent nous aider.
A. WinDirStat
WinDirStat est un logiciel gratuit que j'utilise depuis de nombreuses années et qui m'a permis de gagner du temps plus d'une fois... C'est un outil très pratique pour analyser un espace de stockage. Il va analyser un ou plusieurs volumes du système de manière à générer une représentation graphique par blocs de couleurs : plus le bloc est gros, plus le fichier est volumineux. En complément, il indique la volumétrie occupée par les différents types de fichiers et permet de les localiser facilement.
Remarque : ce programme n'a pas évolué depuis longtemps, mais il fonctionne bien sur toutes les versions de Windows et Windows Server, y compris les plus récentes.
Tout d'abord, vous devez télécharger l'application en utilisant le lien ci-dessous, puis procéder à l'installation. Quelques clics suffisent... Et le programme s'installe par défaut dans "C:\Program Files (x86)\WinDirStat".
À chaque lancement, WinDirStat, vous demandera de sélectionner le ou les volumes à analyser. Dans cet exemple, seul le volume "DATA" est sélectionné. Une fois que c'est fait, nous cliquons sur "OK" pour lancer l'analyse et nous laissons Pac-Man travailler !
Une fois l'analyse terminée, les résultats s'affichent ! L'interface se découpe en trois zones :
- En haut à gauche, la liste des répertoires avec le % d'occupation par rapport à l'espace total utilisé, ainsi que la taille en Go/Mo/Ko
- En haut à droite, la liste des extensions de fichiers trouvées sur le volume, classées par taille (on sait combien il y a de fichiers MP3 sur le volume et quelle taille cela représente au total)
- En bas, la représentation graphique des fichiers où chaque bloc représente un fichier, et chaque couleur est associée à un type de fichiers
Grâce à cette analyse de WinDirStat, on peut identifier facilement les fichiers les plus volumineux. Parfois, avec cette méthode, on découvre des copies illégales de films, des logiciels crackés ou autres joyeusetés...
Si nous sélectionnons un bloc, WinDirStat nous positionne dans le répertoire de ce fichier, ce qui permet de voir où il est et de quoi il s'agit. Avec un clic droit sur n'importe quel fichier ou dossier, nous pouvons effectuer une suppression ou une destruction (pas de passage par la case Corbeille).
Passons à la découverte d'un autre outil dans le même style que WinDirStat.
B. TreeSize Free
TreeSize Free est un logiciel d'analyse qui est, en quelque sorte, concurrent de WinDirStat même si l'on peut tout à fait utiliser les deux. Dans cette démo, c'est la version gratuite qui est utilisée, mais il y a aussi des versions payantes avec des fonctions en plus (analyse d'un serveur Linux via SSH ou analyse d'un SharePoint Online, par exemple). Pour commencer, utilisez le lien ci-dessous pour télécharger et installer TreeSize Free. Ce logiciel s'installe dans le répertoire "C:\Program Files\JAM Software\TreeSize Free".
Suite au lancement de l'application, vous devez choisir le volume à analyser via le bouton "Choisir un répertoire". De mon côté, je reste sur le volume "DATA". Puis, nous laissons l'application travailler.
Lorsque l'analyse est terminée, nous obtenons une vue d'ensemble des répertoires avec la taille de chacun d'entre eux, et le % d'utilisation vis-à-vis du parent. Nous pouvons parcourir l'arborescence de cette façon.
À partir de l'onglet "Options", vous pouvez créer des filtres : un ou plusieurs filtres pour inclure des fichiers. L'exemple ci-dessous permet d'inclure tous les fichiers MP3.
Ensuite, l'application indique les informations de notre volume en tenant compte uniquement des fichiers qui correspondent au(x) filtre(s). C'est pratique pour avoir des informations sur une extension spécifique et savoir où sont les fichiers.
Enfin, si vous activez le mode "Afficher le graphique d'arborescence" et que vous le tunez un peu (en activant l'option "Afficher les fichiers uniques"), vous obtenez une vue graphique un peu dans le même esprit que celle de WinDirStat. Même si, personnellement, je préfère celle de WinDirStat.
Voilà pour cette présentation de la version gratuite de TreeSize. Une application utile pour faire du tri, et donc libérer de l'espace disque, sur un serveur de fichiers.
C. Top 10 des fichiers volumineux avec PowerShell
Pour terminer, je vous propose d'utiliser PowerShell pour sortir le "Top 10" des fichiers les plus volumineux sur notre volume ! Information que nous n'avions pas directement avec les outils utilisés précédemment. L'analyse pour sortir le top 10 sera plus ou moins longue selon la quantité de données sur le volume : nous allons récupérer la liste de tous les fichiers du volume (Get-ChildItem), de façon récursive, et sortir le Top 10 (en faisant un filtre avec Select-Object).
La commande PowerShell ci-dessous donne la liste des 10 fichiers les plus volumineux présents sur le volume "P:" (on pourrait préciser une sous-arborescence en adaptant le chemin). Nous obtenons un classement des fichiers, du plus volumineux au moins volumineux.
Get-ChildItem P:\ -Recurse | Sort-Object -Descending -Property Length | Select-Object -First 10 Name, Length
Pour que la taille soit plus facilement lisible, nous pouvons créer une propriété calculée avec PowerShell et nous appuyer sur la méthode "[math]::round()" pour sortir la taille en Go. Si vous ne maitrisez pas PowerShell et que ces notions vous sont étrangères, ce n'est pas gênant car vous n'avez qu'à changer le répertoire cible dans la commande.
Get-ChildItem P:\ -Recurse | Sort-Object -Descending -Property Length | Select-Object -First 10 Name, @{Name="GB";Expression={[math]::round($_.Length/1Gb, 3)}}
Si vous préférez, vous pouvez utiliser la syntaxe ci-dessous pour avoir la taille en Mo plutôt qu'en Go.
Get-ChildItem P:\ -Recurse | Sort-Object -Descending -Property Length | Select-Object -First 10 Name, @{Name="MB";Expression={[math]::round($_.Length/1Mb, 2)}}
Enfin, pour que ce soit plus précis, vous pouvez ajouter le chemin correspondant à l'emplacement du fichier en ajoutant la propriété "DirectoryName" à la commande "Select-Object". Ce qui donne :
Get-ChildItem P:\ -Recurse | Sort-Object -Descending -Property length | Select-Object -First 10 name, @{Name="MB";Expression={[math]::round($_.Length/1mb, 2)}},DirectoryName
Ces commandes sont pratiques pour identifier facilement les fichiers qui prennent le plus de place sur le serveur. Si nous souhaitons obtenir ce "Top 10" uniquement pour un type de fichiers, disons sur les fichiers ZIP par exemple, il suffira de faire :
Get-ChildItem P:\ -Recurse -Include "*.zip" | Sort-Object -Descending -Property length | Select-Object -First 10 name, @{Name="MB";Expression={[math]::round($_.Length/1mb, 2)}},DirectoryName
À vous de jouer maintenant !
IV. Conclusion
Suite à la lecture de ce tutoriel, vous devez être en mesure de libérer de l'espace disque sur votre serveur de fichiers Windows Server ! Même si c'est à vous d'approfondir l'analyse et de supprimer les données, les outils et commandes évoquées dans cet article vont vous mâcher le travail ! Si vous utilisez la déduplication de fichiers, attention cela a tendance à perturber les logiciels et à fausser les résultats.
Si vous souhaitez partager une autre astuce, n'hésitez pas à laisser un commentaire sur cet article.
En lieu et place de WinDirStat ou TreeSizeFree, vous pouvez utiliser WizTree (https://diskanalyzer.com/) qui est beaucoup, beaucoup, vraiment beaucoup plus rapide pour le scan et gratuit de surcroît (ils tiennent avec les dons).
Hello,
Merci pour l’info, je n’ai jamais testé celui-ci ! S’il est plus rapide que WinDirStat comme tu l’indiques et comme l’indique le site, c’est très intéressant 🙂
Bonjour Florian,
Merci pour ton astuce, le souci pour faire appel a Cleanmgr, c’est qu’il faut que la fonctionnalité Expérience bureau utilisateur soit installé, ce qui impose un redémarrage du serveur. Il n’est pas inclus de base.
La galère pour un serveur en prod
Bonjour,
Oui bonne remarque, mais si l’on est sur un serveur de fichiers avec l’interface graphique, le composant est inclus de base. Par contre effectivement c’est différent sur un serveur Core.
Selon mon expérience, pour résoudre efficacement les problèmes liés aux fichiers cachés consommateurs de ressources (tels que les fichiers caches, etc.), Dism++ s’avère être une excellente solution. Les options de nettoyage par défaut sont hautement efficaces et rapides, sans aucun risque pour le système d’exploitation.
Bonjour,
Il manque une info qui est comment suivre l’évolution de l’espace disque pour identifier rapidement les dossiers qui ont changé notablement de taille.
Sur Windows je connais 3 outils pour le faire Space Observer du même éditeur que Tree Size, outil payant plutôt orienté serveurqui propose un suivi temps réel et courbes d’évolution dans le temps jusqu’au niveau de chaque dossier.
Tree Size en version Pro payante qui permet de comparer une capture ponctuelle à une autre.
Et en gratuit on a WizTree qui ressemble beaucoup à WinDirStat mais en 10x plus rapide et surtout pour lequel il existe un outil open source nommé WizTree Compare qui permet de comparer deux captures de WizTree entre-elles pour identifier facilement pourquoi j’ai perdu 20Go depuis le dernier scan.
Cdlt.