Richie Müller
En coulisse

NAS maison : ma configuration Unraid pour une vue d’ensemble et des performances maximales

Richie Müller
24/7/2025
Traduction: Rose-Hélène Moquet
Photos: David Lee

Mon serveur Unraid est installé. Avant d’y ajouter les conteneurs Docker ou applications, mon NAS a besoin de structure. Dans cet article, vous allez découvrir comment répartir les pools de cache, lancer le tableau et bien organiser le stockage des données, le tout en faisant preuve de stratégie.

Dans mon dernier article, j’ai installé le système d’exploitation Unraid sur une clé USB branchée en permanence sur mon NAS.

À présent, je dois affiner les réglages. En effet, « TomBombadil » (c’est le nom de mon serveur Unraid) doit me servir de laboratoire de recherche. Dans cet article, vous découvrirez les réflexions et les pensées qui ont joué un rôle dans ce processus. Pour un tutoriel étape par étape, je vous conseille plutôt de chercher sur YouTube.

Je me connecte pour la première fois et j’arrive sur l’interface utilisateur d’Unraid. Pour éviter d’éventuels problèmes par la suite, j’ai pris l’habitude de commencer par mettre à jour le système d’exploitation et choisir le bon fuseau horaire.

Deux pools de cache : séparer selon les tâches

Avant de créer des partages (shares), je réfléchis un instant. En effet, la structure des données ne détermine pas seulement la lisibilité, mais aussi la performance et la fiabilité du système. Ma décision aura également une influence sur la redondance et la maintenabilité à long terme du serveur.

J’ai installé au total quatre Solid State Drives (SSD) : deux de 2 To et deux de 500 Go. Sur le moment, je suis tenté de les mettre tous dans un seul pool de cache. Mais avec des SSD de tailles différentes, je gaspille rapidement et inutilement de la capacité sur RAID 1 (association de disques durs avec sécurité intégrée). Dans le pire des cas, cela peut aller jusqu’à plus de la moitié de l’espace.

En effet, RAID 1 met toujours en miroir les données par paires entre deux lecteurs. Il n’utilise que la capacité disponible sur les deux disques SSD concernés. Si l’un des disques est plus petit, il ne prendra pas en compte tout l’espace restant du plus grand.

La carte mère dispose de trois emplacements pour les SSD NVMe.
La carte mère dispose de trois emplacements pour les SSD NVMe.

Je mise donc sur deux pools séparés avec des SSD de même taille, chacun dans le système RAID 1 BTRFS. J’utilise le système de fichiers BTRFS, car il constitue la meilleure option Unraid pour les pools de SSD redondants, avec détection des erreurs et gestion flexible :

  • Pool de cache SSD 1 (cache) : 2 × 2 To de SSD NVMe en RAID 1 : idéal pour la mise en cache des données des conteneurs Docker, applis, machines virtuelles... Bref, tout ce qui est constamment actif et nécessite un accès rapide.
  • Pool de cache SSD 2 (cache_fast) : 2 × 500 Go de SSD SATA en RAID 1 : pour les données temporaires comme les téléchargements ou les données « chaudière » de boîtes de réception de Paperless ngx ou des dépôts intermédiaires de sauvegarde.

ZFS ou BTRFS : choisir le bon système de fichiers

Les systèmes de fichiers comme ZFS ou BTRFS régissent la manière dont les données sont stockées, organisées et sauvegardées sur un disque. Ils fonctionnent un peu comme FAT32 ou NTFS sous Windows, avec toutefois des fonctionnalités supplémentaires telles que les sommes de contrôle, les instantanés et la prise en charge RAID native. Ils sont surtout pertinents pour les serveurs et les systèmes NAS.

J’ai choisi de ne pas utiliser ZFS (anciennement Zettabyte File System), même s’il est relativement performant sur le plan technique, ni ext4 (fourth extended file system) qui n’offre pas de fonctions avancées. Je veux pouvoir rester flexible pour les pools de cache. Les pools ZFS sont compliqués à étendre. Si j’en crée un en tant que miroir (RAID 1), je ne pourrais pas ajouter un autre SSD par la suite.

Il me faudra installer à nouveau deux SSD de taille identique. RAID-Z, une variante de RAID disponible exclusivement pour ZFS, propose encore moins de souplesse. La structure initiale est fixe. Pour plus de mémoire, je dois installer plusieurs nouveaux disques durs en même temps.

Les SSD installés sont équipés d’éléments de refroidissement.
Les SSD installés sont équipés d’éléments de refroidissement.

ZFS ne fait pas mieux avec des SSD de différentes tailles : il n’utilise que la quantité de mémoire que le plus petit disque dur peut contenir. Le reste n’est pas utilisé. Pour les pools de cache, cela représente une vraie perte de potentiel.

BTRFS est bien plus souple et me permet de remplacer ou ajouter facilement des SSD, peu importe leur capacité. Le maintien de la redondance et la bonne vue d’ensemble constituent un véritable avantage. Unraid fonctionne déjà avec BTRFS, pas besoin de plugin ni d’effort supplémentaire. C’est le bon choix pour ma configuration que je compte également faire évoluer avec le temps.

La séparation claire apporte structure et ordre, mais aussi sécurité en évitant les congestions en cas d’accès simultanés. Sans oublier que je peux facilement intégrer d’autres partages dans la structure existante si nécessaire.

Le tableau : 4 × 6 To et 2 × parités = 24 To net et un sommeil tranquille

Je répartis mes six disques durs de 6 To de manière classique : deux disques durs de parité (disques de données redondants) et quatre disques de données. Je dispose donc d’une capacité de stockage nette de 24 To. Je suis également couvert en cas de défaillance d’un ou deux disques. Les quatre disques de données fonctionnent avec eXtents File System (XFS), le système standard d’Unraid. Ce système de fichiers est stable, éprouvé et particulièrement efficace pour les fichiers volumineux comme les médias ou les sauvegardes.

Unraid suit ici son propre concept : contrairement au système RAID ou au classique JBOD (« Just a Bunch of Disks »), chaque disque de données reste lisible individuellement. Le tout est sécurisé par une procédure de parité qui peut pallier la défaillance de jusqu’à deux lecteurs. Je peux également stocker des sauvegardes sur un disque dur externe.

Pour mon tableau, je me suis procuré six disques durs NAS.
Pour mon tableau, je me suis procuré six disques durs NAS.

Partages structurés

Je cherche tout de suite à savoir où se trouve chaque élément, et pour quelle raison. Mes principaux répertoires sont donc régis par des règles claires :

Les modes de cache peuvent être définis individuellement pour chaque partage, et Unraid permet de définir précisément si et comment le cache est utilisé. On a le choix entre quatre options :

  • Only : le partage se trouve exclusivement sur le pool de cache (par exemple pour Docker ou les machines virtuelles).
  • Prefer : le partage est stocké de préférence sur le cache, mais se déplacera vers le tableau en cas de manque de place.
  • Yes : les nouvelles données atterrissent d’abord sur le cache et sont ensuite automatiquement déplacées dans le tableau.
  • No : le cache n’est pas utilisé et toutes les données finissent directement dans le tableau. En arrière-plan, le « mover » veille à ce que les données soient déplacées comme prévu. Chez moi, cela se fait toutes les 6 heures.

Les données temporaires atterrissent donc d’abord sur les SSD avant d’être automatiquement déplacées dans le tableau. Les données des conteneurs ou des machines virtuelles demeurent quant à elles dans les pools de cache. C’est là qu’elles trouvent la performance nécessaire.

La mémoire vive permet d’améliorer encore plus cette performance : Unraid utilise automatiquement la RAM libre comme cache de lecture et d’écriture (« cache buffer ») afin de mettre à disposition encore plus rapidement les données fréquemment utilisées et de décharger les SSD.

J’ai installé une mémoire vive avec correction des erreurs.
J’ai installé une mémoire vive avec correction des erreurs.

Mon NAS contient un total de 128 Go de RAM. Dans les paramètres d’Unraid, j’ai défini qu’un maximum de 75 % de la mémoire disponible peut être utilisé pour les caches, soit 96 Go de RAM. Cela se fait via le paramètre vm.dirty_ratio, que j’ai adapté ainsi dans la console :

sysctl -w vm.dirty_ratio=75

Il reste ainsi suffisamment de mémoire tampon pour Docker, les machines virtuelles et les autres processus. En parallèle, les services gourmands en données, tels que Paperless NGX ou Nextcloud, profitent de temps d’accès plus courts.

Sans ce cache RAM, tous les accès en lecture et en écriture devraient être effectués directement par les SSD. Le fonctionnement reste assez rapide, mais sera moins efficace à long terme et pourra entraîner une usure plus importante des SSD.

