TrueNAS sur le F4-424-Max de TerraMaster

TrueNAS sur le F4-424-Max de TerraMaster

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 :

Recommended articles