Fabriquer son NAS soit même est quelque chose qui m’a toujours intrigué. Est-ce plus moins cher qu’un NAS dans le commerce ? Est-ce plus puissant ? Que peut-on faire avec un OS Open source ? Malheureusement, je n’ai ni le budget, ni le temps et ni l’utilité de fabriquer mon propre NAS. D’autres l’ont déjà fait, et en parlent bien plus en détail que ce que je pourrais écrire sur le sujet.
Pour aborder un sujet qui a mon sens à toute sa place sur MonServeurNAS.com, j’ai donc pris le parti de reprendre un article déjà existant de Michael Lynch, qui est un développeur américain. L’article initial en anglais est suffisamment détaillé pour présenter à la fois les composants nécessaires, et rentrer dans la fabrication du NAS en tant que telle. Comme vous le verrez, l’article est bien documenté et l’auteur nous explique ce qu’il aurait pu améliorer et les difficultés rencontrées.
J’espère que vous prendrez autant de plaisir que j’ai eu à découvrir ce projet. Bonne lecture !
Cette année, j’ai décidé de construire moi-même mon tout premier serveur NAS. Il s’agit d’un système de 32 To qui stocke mes données personnelles et professionnelles à l’aide d’un logiciel en open source.
Le serveur lui-même a coûté 531 $, et j’ai acheté quatre disques pour 732 $, ce qui porte le coût total à 1263 $. Le prix de ce système est similaire à celui des serveurs NAS disponibles dans le commerce, mais il offre plus de puissance et de possibilités de personnalisation.
Dans cet article, j’expliquerai comment j’ai choisi les pièces, les erreurs que j’ai commises et mes recommandations pour quiconque souhaite construire son propre serveur.
Contexte
Pourquoi construire un serveur NAS maison ?
NAS signifie « network-attached storage » (stockage en réseau). La tâche principale d’un serveur NAS est de stocker des données et de les mettre à la disposition des appareils de votre réseau.
Alors, pourquoi avoir un serveur entièrement dédié aux données ? Après tout, chaque ordinateur stocke des données.
Je trouve utile de dédoubler le stockage des données de mes autres systèmes. Je mets à niveau mon poste de travail principal et mon ordinateur portable tous les deux ou trois ans, et la migration de mes données d’un ordinateur à l’autre était toujours pénible. Un serveur de stockage dédié élimine la plupart des migrations de données et facilite le partage des fichiers entre mes systèmes.
J’ai aussi beaucoup de données. Je suis un accumulateur de données, et je conserve donc toutes les photos numériques que j’ai prises, tous les e-mails que j’ai envoyés ou reçus au cours des 20 dernières années, ainsi que le code source de tous mes projets personnels. Le total est actuellement de 8,5 To.
La plus grande source de données est ma collection de DVD et de Blu-Ray. Je n’aime pas dépendre des services de streaming pour garder mon contenu préféré disponible, c’est pourquoi je continue à acheter des copies physiques de films et de séries. Dès que je reçois un nouveau disque, je copie l’image brute et je fais un fichier vidéo streamable. Entre la copie ISO brute et les MP4 streamables, un seul disque peut occuper 60 Go d’espace disque.
Qu’est-ce qu’un homelab ?
« Homelab » est un terme familier qui a gagné en popularité ces dernières années.
Un homelab est un endroit chez vous où vous pouvez expérimenter avec du matériel ou des logiciels informatiques que l’on trouve généralement dans un bureau ou un centre de données. Il peut servir d’environnement d’entraînement pour l’acquisition de nouvelles compétences professionnelles, ou simplement d’endroit pour jouer avec des technologies intéressantes.
Pourquoi construire son propre NAS DIY?
Si vous êtes nouveau dans le monde des homelabs ou si vous n’avez aucune expérience dans la construction de PC, je vous recommande de ne pas construire votre propre NAS maison.
Il existe des solutions prêtes à l’emploi qui offrent des fonctionnalités similaires avec une courbe d’apprentissage plus douce.
Avant de construire mon serveur NAS maison, j’ai utilisé un Synology DS412+ à 4 disques pendant sept ans. Honnêtement, j’adorais mon Synology. C’était l’un des meilleurs achats que je n’ai jamais faits. C’était une introduction douce au monde des serveurs NAS, et c’est là que je vous recommande de commencer si vous n’êtes pas sûr de tout ce qui concerne les NAS.
Il y a quelques mois, mon Synology n’a pas réussi à démarrer et a commencé à faire un bruit de cliquetis. Un frisson m’a parcouru l’échine lorsque j’ai réalisé à quel point j’étais devenu dépendant de ce seul appareil. Les serveurs Synology ne sont pas réparables par l’utilisateur, donc si une pièce se casse après la garantie, vous devez remplacer le serveur entier. Et si vous êtes stupide comme moi, et que vous avez utilisé un format de stockage propriétaire de Synology, vous ne pouvez pas accéder à vos données sans un autre système Synology. (Edit : Un lecteur m’a montré depuis que vous pouvez récupérer un volume Synology Hybrid RAID Synology à partir d’un système non-Synology).
Heureusement, mon vieux Synology est revenu à la vie après que je l’ai nettoyé et réinstallé les disques, mais c’était un premier signe annonciateur. J’ai décidé de passer à TrueNAS, car il offre une mise en œuvre open source d’un format de stockage ouvert.
TrueNAS et ZFS
TrueNAS (anciennement connu sous le nom de FreeNAS) est l’un des systèmes d’exploitation les plus populaires pour les serveurs de stockage. Il est open source et existe depuis près de 20 ans, ce qui en fait un choix fiable.
TrueNAS utilise ZFS, un système de fichiers conçu spécifiquement pour les serveurs de stockage. Les systèmes de fichiers traditionnels comme NTFS ou ext4 fonctionnent au-dessus d’un volume de données qui gère les niveaux plus bas d’ E/S du disque. ZFS gère tout dans la pile, de la logique de niveau fichier jusqu’aux E/S du disque. Le contrôle complet de ZFS lui confère plus de puissance et de performance que les autres systèmes de fichiers.
Voici quelques-unes des fonctionnalités intéressantes de ZFS :
- L’agrégation de plusieurs disques physiques en un seul système de fichiers
- La réparation automatique des données corrompues
- Création d’instantanés ponctuels des données sur le disque (similaire à la fonction Time Machine d’OS X).
- Le chiffrement ou la compression facultative des données sur le disque.
Avant de construire ce système, je n’avais aucune expérience de ZFS, j’étais donc impatient de l’essayer.
Planification du stockage
Estimation de mes besoins en capacité de stockage
Lorsque j’ai acheté mon NAS Synology, j’ai initialement installé trois disques de 4 To et laissé le quatrième emplacement vide. Cela m’a donné un total de 7 To d’espace utilisable avec le Synology Hybrid Raid. Trois ans plus tard, je commençais à manquer d’espace, j’ai donc ajouté un quatrième disque, portant mon espace total utilisable à 10 To.
J’ai décidé d’appliquer la même stratégie pour ma nouvelle construction. Je voulais un système qui réponde à mes besoins actuels et qui puisse évoluer. Mon objectif approximatif était de commencer avec 20 To d’espace de stockage utilisable et une marge supplémentaire pouvant atteindre 30 To si j’ajoutais des disques ultérieurement.
ZFS ne vous permet pas d’ajouter un nouveau disque à un pool existant, mais cette fonctionnalité est en cours de développement. Avec un peu de chance, lorsque j’aurai besoin d’étendre mon stockage, cette fonctionnalité sera disponible dans TrueNAS.
Beaucoup de petits disques ou moins de gros disques ?
ZFS est conçu pour survivre aux pannes de disque, il stocke donc chaque bloc de données de manière redondante. Cette caractéristique complique la planification de la capacité, car votre stockage total utilisable n’est pas seulement la somme de la capacité de chaque disque.
ZFS crée des systèmes de fichiers à partir de « pools » de disques. Plus il y a de disques dans le pool, plus ZFS peut utiliser efficacement leur capacité de stockage. Par exemple, si vous donnez à ZFS deux disques de 10 To, vous ne pouvez utiliser que la moitié de la capacité totale de votre disque. Si vous utilisez plutôt cinq disques de 4 To, ZFS vous donne 14 To de stockage utilisable. Même si votre espace disque total est le même dans les deux scénarios, les cinq disques plus petits vous offrent 40 % d’espace utilisable en plus.
Lorsque vous construisez un serveur NAS maison, vous devez décider s’il faut utiliser une plus petite quantité de grands disques ou une plus grande quantité de petits disques. Les disques plus petits sont généralement moins chers en termes de $/TB, mais ils sont plus chers à exploiter. Deux disques de 4 To nécessitent deux fois plus d’électricité qu’un seul disque de 8 To.
Je voulais minimiser l’empreinte physique de mon serveur, j’ai donc opté pour des disques durs pour NAS plus grands et moins nombreux.
RAID-Z1, Z2 ou Z3 ?
ZFS propose différentes options de redondance : raid-z1, raid-z2 et raid-z3. La principale différence réside dans la robustesse. Raid-z1 peut survivre à une panne de disque sans perdre de données. Raid-z2 peut survivre à deux pannes de disque simultanées, et raid-z3 peut survivre à trois.
Ce que vous gagnez en robustesse, vous le payez en stockage utilisable. Avec cinq disques durs de 4 To, voici la quantité de stockage utilisable que vous obtiendriez de chaque mode ZFS :
type ZFS | Stockage utile | % de capacité totale |
---|---|---|
raid-z1 | 15.4 TB | 77.2% |
raid-z2 | 11.4 TB | 57.2% |
raid-z3 | 7.7 TB | 38.6% |
J’ai choisi le raid-z1. Avec seulement quelques disques, la probabilité que deux disques tombent en panne simultanément est assez faible.
Gardez à l’esprit que ZFS n’est pas une stratégie de sauvegarde. ZFS peut vous protéger contre les pannes de disque, mais il existe de nombreuses menaces pour vos données que ZFS ne peut pas atténuer, comme la suppression accidentelle, les logiciels malveillants ou le vol physique. J’utilise restic pour répliquer tout ce qui est important vers des sauvegardes cryptées sur le cloud.
L’intérêt de ZFS est que je n’ai pas besoin de recourir à mes sauvegardes sur cloud si un disque meurt, mais je pourrai toujours les récupérer si deux disques tombent en panne. Ce ne serait pas une partie de plaisir, mais cela ne vaut pas la peine de renoncer à 20 % du stockage utilisable de mon serveur pour du raid 2.
Plus vous avez de disques physiques, plus vous devez être prudent en cas de défaillance d’un disque. Si j’avais un pool de 20 disques, j’utiliserais probablement du raid 2 ou raid 3.
Prévention des pannes de disque simultanées
Naïvement, la probabilité que deux disques tombent en panne en même temps semble extrêmement faible. D’après les statistiques de Backblaze, les disques de haute qualité tombent en panne à raison de 0,5 à 4 % par an. Un risque de 4 % par an correspond à une probabilité de 0,08 % dans une semaine donnée. Deux pannes simultanées se produiraient une fois tous les 30 000 ans, donc tout devrait bien se passer, non ?
Le problème est que les disques ne sont pas statistiquement indépendants. Si un disque tombe en panne, son voisin a un risque nettement plus élevé de mourir. Cela est particulièrement vrai si les disques sont du même modèle, proviennent du même lot de fabrication et ont traité les mêmes charges de travail.
De plus, la reconstruction d’un pool ZFS exerce une pression inhabituelle sur tous les disques survivants. Un disque qui aurait tenu quelques mois de plus dans des conditions normales d’utilisation pourrait mourir sous la charge supplémentaire de la reconstruction d’un pool.
Compte tenu de ces risques, j’ai fait ce que je pouvais pour réduire le risque de défaillances simultanées des disques. J’ai choisi deux modèles différents de disques provenant de deux fabricants différents. Pour réduire les chances d’obtenir des disques provenant du même lot de fabrication, je les ai achetés auprès de fournisseurs différents. Je ne peux pas dire dans quelle mesure cela est important, mais cela n’a pas augmenté les coûts de manière significative, alors pourquoi pas ?
Comment j’ai choisi les pièces de mon NAS
Carte mère
La première décision a été la taille de la carte mère. J’ai toujours apprécié la forme compacte de mon Synology DS412+. Je n’ai jamais construit un ordinateur avec une carte mère mini-ITX avant, et cela semblait être une bonne occasion.
J’ai choisi la ASUS Prime A320I-K pour quelques raisons :
- Elle possède quatre ports SATA, ce qui me permet de connecter quatre disques directement à la carte mère.
- Elle prend en charge les graphiques Radeon, ce qui m’évitera d’acheter une carte graphique séparée.
- Il est abordable, à seulement 98 $.
J’ai aussi regardé la B450, qui était très similaire, mais presque deux fois plus chère. Le principal avantage semblait être un meilleur support d’overclocking, ce dont je n’avais pas besoin.
Processeur
D’après ce que j’avais lu, ZFS n’est pas très gourmand en ressources CPU. J’ai effectué un test de base en installant TrueNAS sur un mini PC Dell OptiPlex 7040 bon marché. Le processeur était à peine utilisé, il semblait donc sûr d’opter pour une option à faible puissance.
Mon principal critère de choix d’un processeur était la prise en charge des graphiques Radeon afin de pouvoir utiliser la sortie HDMI intégrée de la carte mère A320.
J’ai choisi l’AMD Athlon 3000G. À seulement 105 $, c’est un bon rapport qualité-prix, il prend en charge les graphiques Radeon, et il a des benchmarks CPU décents.
Boîtier NAS
Lorsque j’ai construit mon dernier serveur VM, j’ai utilisé un boîtier Fractal Design. C’est mon boîtier d’ordinateur préféré, donc je suis revenu à Fractal Design pour cette construction.
J’ai choisi le Fractal Design Node 304 noir, un boîtier mini-ITX compact. J’ai aimé le design, car il est plus proche d’un cube que d’une tour. Il a six baies de disques, ce qui me permet de commencer avec suffisamment de disques et d’avoir encore de la place pour grandir dans le futur.
Disque (données)
Avec six baies de disques disponibles dans le boîtier, j’ai décidé de commencer avec quatre disques de 8 TB, ce qui se traduit par 22.5 TB de stockage utilisable en raid-z1. Si j’ai besoin de m’étendre à l’avenir, un cinquième disque me portera à 30,9 To, et un sixième me donnera 37 To.
Dans la gamme des 8 To, il n’y a pas beaucoup de disques en dessous de 7200 tr/min, mais vous pouvez aller jusqu’à 10000 tr/min. Pour mon NAS, des vitesses supérieures à 7200 tr/min ne feraient pas de différence, car le goulot d’étranglement est le réseau. Un disque de 10 000 tr/min serait plus bruyant et consommerait plus d’énergie, mais n’offrirait pas de gain de performances. (NDLR : Tous les disques durs NAS sont listés ici)
À un moment donné, j’ai envisagé d’utiliser des disques à 400 $ pour leur taux de défaillance de 0,5 %, mais j’ai réalisé qu’il était irrationnel de dépenser deux fois plus pour réduire le taux de défaillance de quelques pour cent.
Le dernier écueil à éviter est la technologie SMR (shingled magnetic recording). ZFS fonctionne mal sur les disques SMR, donc si vous construisez un NAS, évitez les disques SMR connus. Si le disque est étiqueté CMR, il s’agit d’un enregistrement magnétique conventionnel, qui convient à ZFS.
J’ai choisi le Toshiba N300 et le Seagate IronWolf. J’ai vu des avis positifs sur les deux sur les forums TrueNAS et reddit. Les deux modèles sont vendus entre 210 et 230 dollars, ce qui est un bon rapport qualité-prix pour l’espace de stockage.
Disque (OS)
TrueNAS a besoin d’un disque dédié au système d’exploitation, mais d’après ce que j’ai lu, il n’en demande pas beaucoup. Le système d’exploitation a besoin d’au moins 2 Go d’espace, mais TrueNAS lit ou écrit rarement sur le disque d’exploitation.
J’ai choisi le Kingston A400 parce qu’il était incroyablement bon marché – 32 $ pour un disque M.2 de 120 Go. J’adore les disques M.2 NVMe ! Ils ne nécessitent aucun câblage. Ils se glissent dans la carte mère, ne prennent pratiquement pas de place et vous n’avez plus jamais à y toucher.
Mémoire
Au cours de mes recherches, j’ai souvent trouvé des références à la « règle » selon laquelle ZFS nécessite 1 Go de RAM pour chaque To d’espace disque dans le système. Selon le développeur de ZFS Richard Yao, cette règle est un mythe. Certaines fonctionnalités de ZFS, comme la déduplication des données, sont gourmandes en RAM, mais ZFS fonctionne très bien avec une mémoire limitée.
Je trouve la mémoire extrêmement ennuyeuse à acheter. J’aurais aimé avoir un processus plus rigoureux pour choisir la RAM, mais je n’ai pas pu trouver de benchmarks ou de rapports d’utilisateurs fiables pour la RAM. Mon processus était le suivant :
- Passer en revue la liste des barres de RAM compatibles avec la carte mère ASUS A320I-K.
- Filtrer les options 32 GB ou 64 GB qui n’utilisent que deux barres.
- Filtrer les marques auxquelles je fais confiance (Corsair, Crucial, G.SKILL, Kingston, Samsung, Patriot, Mushkin, HyperX)
- Filtre pour les options inférieures à 150 $
Ce processus m’a conduit à la CORSAIR Vengeance LPX 32GB CMK32GX4M2A2400C14 (2 x 16 GB) pour 128 $.
Bloc d’alimentation (PSU)
En termes de capacité d’alimentation, n’importe quel bloc d’alimentation grand public aurait été suffisant. Selon PCPartPicker, mon système n’a besoin que de 218 W. J’aurais choisi une alimentation dans la gamme 300-400 W, mais il n’y avait pas d’options semi-modulaires avec une puissance inférieure. J’ai donc opté pour le 500 W EVGA 110-BQ-0500-K1.
Câbles SATA à 90 degrés
Un article que je n’avais jamais acheté auparavant était un câble SATA à 90 degrés. Je n’ai pas réalisé que j’en avais besoin jusqu’à ce que je vois qu’il n’y avait pas assez d’espace entre ma carte mère et l’alimentation pour brancher un câble SATA standard. Ces câbles minces à 90 degrés ont résolu le problème.
Que manque-t-il ?
Il y a quelques composants que j’ai intentionnellement exclus de ma construction pour des raisons de prix, de complexité ou d’espace physique.
Carte graphique (GPU)
L’espace physique et les ports de la carte mère étant limités, je ne voulais pas d’une carte graphique dédiée. J’ai choisi une combinaison de carte mère et de processeur qui prennent en charge le rendu graphique sans carte externe.
Contrôleur hôte de bus (HBA)
De nombreuses constructions de NAS incluent un contrôleur hôte de bus (HBA). Un HBA est une puce qui s’insère dans l’emplacement PCI d’une carte mère et augmente le nombre de disques que la carte mère peut prendre en charge.
ZFS vous demande de reflasher le firmware du HBA dans un processus qui semble assez fastidieux et déroutant. J’ai décidé d’abandonner le HBA jusqu’à ce que j’aie besoin de plus de stockage. L’ASUS A320I-K possède quatre ports SATA, ce qui est suffisant pour mes besoins initiaux. Je me suis assuré de laisser un emplacement PCI vide pour un futur HBA.
RAM ECC
Lors de mes recherches sur les différentes constructions en TrueNAS, j’ai vu plusieurs articles affirmant que la RAM ECC (error correction code RAM) est indispensable pour éviter la corruption des données. J’ai finalement décidé de ne pas utiliser de RAM ECC et de me contenter d’une RAM standard pour le grand public.
Je ne veux évidemment pas que mon serveur corrompe mes données dans la RAM, mais j’utilise des ordinateurs depuis 30 ans sans RAM ECC et je n’ai jamais remarqué de corruption de données. Si je construisais un serveur pour une charge importante de plusieurs utilisateurs toute la journée, j’opterais pour une construction avec de la RAM ECC. Pour les besoins domestiques, je pense qu’une simple RAM de qualité grand public devrait convenir.
Disque SLOG
De nombreuses constructions ZFS incluent un SSD séparé et dédié appelé SLOG (separate intent log).
L’idée est que l’écriture sur un SSD est beaucoup plus rapide que l’écriture sur plusieurs disques rotatifs. Lorsqu’une application écrit des données, ZFS peut rapidement les écrire sur le SSD, indiquer à l’application que l’écriture a réussi, puis déplacer de manière asynchrone les données du SSD vers le pool de stockage. Le SLOG améliore considérablement les vitesses d’écriture.
J’ai choisi de ne pas intégrer un disque SLOG, car je suis limité par les ports et les baies de disques. Ajouter un disque SLOG signifiait soit renoncer à mon seul emplacement PCI, soit à l’une de mes six baies de lecteur. Je préfère me laisser de la place pour augmenter la capacité plus tard.
Liste des pièces
Categorie | Composant | Prix |
---|---|---|
CPU | AMD Athlon 3000G | $105.13 |
Carte mère | ASUS Prime A320I-K* | $97.99 |
Carte graphique | Pa besoin — La carte mère supporte les graphiques | $0 |
Disque (OS) | Kingston A400 120GB | $31.90 |
Memoire | CORSAIR Vengeance LPX 32GB CMK32GX4M2A2400C14 (2 x 16GB) | $127.99 |
Alimentation | EVGA 110-BQ-0500-K1 500W 80+ Bronze Semi-Modular | $44.99 |
Boitier | Fractal Design Node 304 Black | $99.99 |
Câbles SATA | Silverstone Tek Ultra Thin Lateral 90 Degree SATA Cables (x2) | $22.30 |
Total (sans les disques) | $530.29 | |
Disques (Stockage) | Toshiba N300 HDWG480XZSTA 8TB 7200 RPM (x2) | $372.79 |
Disques (Stockage) | Seagate IronWolf 8TB NAS Hard Drive 7200 RPM (x2) | $359.98 |
Total | $1,263.06 |
* Avertissement : Cette carte mère peut ne pas fonctionner avec le processeur AMD Athlon 3000G. Voir les détails ci-dessous.
Comparaison avec les produits disponibles dans le commerce
À titre de comparaison, voici quelques solutions disponibles dans le commerce à des prix similaires.
Produit | 2022 NAS DIY | Synology DS920+ | QNAP TS-473A-8G-US |
---|---|---|---|
Nombre de baies | 6 | 4 | 4 |
RAM | 32 GB | 4 GB | 4 GB |
Max RAM | 32 GB | 8 GB | 8 GB |
CPU benchmark | 4479 | 3002 | 4588 |
Prix | $530.29 | $549.99 | $549 |
Le coût total de ma construction est similaire à celui des solutions du commerce, mais j’en ai plus pour mon argent. J’ai 8x plus de RAM et je ne suis pas bloqué par un OS fermé et spécifique à un fabricant.
Photos de la construction
Construction du serveur avec TinyPilot
Les lecteurs de longue date de ce blog se souviendront peut-être que j’ai utilisé le Raspberry Pi pour créer un outil spécifiquement destiné à la construction et à la gestion de serveurs. Il s’agit de TinyPilot. C’était le troisième serveur que j’ai construit avec TinyPilot et le premier que j’ai construit avec le nouveau TinyPilot Voyager 2.
Je suis évidemment partial, mais construire ce serveur avec le Voyager 2 était très amusant ! Je n’ai jamais eu à connecter un clavier ou un moniteur au serveur. Je pouvais voir la sortie vidéo, démarrer le BIOS et monter l’image d’installation de TrueNAS à partir de mon navigateur web.
La seule lacune que j’ai rencontrée a été la mise à jour du BIOS. TinyPilot peut monter des images de disque comme les fichiers .img et .iso, mais il ne sait pas encore comment partager des fichiers bruts avec l’ordinateur cible. Quand j’ai eu besoin de charger le fichier .CAP pour la mise à jour du BIOS d’ASUS, j’ai honteusement mis les fichiers sur une clé USB au lieu de garder une construction pure de TinyPilot. J’espère ajouter le support pour ce scénario bientôt afin que TinyPilot puisse gérer ma prochaine mise à jour du BIOS.
Cette version du BIOS est-elle incompatible ? Ou suis-je un idiot ?
Quand j’ai installé tous les composants, le système s’est allumé, mais il n’y avait pas d’affichage vidéo.
Oh non ! Ai-je mal compris les exigences de la carte mère en matière de vidéo embarquée ? J’ai effectué tous les diagnostics habituels : réinitialisation de la RAM, réinitialisation du CPU, et vérification de tous les câbles – même résultat.
Après quelques recherches paniquées sur Google, j’ai vu des mentions indiquant que l’ASUS Prime A320I-K nécessite une mise à jour du BIOS avant de pouvoir fonctionner avec l’Athlon 3000G. Je me souviens avoir vu cet avertissement lorsque je sélectionnais les pièces et l’avoir ignoré. « J’ai fait des mises à jour du BIOS », ai-je pensé. « Ce n’est pas un problème ! »
Je n’ai pas réfléchi à la façon dont j’allais mettre à jour mon BIOS sans CPU.
Heureusement, le CPU Ryzen 7 de mon serveur VM homelab 2017 était compatible avec le ASUS Prime A320. J’ai emprunté le bloc d’alimentation et la carte graphique de ce serveur, et j’ai réussi à faire démarrer mon serveur NAS !
Étrangement, même après avoir réussi à faire démarrer le système avec les pièces empruntées, la carte mère a signalé qu’elle exécutait le BIOS version 2203, qui, selon ASUS, est compatible avec le CPU AMD Athlon 3000G. Mais j’ai mis à jour le dernier BIOS, qui est le 5862.
Après avoir mis à jour la version 5862, je n’arrivais toujours pas à obtenir de démarrage. J’ai alors réalisé que je branchais mon câble HDMI sur la sortie DisplayPort du serveur.
Etait-il vraiment nécessaire d’emprunter toutes ces pièces ? Il y a deux possibilités :
- Je suis idiot et je n’ai remarqué que mon câble HDMI était branché sur la sortie DisplayPort de la carte mère qu’après avoir mis à jour le BIOS.
- ASUS est stupide, et ils ont incorrectement listé l’Athlon 3000G comme étant compatible avec la version 2203 du BIOS alors qu’il ne l’est pas.
Normalement, j’accepterais la faute, mais le BIOS d’ASUS était tellement bancal que le problème pourrait être du côté d’ASUS. Quoi qu’il en soit, j’étais soulagé de pouvoir enfin démarrer le NAS sans aucune pièce empruntée.
Bancs d’essai des performances
L’une des surprises que j’ai eues en rédigeant cet article est que je n’ai pas pu trouver de bons outils de benchmarking pour mesurer les performances du NAS. Il existe des outils qui fonctionnent sur le serveur NAS lui-même pour évaluer les E/S du disque local, mais cela ne reflète pas l’utilisation réelle. La plupart de mes utilisations se font sur le réseau, donc une évaluation des performances du disque local ne tiendra absolument pas compte des goulots d’étranglement dans la pile réseau.
J’ai donc créé mon propre benchmark rudimentaire. J’ai généré deux ensembles de données de fichiers aléatoires, puis j’ai utilisé robocopy pour mesurer les vitesses de lecture et d’écriture entre mon ordinateur principal et mon NAS DIY. Il ne s’agissait en aucun cas d’un test rigoureux – je ne l’ai pas fait sur un réseau isolé et je n’ai pas arrêté tous les autres processus sur mon bureau pendant le test. J’ai effectué les mêmes tests avec mon vieux Synology DS412+ à titre de comparaison.
Le premier ensemble de fichiers était composé de 20 Go de fichiers de 1 Go, et l’autre de 3 Go de fichiers de 1 Mo. J’ai pris la moyenne de trois essais sur des volumes cryptés et des volumes non cryptés.
Les performances ont culminé à 111 MB/s (931 Mb/s), ce qui est étrangement proche de 1 Gb/s. Cela suggère que le facteur limitant est mon matériel de réseau, car mon switch, mon ordinateur de bureau et les serveurs NAS ont tous des ports Ethernet de 1 Gb/s.
Performances en lecture
Pour les volumes non cryptés, j’ai été surpris de voir mon Synology rouillé et vieux de 7 ans surpasser mon TrueNAS tout neuf et tout brillant. Synology était 31 % plus rapide à la lecture des petits fichiers et 10 % plus rapide sur les gros fichiers.
L’hégémonie de Synology a été de courte durée, car il s’est complètement effondré sur le cryptage. Les vitesses de lecture de Synology ont chuté de 67-75 % sur les volumes cryptés, alors que le cryptage n’avait aucun effet sur TrueNAS. Cela a permis à TrueNAS de surpasser Synology de 2,3 x pour les petits fichiers et de 3x pour les gros fichiers sur un volume crypté. Je conserve la plupart de mes données sur des volumes cryptés, donc ce test représente plus précisément mon utilisation typique.
Performances en écriture
Bien que mon vieux Synology ait réussi à surpasser TrueNAS en lecture, ce n’était pas le cas en écriture. Même sur un volume non crypté, TrueNAS était 77 % plus rapide sur les petits fichiers, et les deux systèmes ont eu des performances similaires sur les fichiers de 1 GB.
Encore une fois, l’apport du cryptage dans l’équation oblitère les performances d’écriture de Synology. Avec le cryptage activé, TrueNAS était 5,2 x plus rapide sur les petits fichiers et 3,2 x plus rapide sur les gros fichiers.
Consommation d’énergie
J’ai utilisé un contrôleur pour mesurer la consommation d’énergie sur mon ancien Synology et le nouveau serveur TrueNAS :
Synology DS412+ | 2022 NAS | |
---|---|---|
En veille | 38 W | 60 W |
En travail | 43 W | 67 W |
Le nouveau serveur consomme 60 % de plus que mon ancien Synology, ce qui est un peu surprenant. Je paie environ 0,17 $/kWh, donc le serveur coûte environ 7,20 $/mois pour fonctionner.
Je n’en sais pas plus sur les facteurs qui conduisent à la consommation d’énergie, mais l’une des possibilités est le bloc d’alimentation. Synology a probablement un PSU qui est parfaitement dimensionné pour ses autres composants, alors que mon PSU de 500 W est probablement inefficace pour alimenter un système qui ne nécessite que 15 % de sa capacité.
Dernières réflexions
Carte mère
Mon plus gros reproche concernant la ASUS Prime A320I-K est sa compatibilité limitée, mais il est possible que je me trompe.
Au-delà de ça, je n’ai pas été emballé par le BIOS. Son utilitaire de mise à jour était inopérant. Il est censé pouvoir télécharger et installer les dernières versions du BIOS, mais lorsque j’ai essayé de le mettre à jour, il m’a dit que j’avais le dernier BIOS alors que ce n’était pas le cas. J’ai dû mettre à jour manuellement en téléchargeant les fichiers et en les chargeant sur une clé USB.
J’ai aussi oublié que le A320I-K supporte un maximum de 32 GB de RAM. Je ne suis pas sûr d’avoir un jour besoin d’étendre la mémoire, mais il aurait été bon de se donner un peu plus de marge de manœuvre.
Correction du pilote réseau Realtek
J’ai remarqué que l’adaptateur Ethernet de la carte mère se coupait parfois lorsque mon système était soumis à une forte charge réseau. Apparemment, le pilote FreeBSD pour la carte réseau Realtek de l’A320I-K a des problèmes de stabilité, mais il est possible de charger le pilote officiel avec la solution suivante :
- Depuis le tableau de bord web de TrueNAS, allez dans Système > Tunables.
- Ajoutez les deux paramètres suivants :
Variable | Valeur | Type |
---|---|---|
if_re_load |
YES |
loader |
if_re_name |
/boot/modules/if_re.ko |
loader |
Boitier
J’ai été déçu par le Fractal Design Node 304. Lorsque j’ai construit mon serveur VM avec le Fractal Design Meshify C, le boîtier m’a toujours enchanté avec des fonctionnalités que je n’avais jamais vues sur d’autres boîtiers. Sur cette construction, c’était le contraire. Je n’arrêtais pas de penser, « Pourquoi est-ce un problème dans ce boîtier alors que cela n’a jamais été un problème pour moi auparavant ? ».
Il est beau de l’extérieur, mais j’ai trouvé qu’il était difficile d’y travailler. Il n’y avait pratiquement aucune documentation, et certains mécanismes du boîtier n’étaient pas évidents.
C’est mon premier boîtier mini-ITX, et je sais que les concepteurs de boîtiers doivent faire des sacrifices pour minimiser la taille, alors peut-être que je le juge trop sévèrement.
CPU
Je suis content de l’Athlon 3000G, mais il s’est avéré être massivement surpuissant pour mes besoins. Mon tableau de bord TrueNAS indique que la charge du CPU a été de 99 % d’inactivité pour le dernier mois d’utilisation :
La chose la plus importante à propos du CPU est qu’il prend en charge la technologie vidéo Radeon d’AMD, ce qui m’a évité d’avoir besoin d’un GPU. Pour 105 $, c’était une excellente affaire.
Disque (données)
Il est un peu trop tôt pour juger les disques, alors revenez dans cinq ans pour voir comment je les apprécie. Pour l’instant, tout va bien.
Ma plus grande crainte était que les disques soient trop bruyants, mais je ne les entends jamais. La seule fois où je les ai entendus, c’était pendant l’exécution des tests de performance. Il est intéressant de noter qu’ils étaient plus bruyants non pas pendant les lectures ou les écritures, mais lorsque je supprimais des fichiers entre les tests.
Bloc d’alimentation (PSU)
Après avoir vu que le système tourne au ralenti à 60 W, je me demande si je n’aurais pas dû faire plus d’efforts pour choisir une alimentation de plus faible capacité. 500 W est plus du double de la capacité dont j’ai besoin, donc peut-être que j’aurais pu réduire la consommation de mon serveur en veille avec un PSU dans la gamme 300-400 W.
Disque (OS)
Le Kingston A400 fonctionne bien. TrueNAS met une charge si minime sur le disque OS qu’il n’a pas grand chose à faire. Il a 90 Go de libres, donc j’aurais pu utiliser un disque encore plus petit.
Il n’y a pratiquement aucune activité disque dans les rapports de TrueNAS. Il y a une minuscule lecture d’E/S chaque semaine dans le cadre d’une tâche planifiée par défaut pour la vérification des erreurs, mais c’est tout.
TrueNAS
J’utilise TrueNAS Core 13, qui est la version FreeBSD la plus mature. L’autre option est TrueNAS Scale, qui est basée sur Debian, qui a une plus grande compatibilité matérielle et logicielle.
En arrivant sur TrueNAS, je savais que l’interface web de mon Synology serait difficile à battre. C’est l’interface la plus élégante et la plus intuitive que j’ai jamais vue pour un appareil réseau. Ils ont fait un excellent travail de construction d’une interface utilisateur propre qui épargne à l’utilisateur final les détails techniques du système de fichiers sous-jacent. (NDLR : La version DSM 7 de l’OS de Synology est encore plus aboutie.)
TrueNAS a son charme de hacker, mais je trouve que c’est une énorme dégradation en convivialité par rapport à Synology. L’interface semble avoir été conçue par quelqu’un qui dédaigne tout ce qui est en dehors de la ligne de commande.
Sur TrueNAS, il m’a fallu plusieurs essais pour créer un nouveau volume et le partager sur mon réseau. Vous devez sauter entre plusieurs menus déconnectés, et il n’y a pas d’indications sur l’action que vous devez effectuer ensuite. Avec Synology, il y a un flux fluide de l’interface utilisateur qui vous guide à travers tous les paramètres requis.
J’ai trouvé les applications tierces beaucoup plus difficiles à installer sur TrueNAS. J’utilise Plex Media Server pour diffuser ma collection de films et de télévision, et Plex est un plugin préconfiguré sur TrueNAS. Ce devrait être l’une des applications les plus faciles à installer, mais il m’a fallu une heure de bricolage et de recherche dans la documentation. En comparaison, l’installation de Plex sur Synology prend environ deux minutes de clic à travers un assistant.
Je m’en tiens à TrueNAS parce que je me soucie plus du verrouillage de la plateforme que de n’importe quoi d’autre, et j’aime soutenir les logiciels libres. Mais j’aurai pu choisir un autre système d’exploitation gratuit adapté à un NAS. Si je devais recommander un NAS à un ami qui n’est pas aussi idéologique, je suggérerais Synology.
ZFS
ZFS est cool, mais je n’ai pas trouvé de besoin pour la plupart des fonctionnalités qu’il propose au-delà du RAID.
Je vois des gens parler de snapshot, mais je n’en ai pas trouvé l’utilité. J’ai déjà des snapshots dans ma solution de sauvegarde restic. Ils ne sont pas particulièrement pratiques, mais j’utilise restic depuis deux ans, et je ne me rappelle avoir eu besoin de récupérer des données à partir d’un instantané qu’une seule fois.
Une fonctionnalité intéressante est celle des snapshots cryptés. Vous pouvez prendre des instantanés d’un volume de données sans avoir à le déchiffrer. J’ai des données que je veux garder cryptées, mais je n’ai pas besoin d’y accéder très souvent, donc pouvoir les sauvegarder régulièrement sans les décrypter serait pratique.
Dans l’ensemble
Dans l’ensemble, j’apprécie mon nouveau NAS, et j’ai beaucoup appris de cette construction. Si cela avait été ma première expérience avec un NAS, j’aurais été malheureux et confus, mais le fait de commencer avec mon Synology m’a donné une introduction douce à cette technologie. J’ai l’impression que l’on m’a retiré les petites roues, et je suis prêt à bricoler avec les fonctionnalités puissantes de ZFS et TrueNAS.