Unraid libère automatiquement la mémoire dès qu’elle est activement requise par d’autres processus. Le cache n’utilise donc que la mémoire vive qui n’est pas utilisée à d’autres fins. Voici une vidéo YouTube qui explique la configuration du cache buffer :

Moment de vérité : lancement du tableau

Après avoir défini la structure des données et configuré les pools de cache, j’attribue les disques dans l’interface web Unraid : deux disques de parité, quatre disques de données et les SSD aux pools de cache respectifs. Unraid m’indique ensuite que le statut est OK en affichant un point vert.

Je clique sur « Démarrer », puis Unraid initialise le tableau, vérifie les affectations et prépare le système de fichiers. Au premier coup d’œil, il ne se passe pas grand-chose, si ce n’est le changement du statut et l’apparition d’une option de formatage.

En ce qui concerne les systèmes de fichiers, je choisis XFS pour les lecteurs de données et BTRFS pour les pools de cache. Je confirme le formatage des supports de données, puis j’attends.

Le calcul prend du temps, surtout lorsque l’on installe deux disques de parité. Selon la taille des disques durs, cela peut prendre plusieurs heures, voire plusieurs jours. Le système peut être utilisé pendant ce temps, mais avec des performances limitées. Je le laisse tourner toute la nuit.

Si la curiosité vous démange, vous pouvez suivre l’avancée en temps réel dans l’interface web. Unraid y montre de manière très transparente ce qui se passe à l’instant T et indique la vitesse et la durée restante prévue.

Chez moi, la vérification de la parité a duré plus de 11 heures.
Chez moi, la vérification de la parité a duré plus de 11 heures.
Source : Capture d’écran : Richie Müller

Le lendemain matin, mission accomplie : le tableau est prêt et mon NAS est officiellement en service.

Deux pools de SSD, un tableau stable et une structure de données délibérément choisie : mon NAS maison est à la fois performant et structuré.

La sauvegarde sur clé USB : assurance-vie indispensable

Après le premier démarrage réussi du tableau et des pools de cache, j’effectue une première sauvegarde sur clé USB. Une démarche facile à oublier, mais qui est pourtant absolument nécessaire.

En effet, Unraid enregistre toutes les configurations importantes sur la clé USB qui contient également le système d’exploitation. Si elle tombe en panne, le système n’est certes pas perdu, mais la restauration sera pénible à réaliser. La sauvegarde permettra de copier rapidement la configuration sur une nouvelle clé USB.

J’ai enregistré la sauvegarde sur mon Synology. Je peux également télécharger mon fichier clé dans mon compte utilisateur Unraid si nécessaire. Une sauvegarde complète est également possible avec un plugin spécial. Vous en saurez plus dans mon prochain article.

Mon serveur maison est désormais fonctionnel et prêt à recevoir des extensions. Docker, machines virtuelles, applications communautaires et plugins sont déjà dans les starting-blocks. Mais ça, ce sera au prochain épisode.

  • Guide

    NAS DIY : j’installe Unraid sur une clé USB et je m’énerve

    par Richie Müller

  • En coulisse

    NAS DIY – Partie 4 : la recherche du bon matériel

    par Richie Müller

  • En coulisse

    Propre système NAS – Partie 3 : quel système d’exploitation choisir ?

    par Richie Müller

  • En coulisse

    Propre système NAS – Partie 2 : les réactions de la communauté !

    par Richie Müller

  • En coulisse

    Propre système NAS – Partie 1 : adieu difficile à Synology

    par Richie Müller

Photo d’en-tête : Richie Müller

Cet article plaît à 62 personne(s)


User Avatar
User Avatar

Journaliste avec plus de 20 ans d'expérience, principalement dans le journalisme en ligne à différents postes. Mon principal outil de travail ? Un ordinateur portable de préférence avec une connexion Internet. J'aime tellement ces appareils que j'ai parfois tendance à démonter, réparer et remettre en état les ordinateurs portables et les PC. Pourquoi ? Parce que c'est amusant ! 

Ces articles pourraient aussi vous intéresser

  • En coulisse

    NAS DIY – Partie 4 : la recherche du bon matériel

    par Richie Müller

  • En coulisse

    Propre système NAS – Partie 3 : quel système d’exploitation choisir ?

    par Richie Müller

  • En coulisse

    Propre système NAS – Partie 1 : adieu difficile à Synology

    par Richie Müller

23 commentaires

Avatar
later