TrueNAS est une solution professionnelle disposant dâune variante gratuite permettant de gérer les espaces de stockage sur un NAS. Cet article détaille son utilisation avec le NAS F4-424-Max de TerraMaster .
Publié le 12 juin 2025Â
Version PDF Version hors-ligne
TrueNAS est une solution professionnelle et réputée permettant de transformer une machine quelconque en NAS. En effet, TrueNAS (anciennement FreeNAS) est un système dâexploitation disposant dâune interface de configuration Web pour paramétrer les différents services typiques dâun NAS. Aussi, TrueNAS utilise le système de fichiers ZFS disposant des fonctionnalités telles que le Copy On Write (COW), les instantanés et de mesures pour éviter les pertes de données. TrueNAS est donc un système dâexploitation intéressant pour un NAS. Grâce à la présence dâun port HDMI, il est possible dâinstaller TrueNAS sur les NAS de la marque TerraMaster.
Pour cet article, le NAS F4-424-Max de TerraMaster (un NAS quatre baies) est configuré avec quatre disques durs Seagate Exos X16 de 16 To et le SSD EXCERIA PLUS G3 de Kioxia disposant de 2 To de stockage. Quant au système utilisé dans le cadre de cet article, câest la version SCALE 24.10.2 (noyau Linux en version 6.6.44) de TrueNAS.
Trois versions de TrueNAS sont disponibles :
Depuis la version 25.04, la version SCALE devient TrueNAS Community Edition et la version CORE devient TrueNAS Legacy. Seule la version TrueNAS Community Edition est mise en avant.
Le lancement de lâinstallation de TrueNAS est similaire au lancement dâune installation de distribution Linux : le site officiel propose une image ISO à copier sur une clé USB. Pour préparer la clé USB, il est, par exemple, possible dâutiliser balenaEtcher ou Rufus .
Après le lancement du système, une interface basique sâaffiche, proposant de démarrer le processus dâinstallation, un shell, ou bien de redémarrer ou arrêter la machine.
Le processus dâinstallation se réalise en quelques étapes. Lâécran suivant demande sur quel périphérique de stockage installer le système, sachant quâil est possible dâen sélectionner plusieurs. Par contre, les périphériques sélectionnés ne pourront pas être utilisés comme espace de stockage du NAS.
Un avertissement est affiché sur lâécran suivant, prévenant que les données présentes sur ces disques seront perdues.
Ensuite, la procédure demande par quel procédé le compte administrateur doit être configuré.
Deux choix sont proposés :
Finalement, la procédure demande sâil est nécessaire dâinstaller un chargeur de démarrage EFI ou plutôt un chargeur de démarrage compatible avec les vieilles machines.
Lâinstallation démarre après validation de cet écran.
Une fois lâinstallation terminée, le système peut être redémarré.
Lorsque TrueNAS SCALE démarre, le système affiche un menu (accessible avec la commande : /usr/bin/cli --menu ) ainsi que les informations pour se connecter à l'interface Web dans la console :
Mis à part en cas de dépannage, il nâest plus nécessaire dâutiliser un écran ni un clavier avec le NAS (une autre solution serait dâutiliser un commutateur KVM ). La configuration du système se fait au travers dâune interface Web, accessible à lâadresse IP indiquée dans la console ou à lâadresse http://truenas.local .
Suivant votre choix pendant lâinstallation du système, vous pouvez dès à présent vous connecter avec lâidentifiant truenas_admin et le mot de passe renseigné. Dans le cas contraire, le serveur Web affichera la page suivante :
Avant de se lancer dans la configuration du système, il est nécessaire de comprendre les particularités propres à ZFS. En effet, le système de fichiers ZFS est conçu avec lâobjectif de garantir lâintégrité des données. Notamment, chaque bloc dâun disque se voit associer une somme de contrôle qui sera vérifiée à la lecture du bloc. Lorsque les données sont lues, si la somme de contrôle ne correspond pas, ZFS corrigera lâerreur avec les informations disponibles sur les autres disques associés dans le même espace de stockage. Régulièrement (généralement, une fois par mois), lâintégralité des disques est lue afin de valider lâintégrité des données : cette opération sâappelle « scrub ». Mis à part cette opération, un système de fichiers ZFS ne nécessite pas de vérification, il est toujours consistant. Les écritures sont effectuées au travers de transactions. ZFS copie les données avant de modifier la copie (Copy On Write). Une fois lâopération réalisée, le système pointe alors sur la nouvelle copie. Le système de fichiers ZFS intègre des mécanismes de duplication des données. Il nâest donc pas nécessaire dâavoir un contrôleur RAID matériel, dans le cas de lâutilisation dâune politique de stockage de données redondant (câest même contre-productif ). Aussi, le comportement transactionnel permet dâéviter les problèmes dâincohérence lors dâune panne subite de lâalimentation (perte de données appelée « write-hole ». Cela est partiellement mitigé dans les politiques de RAID classique grâce à la journalisation). Aussi, grâce au Copy On Write, la création dâinstantanés a un impact faible sur les performances et initialement nul sur lâespace disque. Seuls les changements effectués après la création de lâinstantané sont stockés. Le système de fichiers supporte la compression à la volée des données. Lâopération est totalement transparente pour les utilisateurs et est effectuée uniquement si le bloc écrit peut bénéficier dâune telle compression. Lâalgorithme généralement utilisé est LZ4.
ZFS apporte son propre lexique :
Lâobjectif est dâassurer une protection des données, et ce même en cas de perte de disque. Lors de la configuration du NAS, les disques seront alors regroupés dans un ensemble (vdev) et il est alors nécessaire de choisir une politique définissant comment les données sont stockées sur les différents disques. Avec TrueNAS, les choix possibles sont :
Une fois connecté, lâadministrateur est accueilli avec le tableau de bord. Cette page donne un récapitulatif des différentes métriques du système disposées dans différentes tuiles :
Les tuiles peuvent être reconfigurées.
La colonne de gauche constitue le menu principal et permet de naviguer au travers des différentes catégories à administrer. Celui-ci peut être replié.
En haut se trouvent une barre de recherche et quelques boutons permettant de :
Cette catégorie permet de manipuler les pools configurées sur le NAS. Ãvidemment, initialement, lâécran est vide et propose un bouton pour créer un nouvel espace. Une fois créé, lâécran donne de nombreuses informations sur le statut de la pool :
La création dâune pool sâeffectue au travers des étapes suivantes :
La catégorie « Storage » propose, en haut à droite de lâécran, un bouton « Disks ». Celui-ci permet dâaccéder aux informations relatives aux disques installés dans la machine.
En plus de la liste des disques, il sera possible de démarrer les tests des registres S.M.A.R.T., de mettre en place des alertes, de définir un mot de passe matériel ou encore, de déterminer le délai de mise en veille.
Une fois un espace de stockage en place, il est possible de créer des jeux de données (datasets) ou des zvol.
Un jeu de données peut être vu comme un dossier, qui peut être partagé au travers de SMB ou de NFS. Câest une façon dâorganiser les données, mais aussi de permettre la mise en place de permissions, de quotas et de paramètres spécifiques à certaines données.
Les zvol étant similaires aux jeux de données, ils sont aussi listés sur cet écran. Lors de la configuration dâun zvol, il sera possible de déterminer des paramètres spécifiques à la configuration bas niveau dâun disque tel que lâalgorithme de compression ou la taille des blocs.
La section « Shares » permet de configurer les différents partages accessibles aux clients du NAS et les paramètres de ceux-ci. TrueNAS propose les protocoles SMB, NFS et iSCSI.
La catégorie « Data Protection » permet de mettre en place des tâches de surveillance ou de réplication des données. Sept types de tâches sont proposés :
La catégorie « Network » permet évidemment de reconfigurer les différents paramètres propres au réseau. Il y a sera possible de :
La catégorie « Credentials » permet de gérer les utilisateurs du système, les groupes, la configuration de lâactive directory, les identifiants pour les différentes tâches de sauvegarde (dans le nuage ou grâce à SSH) et les certificats.
Un utilisateur doit être créé sur le NAS pour quâun client puisse se connecter à un partage de fichiers SMB.
Il est possible de donner lâaccès à lâinterface dâadministration Web ou à des sous-parties de celle-ci à des utilisateurs particuliers. Par défaut, trois types dâaccès sont configurés :
Il est possible de créer dâautres privilèges grâce au bouton « Privileges » accessible depuis lâécran de configuration des groupes. Une fois un nouveau privilège en place, il pourra être associé à un ou plusieurs groupes.
Uniquement disponible dans la version Linux (SCALE) de TrueNAS.
La catégorie « Virtualisation » permet de mettre en place des machines virtuelles sur le NAS, au travers de Qemu/libvirt. à partir de la version 25.04 de TrueNAS. KVM est remplacé par Incus.
La catégorie « Apps » permet dâajouter des applications sur le NAS. Celles-ci sont exécutées dans des containers. Depuis la version 24.10, les containers sont gérés par Docker au travers de Docker Compose.
La catégorie « Reporting » permet dâaccéder à lâhistorique de la consommation des ressources de la machine (CPU, mémoire, disques, réseau, système, ZFS et UPS).
En plus de la section « Reporting », TrueNAS fournit par défaut lâapplication Netdata . Celle-ci offre une solution plus complète pour le monitoring des ressources en permettant la création de ses propres tableaux de bord, la mise en place des alarmes et le support des greffons.
La catégorie « Système » regroupe tous les paramètres globaux, dont :
Il est possible de sauvegarder et de restaurer une configuration à partir dâun fichier.
Pour le test des performances, quatre disques durs Seagate Exos X16 dâune capacité de 16 To sont utilisés. Le NAS dispose de 8 Go de mémoire vive et le système dâexploitation est installé sur un disque NVMe dédié. Dans les tests suivants, quatre configurations de TrueNAS sont testées :
Pour rappel, la politique de stockage RAIDZ1 est standard dans une configuration NAS et permet dâencaisser la perte dâun disque. La politique Stripe, va découper les données sur les différents disques dans le but dâutiliser les disques en parallèle. Câest donc la politique permettant dâobtenir le maximum de performances, mais elle nâoffre absolument aucune protection face aux pannes.
La synchronisation correspond au fait dâattendre la fin dâune écriture avant de continuer.
Le test de performance brute des disques et de la politique de stockage reposent sur fio . Le cas optimal étant la lecture ou lâécriture dâun fichier continu, depuis un seul client. Ainsi, il est possible dâobtenir une idée sur les performances maximales pouvant être obtenues dans une telle configuration. Ci-dessous, le modèle de commande utilisé pour les tests. Suivant le test, la taille de bloc ( bs ), le nombre de threads ou la taille de la file dâattente changent.
Le tableau ci-dessous donne un récapitulatif des performances pouvant être obtenues :
RAID1 avec synchronisation
Stripe avec synchronisation
Accès en continu Taille de bloc : 1 Mo Nombre de threads : 1 Taille de la file dâattente : 1
Accès aléatoire Taille de bloc : 1 Mo Nombre de threads : 1 Taille de la file dâattente : 1
Accès aléatoire Taille de bloc : 1 Mo Nombre de threads : 16 Taille de la file dâattente : 1
Accès aléatoire Taille de bloc : 4 Ko Nombre de threads : 1 Taille de la file dâattente : 1
Accès aléatoire Taille de bloc : 4 Ko Nombre de threads : 16 Taille de la file dâattente : 1
Même si le test précédent donne une idée des performances, il est rarement possible dâobtenir de tels résultats dans le cas dâusage final : la copie de fichiers depuis ou vers un autre PC. En effet, dans le cas dâusage dâun NAS, le client utilisé et le réseau auront un impact. Dans ce test, deux scénarios sont effectués : le transfert dâun gros fichier rempli de données aléatoires (50 Go) et les sources du noyau Linux en version 5.8.1 . Pour ce second cas, cela représente 929,7 Mo répartis sur 73 767 fichiers (soit des fichiers de 12 ko en moyenne). Les tests sont effectués avec les protocoles SMB, NFS et SSH avec les options par défaut. De plus, deux configurations de Maximum Transmission Unit (MTU, la taille des paquets) pour le réseau sont testées : 1500 (valeur par défaut) et 9000 (valeur maximale pour lâadaptateur réseau du NAS).Le NAS et le PC de test sont connectés en Ethernet 10 Gbit/s.
Débit en écriture avec un fichier continu :
Débit en écriture avec des petits fichiers :
Débit en lecture dâun fichier continu :
Débit en lecture de petits fichiers :
La synchronisation du jeu de données ZFS a un impact supérieur sur les performances en écriture avec le protocole NFS en comparaison des autres protocoles. Ce comportement est reproductible avec les différentes options de NFS (taille des tampons de travail, option de synchronisationâ¦). Toutefois, la synchronisation du jeu de données peut être configurée pour chaque jeu de données indépendamment.
Comme vu dans le dossier sur le NAS F4-424-Max , les débits pour les petits fichiers sont meilleurs avec le système de TerraMaster (et le système de fichiers BTRFS). Pour les gros fichiers, les débits obtenus avec TrueNAS sont similaires à ceux obtenus avec le système de TerraMaster.
Developpez.com tient à remercier TerraMaster de nous avoir fourni le F4-424 Max, Seagate pour les disques durs mécaniques et KIOXIA pour le disque NVMe, utilisé comme disque système.
Merci à Franck Talbart et Christophe pour leurs suggestions. Un grand merci également à f-leb pour sa relecture orthographique.
Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants :