Resource icon

Recommandations matérielles et bonnes pratiques pour FreeNAS/TrueNAS 4

Ce post rassemble des informations importantes pour le choix du matériel pour FreeNAS.
Il est librement inspiré des recommandations officielles ainsi que des discussions issues du forum.
[Disponible en format PDF également]

La documentation originelle (en anglais) est:

Les version actuelles (Octobre 2020) sont:
  • FreeNAS: 11.3
  • TrueNAS: 12RC
Remarque: dans la suite le terme "FreeNAS" désignera aussi bien FreeNAS que TrueNAS.

Les recommandations générales pour FreeNAS 11 sont l’utilisation de matériel serveur (par opposition à grand public), de mémoire ECC (si l’intégrité des données est une priorité) et l’utilisation d’un onduleur.
Une attention particulière doit être apportée lors de l’ajout de nouveau matériel: effectuer un rodage du matériel, particulièrement de la RAM (indépendamment ECC ou non-ECC) et des disques durs avant la mise en production (valable aussi pour du matériel d’occasion).
Un point sur la mémoire ECC: le système de fichiers ZFS ne vérifie pas les données en RAM et part du principe que celle-ci est exempt d’erreurs. En cas d’utilisation de mémoire non-ECC, une erreur en RAM ne sera pas détectée mais sera interprétée par ZFS comme une erreur au niveau du système de fichiers et corrigée (alors que cela n’en est pas une)... ce qui résulte en une corruption du fichier. L’utilisation de mémoire ECC permet de détecter ce type d’erreur avant que la correction ZFS entre en jeu.
D’un point de vue mémoire, un minimum de 8Go est recommandé (plus si des plugins sont utilisés).

Le matériel serveur permet d’avoir une fiabilité accrue par rapport à du matériel grand public puisqu’il est prévu pour être en service 24/24.
La différence de prix entre du matériel grand public et du matériel serveur n’est pas forcément aussi élevée qu’il n’y parait. La différence principale est que dans le matériel grand public on trouve souvent du matériel peu cher mais moins fiable et de qualité moindre ou alors avec une compatibilité limitée (par exemple seulement compatible avec Windows) ou intégrant des périphériques inutiles (carte audio, wifi...).

Au final, ce qui doit orienter la décision est la criticité des données stockées et faire son choix en connaissance de cause.

Par exemple, la probabilité qu’un système avec une carte mère grand public sans mémoire ECC fonctionne sans problème est assez grande, mais la probabilité d’une corruption de données existe et n’est pas forcément négligeable (comparativement à l’utilisation de matériel serveur).
Cela peut-être acceptable pour un serveur de backup par exemple (qui n’est pas forcément en fonctionnement continu) mais pour un serveur principal avec des données critiques, le risque peut-être élevé.

Un autre point: l’utilisation de ZFS et de redondance (de type RAIDz) n’exclut pas la réalisation de sauvegardes.


Matériel

Carte mère

Au niveau du forum, le fabricant Supermicro est largement répandu ainsi, qu’en moindre mesure, ASRock Rack qui propose des produits intéressants.
Les points importants à prendre en compte au niveau de la carte mère sont:
  • Le support de la mémoire ECC
  • Un chipset réseau Intel (en gigabit)
    • Apparemment il y a quelques problèmes de compatibilité avec le chipset Intel I219V...
    • Realtek est à proscrire
    • Broadcomm si vraiment on n’a pas d’autre choix
    • En 10GbE: Chelsio est un premier choix (bien que Intel devrait aussi fonctionner)
  • Une interface réseau de gestion à distance (IPMI)

Les options inutiles (que l’on trouve souvent sur des cartes grand public):
  • La carte audio intégrée
  • Le wifi (non supporté par FreeNAS)
  • Un contrôleur vidéo HDMI/DVI


