Dans ce billet, j'établis mon choix pour le montage d'un NAS.
Mon état des lieux est le suivant. J'ai plus de 8To de données personnelles et professionnelles qui sont actuellement sur des disques durs usb. Il devient compliqué de brancher et débrancher, de manipuler sans laisser tomber, de savoir quoi est sur qui.
La sauvegarde est un enfer : sauvegarde de machines sur des disques, de machines sur des machines, de disques sur des disques, etc. J'ai toutes les chances de rater un étape. L'idée est donc de rationnaliser tout ça :
- Une machine qui héberge données et sauvegarde des desktops/serveurs.
- Une autre machine qui sauvegarde les données critiques du NAS.
Avantages/inconvénients d'un NAS
Avantages
- Espace de stockage continu plutôt que N disques distincts
- Espace disponible sur le réseau (communication avec plusieurs machines, montage NFS...)
- Facilite grandement la sauvegarde régulière
- Résilient à des pannes disques (ça dépend du RAID choisi, mais je m'intéresse à un système résilient)
Inconvénients
- Si un nombre critique de disques flanche ou un autre problème apparait (erreur de manipulation, matériel défaillant causant une perte majeure des disques), on perd tout.
- Machine supplémentaire donc coût supplémentaire comparé à un boitier de disque externe.
- Les disques de parité sont de la mémoire morte, c'est-à-dire de l'espace non visible par l'utilisateur.
- Un système RAID n'est pas une sauvegarde, il faudra donc sauvegarder.
Choix technologiques
- De la redondance de données pour être résilient aux pannes disques.
- Système de fichiers ZFS qui est éprouvé pour ce genre d'usage (en attendant que btrfs soit mature).
Par conséquent, on s'oriente vers un RAIDz1, 2 ou 3, c'est-à-dire 1, 2 ou 3 disques de redondance. A l'heure actuelle, il semble que RAIDZ1 soit déconseillé. L'argument est le suivant. Les disques sont de plus en plus gros. Par conséquent, si un disque est en panne, il est nécessaire de le remplacer pour reconstruire le pool. La charge appliquées sur les disques est d'autant plus grande que chaque disque est volumineux. Il y a donc un risque (non négligeable ?) qu'un second disque casse à ce moment là. RAIDZ3 demande beaucoup d'investissement. J'opte donc pour RAIDZ2. Le nombre minimal de disques est de 4 et il est conseillé d'avoir un nombre pair.
Les NAS commerciaux
On va voir que notre machine sans disque présentée ci-dessous peut recevoir jusqu'à 12 disques. Bien plus qu'il nous en faut. Les NAS commerciaux de 2 ou 4 disques sont courants. Si on se base sur des marques bien connues comme synology, il faut compter
- 2 baies 300-350€
- 4 baies 450€
- 5 baies 600-700€
- 6 baies 700-800€
- 12 baies à 1300€.
C'est un prix typique plutôt minimaliste, on peut sans problème trouver bien plus cher. Je n'ai pas vu de synology à 6 baies.
D'un point de vue rentabilité, un 4 baies est juste pour un RAID6 (=RAIDZ2 pour ZFS), car seule la moitié de l'espace acheté sera disponible. Le 5 baies étant le plus proche, je vais comparer avec le DS1515 :
- quad core 1.4 GHz
- 2 Go RAM
- disques EXT4 hot swappable
- Extension possible à 15 disques, mais avec un module coutant 450€ / 5 disques supplémentaires
- Ajout d'un disque SSD possible (Les tests de performance présentés sur le site utilisent un SSD)
L'avantage d'un tel NAS est le coté clef en main du produit (d'après ce que je lis). Par contre, les inconvénients que je vois :
- peu d'évolutivité en nombre de disques ou chère
- logiciel propriétaire
- pour un RAID6, je n'ai que 5-2 = 3 fois la taille d'un disque disponible. La sacrifice est important.
- le 8 baies est bien plus cher
Pour un prix légèrement inférieur, ma proposition ci-dessous me donne
- quad core 2.4 GHz
- 16Go RAM ECC
- disques en ZFS (ou autre chose)
- Avec le boitier, on peut y mettre jusqu'à 8 disques facilement, 10 sans trop de difficulté.
Pour l'évolutivité :
- Possibilité d'ajouter deux disques SSD pour améliorer les performances si le besoin sans fait sentir (pour NFS ?).
- Possibilité de monter jusqu'à 64 Go de RAM (je reviendrai là dessus).
- Possibilité d'ajouter de la ventilation.
- Possibilité d'en faire autre chose qu'un NAS si les besoins devaient évoluer brutalement.
Le choix
Pour le matériel, et notamment la partie critique (carte mère, mémoire, etc), je conseille LDLC car ils ont un excellent support téléphonique (déjà testé), une bonne politique de retour, un site bien fait et une livraison gratuite dans des points relais. Les choix ne sont pas neufs en soi. Je me suis largement inspiré des conseils donnés sur le forum de freenas et quelques blogs.
Le système d'exploitation
BSD gère nativement ZFS, mais ça reste possible avec debian. Néanmoins, j'ai une confiance plus grande sur un support natif, je m'oriente donc vers FreeNAS pour la distribution. La documentation de FreeNAS est exhaustive, le forum est très actif et possède beaucoup de contenu.
UPS
Le nombre de disques durs peut être important. Je veux que ça tienne un minimum et avoir le temps d'éteindre proprement. De plus, les capacités des batteries peuvent diminuer au cours du temps, il faut prendre ce paramètre en compte.
- APC BX1400U-FR 1400VA. Env 130€
Carte mère
Les critères que j'ai retenu :
- le nombre de port SATA
- la capacité en mémoire vive (FreeNAS en consomme beaucoup et de manière générale, c'est plutôt bien de ne pas en manquer)
- le réveil par réseau (Wake On LAN)
- la consommation énergétique (inférieure à 50W)
ASRock fabrique de très belles cartes mères pour les serveurs. Mon choix s'est porté sur une version 4 coeurs. En 8 coeurs, la différence de prix est selon moi trop importante pour une utilité relative sur un NAS. Le petit plus que j'apprécie : le CPU est livré avec la carte mère, pas besoin d'aller jouer avec la pâte thermique.
Version Quad core
Caractéristiques :
- mini itx
- Intel Avoton C2550 Quad Core 2.4GHZ featuring 14W TDP
- 16 Go par slot, 64 max, 4 slots
- 12 SATA (4 SATA2, 8 SATA3)
- Support de l'IPMI
- 3 ports USB (dont un pour l'UPS, et un pour l'OS)
Version Octa core
Les autres caractéristiques sont identiques à ci-dessus.
RAM ECC
Il est important d'utiliser des mémoires ECC. C'est recommander par freenas pour éviter les corruptions de données.
- liste des compatibilités
- Choix : DDR3 1600 ECC 8GB Crucial CT102472BD160B. Compter 80€ les 8 Go
8Go est le minimum pour FreeNAS, 16Go devrait être à peu près confortable avec la possibilité de passer à 32Go. Les mémoires de 16Go sont un peu trop couteuses ici. Notre système se limitera donc à 32Go pour des raisons de coûts.
Chassis
Critères :
- de l'espace, pour faire circuler l'air et pour faciliter l'installation.
- un grand nombre d'emplacements pour disques 3.5"
- de la ventillation et des filtres pour la poussière
- des cables bien rangés
- compatible carte mini itx
Mon choix :
- Fractal R5 110€
Caractéristiques :
- alim ATX/EPS
- 2 SSD (à placer sur le coté)
- 8 disques 3.5" ou 2.5"
- 2 espaces pour lecteurs optiques dans lesquels il serait possible de mettre deux racks pour disques durs 3.5" ou 2.5"
- 2 ventilateurs 140mm fournis
- un grand nombre de réceptacles pour des ventilateurs supplémentaires
Alim
Il faut donc choisir une alimentation ATX/EPS. Toujours prendre de la qualité pour éviter de sentir un jour le plastique brûlé.
USB
- SanDisk Cruzer Fit 16 Go 6€
Avantages :
- petit prix
- deux fois l'espace nécessaire à freenas
- 5 mm de longueur. Elle s'oublira à l'arrière de la machine.
Disques
Je privilégie :
- des disques de récupération (en bon état tout de même)
- des disques à faible vitesse (5400 tours/min) car ils chauffent moins
- des disques WD red, j'en ai une très bonne expérience
A noter que la taille totale disponible dépend de la taille du plus petit disque. Il faut aussi réfléchir aux besoins futurs avec les remarques suivantes :
- On ne pourra pas ajouter de disques. Il n'est pas raisonnable de mettre deux vdev, et il est impossible d'étendre un vdev.
- Quel coût existera-t-il si on veut augmenter la taille de chaque disque ? Quel gain ? Faut-il le faire maintenant ou plus tard (évolution des prix, existant).
Ces choix sont à faire au cas par cas. A noter aussi qu'il est déconseillé d'acheter tous les disques de même modèle, en même temps, chez le même fournisseur. La probabilité qu'ils tombent en panne simultanément est plus grande.
Connectique
- La carte mère est venue avec 6 cables SATA. A compléter si on veut passer à 8.
- L'alimentation possède un nombre limité de connecteur d'alim SATA (5). Il faut donc soit mettre des dédoubleurs sur des fiches molex (que l'on utilise pas), soit des extensions de fiche SATA.
SSD
Il n'est pas encore clair qu'un disque SSD apporte des améliorations pour mon utilisation (cf reddit ou Introduction to vdev, zpool, ZIL, L2ARC). Le point sensible est ici la partie NFS qui peut avoir besoin d'un cache pour être plus rapide. De même que pour les NAS assemblés, c'est optionnel et souvent laissé au regard de l'utilisateur. La documentation de freenas indique qu'il faut privilégier la RAM en premier.
Liens intéressants
- Excellent tuto en français sur freenas
- ... et son pendant avancé
- Doc freenas
- Forum freenas : choix matériel
- NAS edition 2015 et NAS edition 2016
- Pourquoi ZFS + doc freenas
- Blog d'une personne ayant monté un NAS de 71 To (justification ZFS, choix RAID...)
- Introduction to vdev, zpool, ZIL, L2ARC