J'ai supprimé un gros fichier (plusieurs gigas) d'un système Solaris et je n'ai pas réussi à récupérer la quantité d'espace sur le zpool correspondant à la taille du fichier. Y a-t-il une raison pour laquelle je ne verrais pas cet espace immédiatement ? Quelles sont les étapes de la suppression de fichiers dans un ZFS ?
Réponse
Trop de publicités?Il existe plusieurs possibilités pour que l'espace libéré ne corresponde pas à la taille du fichier.
- Compression - il se peut que la compression soit activée sur le système de fichiers et que le fichier ait été compressé.
- Fichiers épars - si le fichier créé est un fichier épars, toutes les zones vierges contiguës du fichier n'occuperont pratiquement pas d'espace sur le disque, de sorte que la suppression du fichier ne permettra pas de récupérer autant d'espace que prévu.
- Instantanés - Je pense que c'est la raison de ce que vous voyez. Si vous avez un instantané qui fait référence à ce fichier, les données sont toujours utilisées et ne seront pas récupérées. Vous devez supprimer tous les instantanés pour récupérer complètement l'espace. Si le fichier a été modifié depuis l'instantané, vous récupérerez une partie de l'espace (la quantité modifiée depuis l'instantané), mais les parties inchangées du fichier sont toujours référencées par l'instantané lui-même.
- Dedup - Il s'agit d'une fonctionnalité plus récente que vous n'avez probablement pas activée, mais je l'inclus comme une possibilité. Dedup détecte les blocs identiques et ne les stocke qu'une seule fois. Si vous supprimez un fichier qui fait référence à l'un de ces blocs, vous ne récupérerez pas l'espace car il est référencé par un autre fichier.