Libérer de l’espace disque sur pfSense

Avec le temps, même les systèmes bien entretenus comme pfSense finissent par accumuler des fichiers inutiles. Ce n’est pas toujours visible, mais chaque mise à jour du pare-feu peut laisser derrière elle une copie complète de l’ancien système, appelée environnement de démarrage. Au bout de quelques mois, ces copies s’empilent et occupent une part importante de l’espace disque.
Dans mon cas, j’utilise un Netgate SG-2100 Security Gateway équipé de pfSense. C’est un excellent appareil, fiable et performant, mais comme tout système ZFS, il n’est pas à l’abri d’un remplissage progressif du disque par des environnements anciens devenus obsolètes.
Un jour, vous vous connectez à l’interface et découvrez que plus de la moitié du disque est déjà utilisé. Vous vous dites que ce n’est pas si grave… jusqu’au moment où la prochaine mise à jour échoue, ou que les journaux systèmes ne peuvent plus être enregistrés. Dans certains cas, un simple fichier de log peut provoquer un comportement instable ou un redémarrage raté.
Dans ce tutoriel, je vous montre comment retrouver de l’espace disque sans danger, directement depuis l’interface web de pfSense. Aucune ligne de commande complexe, aucune manipulation risquée : vous allez reprendre le contrôle de votre système en quelques minutes.

Vérifier l’utilisation du disque

Accédez à votre pfSense via un navigateur web.
Dans mon cas, le disque est utilisé à 58 %.

Pour vérifier plus en détail, allez dans :
DiagnosticsCommand Prompt
Entrez la commande suivante pour voir l’utilisation par dossier :

zfs list

 

Étape 2 : Lister les environnements de démarrage

Toujours dans Command Prompt, tapez :

bectl list

default est l’environnement actif.
Tous les autres peuvent être supprimés s’ils ne sont pas actifs (aucune lettre N ni R dans la colonne Active).
Dans mon exemple, je peux supprimer en toute sécurité :

auto-default-20231220143212
default_20240620092717
default_20250617092443

Pour la démonstration, je vais supprimer :

bectl destroy auto-default-20231220143212

bectl est une commande intégrée à pfSense (et à FreeBSD) qui permet de gérer les environnements de démarrage (Boot Environments) lorsque le système utilise le système de fichiers ZFS.
Dans notre cas, nous utilisons la commande bectl destroy pour supprimer un ancien environnement de démarrage qui n’est plus nécessaire.
Ici, auto-default-20231220143212 est un environnement créé automatiquement lors d’une mise à jour du système. Il n’est ni actif actuellement, ni prévu pour le prochain redémarrage, ce qui signifie qu’on peut le supprimer en toute sécurité.
En le supprimant, on libère plusieurs centaines de mégaoctets, sans toucher au système en cours d’utilisation. La suppression est immédiate et sans danger, à condition de ne pas effacer l’environnement actif — celui qui est marqué par N (Next boot) ou R (Running) dans la colonne Active lors de la commande bectl list.

Appuyez sur Exécuter.

 

Vérifier l’espace libre

Retournez sur la page principale de votre pfSense pour voir si de l’espace a été libéré.

Voilà, on a récupéré de l’espace disque sans risquer la stabilité du système.

Bonne chance!