CPU
Les CPU Intel sont assez répandus dans le forum (mais avec les CPU Ryzen, AMD n'est pas en reste).

Ceux qui supportent la mémoire ECC (pour Intel): Celeron, Pentium, Core i3 et Xeon. Vérifier sur le site d’Intel la compatibilité ECC (bien qu’il arrive parfois que les informations ne soient pas 100% correct!).

Le choix du CPU dépendra de l’utilisation qui sera faite du système (nombre d’utilisateurs, transcodage, plugins...).


RAM
Il est conseillé de choisir de la RAM qui est dans la liste de compatibilité du fabricant de carte mère (QVL pour Qualified Vendor List).
Un minimum de 8Go est nécessaire pour FreeNAS. Pour une utilisation à domicile 16Go est un bon compromis (permet l’exécution de plugins également).
Pour des projets plus ambitieux (en termes de nombre d’utilisateurs) ou professionnels on compte environ 1Go de RAM par To de stockage brut. Ce n’est pas une règle stricte, cela permet juste de donner une idée pour le dimensionnement de la mémoire et cela dépendra aussi de l’utilisation.

Une bonne pratique est de bien tester la RAM avant l’utilisation en production (avec MemTest86).


Disque dur
Le choix des disques n’est pas particulièrement critique.
Des disques ayant des vitesses de rotation basses (5400 ou 5900 RPM) sont beaucoup utilisés parmi les membres du forum car plus faciles à refroidir.
L’utilisation de disques pour ordinateur de bureau (desktop) peut nécessiter une modification de certains paramètres (timer idle) ce qui n’est pas le cas de disques prévus pour une utilisation en NAS.
Certains disques sont aussi à éviter comme les WD blue (car ils ne supportent pas la fonctionnalité TLER) ou les disques SMR (voir la liste des disques SMR (en anglais)) ou encore les « white label » (reconditionnés, il faut vérifier quel modèle se cache derrière pour être sûr).

Bonnes pratiques
  • Rodage des disques durs avant leur mise en production.
  • Il est conseillé de garder leur température en dessous de 40°C pour une plus grande longévité.
  • Il est également déconseillé de les mettre en veille (le stress mécanique induit par une sortie de mise en veille a tendance à réduire leur durée de vie).
  • Il est conseillé d’activer le monitoring SMART (suivre particulièrement les valeurs #194, #197 et #198 ainsi que #193 pour les disques WD) dans FreeNAS et de réaliser des tests SMART régulièrement (un short test toutes les semaines et un long test tous les mois pour chaque disque).


Contrôleur de disques
La plupart du temps le contrôleur intégré à la carte de mère est utilisé. Ce dernier peut toutefois être limité en terme de connecteurs SATA disponibles. C’est pourquoi l’ajout d’un contrôleur de disques est parfois nécessaire.
FreeNAS doit pouvoir accéder directement et indépendamment à chaque disque, c’est pourquoi tout RAID matériel doit être désactivé.
Des contrôleurs SATA supplémentaires peuvent être rajoutés toutefois ces derniers sont souvent à base de contrôleurs Marvell (ou plus exotiques) dont les drivers FreeBSD ne sont pas toujours fiables, donc à éviter.
Il est alors préférable d’utiliser des contrôleurs SAS, plus fiables et offrant de meilleurs performances (pour un prix pas beaucoup plus important).
Toutefois ces contrôleurs SAS doivent parfois être reflashés (en mode « IT ») pour être utilisables. Cette procédure est relativement simple et bien documentée mais ils peuvent aussi être trouvés déjà flashés.
Parmi les membres du forums, les contrôleurs SAS utilisés sont majoritairement de type LSI SAS 2008/2308 (utilisé dans des contrôleurs IBM M1015, LSI SAS 9207 ou LSI SAS 9211).


Périphérique de démarrage
Quel que soit le type de périphérique de démarrage choisi (clé USB simple ou en miroir ou disque SSD), il est important de sauvegarder la configuration de FreeNAS afin de pouvoir la restaurer en cas de défaillance du périphérique de démarrage. Inutile de faire une sauvegarde du périphérique lui même, la manière la plus simple est de faire une réinstallation et restaurer la configuration.
Une taille minimale de 16Go est conseillée pour le périphérique de démarrage.
Pour les dernières versions de FreeNAS, l’utilisation d’une clé USB comme périphérique de démarrage est déconseillée.


Alimentation
Apporter une attention particulière à l’alimentation. En effet, elle devra être correctement dimensionnée pour supporter l’appel de courant des disques au démarrage puis elle devra être suffisamment fiable pour alimenter en permanence le système. Il faut donc éviter de s’orienter vers une alimentation bon marché.

Plus de détails (en anglais): guide pour le dimensionnement de l'alimentation.


FreeNAS

Au niveau de FreeNAS, quelques recommandations également:
  • L’utilisation de RAIDz1 est déconseillée (sur des disques de grande capacité, en gros supérieur à 1 ou 2To).
  • Il n'y a pas de limite du nombre de disques dans un vDev. Toutefois, il ne faut pas perdre de vue que plus il y aura de disques, plus le SCRUB sera long.
    • Un bon compromis se situe entre 6-8 disques et jusqu’à 8-12 disques (selon la taille des disques).
  • Les tests SMART longs et courts doivent être configurer pour chaque disque (conseillé: mensuellement pour les longs et de manière hebdomadaire pour les courts).
  • Un SCRUB doit être planifié régulièrement (une fois par mois, normalement c’est par défaut, mais ça vaut le coup de le confirmer)
  • Sauvegarder la configuration.
  • Ne pas oublier de faire des sauvegardes des données aussi!
  • Il est déconseillé d’utiliser le cryptage des données lors de la création d’un volume (si c’est le cas, sauvegarder la clé et la clé de récupération et tester le remplacement de disques dans un volume qui peut être un peu plus compliqué).
  • L’utilisation des snapshots est recommandée.
  • Une fois un volume créé il n’est pas (encore) possible de le modifier (en ajoutant des disques par exemple).
  • Par contre on peut étendre un volume existant en remplaçant les disques un par un par des disques de capacité plus grande et une fois le remplacement effectué, l’extension du volume est automatique.
    • Par exemple on peut passer de 5 disques de 1To à 5 disques de 4To en remplaçant les disques un par un (avec un resilver entre chaque). La capacité totale du volume sera automatiquement étendue lors que le 5ième disque sera remplacé.
  • Un volume ne devrait pas être rempli à plus de 80 % de sa capacité. Au delà de ce seuil, des comportements erratiques peuvent survenir. A des seuils élevés (99%) il est également possible de ne plus pouvoir accéder au volume.
  • Si vous vous posez la question de savoir si vous auriez besoin d’un SLOG ou d’un L2ARC alors la réponse est certainement non! :smile: (en tout cas pour un usage domestique certainement pas, pour plus de détails)
    • Pour résumer succinctement:
      • ZIL : cache en écriture (pas vraiment mais on va dire que)
      • SLOG : support pour le ZIL
      • L2ARC : cache en lecture
    • En gros le ZIL peut être stocké dans le pool (mais ça pourrait alors être très lent) ou sur un support dédié (le SLOG) qui doit alors être un support non volatile très rapide.

Bon à savoir:
  • Il n’y a pas vraiment de différence en un SCRUB et un resilver
    • Un SCRUB est une opération de maintenance régulière et planifiée.
    • Un resilver est la reconstruction du volume suite à un remplacement de disque (par exemple).
    • Dans les deux cas, il se passe à peu près la même chose : le système va vérifier le système de fichier (vérification des checksums) et corriger (pour un SCRUB) en cas d’erreur ou reconstruire (pour un resilver) les données.
  • Il n’y a pas d’outils de récupération de données pour ZFS pour récupérer des données partielles d’un disque par exemple.
  • La version 10 (FreeNAS « Corral ») a été abadonnée et n’est plus supportée.


Forum
Il est également conseillé de lire les règles qui régissent le forum avant de poster.

Ces dernières sont en anglais mais globalement:
  • Effectuer une recherche avant de poster.
  • Eviter un titre trop générique.
  • Inclure les détails matériel (marque et modèle) et logiciels (version) de chaque composant (carte mère, CPU, mémoire, disques durs, contrôleurs de disques, carte réseau…).
  • Utiliser les tags code et inline code pour faciliter la lecture (typiquement utilise le tag code pour afficher le résultat du commande).
  • Soyez respectueux et poli.
  • Eviter le « bumping » ou attendre au moins 48h avant.
  • Pas de publicité ou de liens vers des sites illégaux.
  • Eviter le multipostage (genre le même post dans le forum français et anglais à la fois ou dans plusieurs catégories).
Author
Pitfrr
Downloads
3,162
Views
20,319
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from Pitfrr

Top