
La règle la plus ancienne de ZFS était « vous ne pouvez pas ajouter de disque à un vdev RAIDZ ». Pendant quinze ans, cela signifiait que l’expansion d’un NAS maison était soit une sauvegarde et restauration complètes, soit l’achat d’une deuxième gamme complète de disques à la fois. OpenZFS 2.3 a introduit l’expansion RAIDZ, et la règle a disparu. Ajoutez un disque à un RAIDZ1 existant, attendez le reflux, et le vdev est plus large sans reconstruction.
Les sept meilleures applications pour l’expansion RAIDZ ZFS ci-dessous couvrent l’expansion elle-même, la surveillance que vous souhaitez pendant un reflux de 30 heures sur un NAS maison à 8 baies, et les outils de snapshot et de réplication qui sécurisent un pool en cours d’exécution pendant sa croissance. Tout s’exécute sur Linux (TrueNAS SCALE, Debian, Ubuntu Server, Proxmox) ; la plupart fonctionnent également sur FreeBSD.
Ce qu’il faut rechercher dans une trousse d’outils d’expansion RAIDZ
- OpenZFS 2.3 ou plus récent comme runtime, car
zpool attachpour les vdevs RAIDZ est la fonctionnalité qui rend tout cela possible. - Une interface web ou un tableau de bord qui affiche la progression de l’expansion sans laisser
zpool statusouvert dans un terminal pendant une journée. - Automatisation des snapshots afin de conserver les snapshots pré-expansion pour une restauration.
- Réplication vers un deuxième hôte ou une cible cloud, car l’expansion n’est pas la même chose qu’une sauvegarde.
- Alertes sur les erreurs de scrub, les échecs de résilience et le processus d’expansion lui-même.
- Support du rééquilibrage, car les données écrites avant l’expansion restent sur la largeur de stripe d’origine jusqu’à ce que vous les réécriviez.
Tableau de comparaison rapide
| Application | Idéale pour | Plates-formes | Plan gratuit | Prix de départ/mois | Évaluation |
|---|---|---|---|---|---|
| OpenZFS 2.3 | Le runtime effectuant l’expansion | Linux, FreeBSD, illumos | Entièrement gratuit (CDDL) | Gratuit | Essentiel |
| TrueNAS SCALE 24.10+ | Expansion pilotée par interface web | Bare-metal, VM | Entièrement gratuit | Gratuit (support Enterprise supplémentaire) | Recommandé |
| Cockpit ZFS Manager | Gestion des pools dans Cockpit | Linux | Entièrement gratuit (OSS) | Gratuit | Léger |
| Sanoid | Politiques automatisées de snapshot | Linux | Entièrement gratuit (OSS) | Gratuit | Favori communautaire |
| zrepl | Réplication de snapshot avec chiffrement | Linux, FreeBSD | Entièrement gratuit (OSS) | Gratuit | Solide |
| Houston UI | Console web Rocky Linux pour ZFS | Rocky Linux | Entièrement gratuit (OSS) | Gratuit | Nouveau mais prometteur |
| zfs-auto-snapshot | Snapshots horaires/quotidiens simples | Linux | Entièrement gratuit (OSS) | Gratuit | Éprouvé |
Les applications
1. OpenZFS 2.3 – le runtime qui rend l’expansion possible
OpenZFS 2.3 est l’endroit où se trouve zpool attach pour les vdevs RAIDZ. La commande tient en une ligne : zpool attach tank raidz1-0 /dev/sdX. Le pool reste en ligne pendant le reflux, les lectures et écritures continuent, et quand c’est terminé, le vdev a une capacité d’un disque supplémentaire. Tous les autres outils ci-dessous supposent ce runtime.
Où cela fait défaut : Les nouvelles écritures après l’expansion utilisent le stripe plus large. Les données écrites avant l’expansion conservent l’ancienne largeur de stripe jusqu’à ce que vous les réécriviez. De plus, l’expansion RAIDZ se fait un attach à la fois ; un deuxième attach ne peut pas commencer tant que le premier n’est pas terminé.
Tarification :
- Gratuit.
Plates-formes : Linux, FreeBSD, illumos.
Téléchargement : Versions OpenZFS sur GitHub
Conclusion : Installez OpenZFS 2.3 en premier. Tout le reste est du matériel auxiliaire.
2. TrueNAS SCALE 24.10 – meilleur pour l’expansion pilotée par interface web
TrueNAS SCALE 24.10 et versions plus récentes livrent OpenZFS 2.3 avec l’expansion RAIDZ exposée dans l’onglet Stockage. Ajoutez le disque, cliquez sur Expand VDEV, confirmez, et regardez la barre de progression du reflux avancer sur des heures ou des jours selon la taille du pool. Les alertes se déclenchent quand le reflux est terminé, plus les scrubs, les erreurs SMART et la santé du pool.
Où cela fait défaut : Impossible d’étendre un vdev mirror-of-mirror de la même manière (les mirrors ont toujours été simples à agrandir, donc pas de perte). Impossible de combiner l’expansion avec la suppression de vdev en une seule opération.
Tarification :
- Gratuit : édition communautaire.
- Payant : le support TrueNAS Enterprise commence au niveau de tarification des appliances matérielles.
Plates-formes : Bare-metal x86, VM.
Téléchargement : TrueNAS.com
Conclusion : Si ZFS est votre couche de stockage, TrueNAS SCALE 24.10+ est le chemin le plus court de « disque supplémentaire dans une baie » à « RAIDZ1 étendu ».
3. Cockpit ZFS Manager – meilleur pour la gestion des pools dans Cockpit
Cockpit ZFS Manager ajoute un panneau ZFS à la console web Cockpit fournie avec Fedora Server, Rocky Linux et Debian. Créez des datasets, parcourez les snapshots, prenez des snapshots manuels et vérifiez l’état du pool sans terminal. L’expansion s’exécute pour l’instant au niveau du shell, mais la visibilité est native à Cockpit.
Où cela fait défaut : L’interface utilisateur d’expansion est minimaliste comparée à TrueNAS. Certaines fonctionnalités supposent que Cockpit est déjà installé sur la machine.
Tarification :
- Gratuit (LGPL).
Plates-formes : Linux (Cockpit).
Téléchargement : GitHub optiplex-networks
Conclusion : Cockpit ZFS Manager est le bon ajout pour un serveur Linux géré par Cockpit qui exécute ZFS en parallèle.
4. Sanoid – meilleur pour les politiques automatisées de snapshot
Sanoid applique un fichier de politique à vos datasets et prend des snapshots horaires, quotidiens, mensuels et annuels selon un calendrier. L’outil complémentaire syncoid gère la réplication. Quand vous êtes sur le point d’exécuter une expansion RAIDZ, le snapshot quotidien pré-expansion de Sanoid est le point de restauration pour lequel vous vous féliciterez.
Où cela fait défaut : La configuration est un fichier texte ; pas d’interface web. Le débogage de la réplication sur les liens lents nécessite de lire les logs de syncoid.
Tarification :
- Gratuit (GPL).
Plates-formes : Linux, FreeBSD.
Téléchargement : GitHub jimsalterjrs
Conclusion : Sanoid est le choix « snapshots automatiques qui fonctionnent » que tout utilisateur ZFS devrait avoir installé avant le jour trois.
5. zrepl – meilleur pour la réplication chiffrée
zrepl gère la réplication des snapshots entre les hôtes avec des clés de chiffrement natives, en mode push ou pull, et des règles de rétention afin qu’une cible défaillante ne purge pas votre pool source. Il se met à l’échelle au-delà d’un lab maison si vous mettez un jour le pool en site distant dans un serveur colocalisé.
Où cela fait défaut : Le fichier de configuration (hcl) a une courbe d’apprentissage. Sanoid gère les cas plus simples avec moins de configuration.
Tarification :
- Gratuit (MIT).
Plates-formes : Linux, FreeBSD.
Téléchargement : zrepl.github.io
Conclusion : Choisissez zrepl quand la réplication va quelque part en laquelle vous n’avez pas entièrement confiance et que le chiffrement au repos n’est pas optionnel.
6. Houston UI – meilleur pour la console web Rocky Linux
Houston UI de 45Drives est une console basée sur Cockpit pour ZFS sur Rocky Linux. Elle expose la création de pools, la gestion des datasets, le partage et maintenant l’expansion RAIDZ dans une interface similaire à TrueNAS SCALE. Préférée par les utilisateurs qui souhaitent une base Linux à publication continue sous une interface ZFS familière.
Où cela fait défaut : Le support de l’édition communautaire est au mieux « best-effort ». Le support Enterprise nécessite du matériel 45Drives.
Tarification :
- Gratuit (édition communautaire).
Plates-formes : Rocky Linux, AlmaLinux.
Téléchargement : 45Drives Houston
Conclusion : Houston UI est une forte alternative TrueNAS pour les fans de Rocky Linux qui veulent toujours un panneau ZFS convivial.
7. zfs-auto-snapshot – meilleur pour les snapshots horaires simples
zfs-auto-snapshot est le cron de snapshot original « configurer et oublier ». Il installe une poignée de tâches cron et commence à prendre des snapshots fréquents, horaires, quotidiens, hebdomadaires et mensuels avec rétention. Idéal quand Sanoid semble excessif.
Où cela fait défaut : Pas de réplication intégrée. La rétention est par calendrier, pas par dataset sans configuration supplémentaire.
Tarification :
- Gratuit (GPL).
Plates-formes : Linux (Debian et Ubuntu le proposent), FreeBSD (via ports).
Téléchargement : GitHub zfsonlinux
Conclusion : zfs-auto-snapshot est la couche snapshot « un apt install et oublie-le » pour les pools qui n’ont pas besoin de la flexibilité de Sanoid.
Comment choisir le bon
- Tout le monde a besoin d’OpenZFS 2.3 sur la machine avant même qu’une expansion soit possible.
- Si vous exécutez une appliance TrueNAS SCALE, l’interface intégrée est la réponse complète.
- Sur un serveur Linux générique, ajoutez Cockpit ZFS Manager ou Houston UI pour un panneau convivial.
- Couchez Sanoid (ou zfs-auto-snapshot si vous voulez simple) pour la politique de snapshot.
- Ajoutez zrepl si la réplication va quelque part de sensible.
Ne superposez pas Sanoid et zfs-auto-snapshot sur le même dataset. Ils prennent tous les deux des snapshots avec les mêmes noms et se battent pour la rétention.
FAQ
Combien de temps dure une expansion RAIDZ sur un NAS maison ?
Pour un disque de 8 To ajouté à un RAIDZ1 healthy à 4 largeurs, attendez-vous à 12 à 30 heures selon la plénitude du pool. Les lectures et écritures continuent pendant le reflux ; les performances baissent mais le pool reste en ligne.
Dois-je toujours réécrire les fichiers existants après l’expansion RAIDZ ?
Un peu. Les fichiers écrits avant l’expansion conservent l’ancienne largeur de stripe, donc le disque ajouté contribue moins aux lectures sur ces fichiers jusqu’à ce que vous les réécriviez. Un zfs send | zfs recv sur le dataset (ou une passe Sanoid syncoid) rééquilibre proprement. Sur un grand pool, une réécriture programmée du jour au lendemain est une bonne idée.
L’expansion RAIDZ est-elle sûre avec un scrub en cours d’exécution ?
L’expansion ne commencera pas pendant qu’un scrub est en vol ; ZFS refuse proprement. Attendez le scrub, puis lancez l’expansion. Prenez d’abord un snapshot.
Quelle est la différence entre l’expansion RAIDZ et l’ajout d’un vdev ?
L’expansion élargit un vdev existant d’un disque à la fois. L’ajout d’un vdev crée un groupe RAIDZ séparé dans le même pool. Les deux augmentent la capacité ; l’expansion maintient le ratio de parité que vous aviez déjà, tandis que l’ajout d’un vdev multiplie la tolérance aux pannes.
Puis-je étendre un RAIDZ2 ou RAIDZ3 ?
Oui. zpool attach pour RAIDZ fonctionne pour RAIDZ1, RAIDZ2 et RAIDZ3 dans OpenZFS 2.3 et plus récent. La commande est la même ; le reflux ne fait que déplacer les blocs de parité appropriés au niveau RAIDZ.