TrueNAS Scale : créer un pool de disques (RAID-Z2)

TrueNAS Scale 23 déc. 2021

Avec la RC2 sortie le 22 décembre (2021), comme je comptais réinstaller mon serveur DIY, j'en ai profité pour le passer sous Scale. Ce dernier faisait jusque là tourner Proxmox et Docker en parallèle, avec un RAID5 basique.

Mon serveur étant un assemblage de pièces d'anciennes machines (ou de neuves à pas trop cher) et que j'ai pas besoin d'un gros stockage, j'ai notamment 7 disques SATA 2To dont je vais me servir pour créer un pool (un RAID donc).

Pour ceux qui préfèrent on peut passer l'interface en français dans les paramètres de Scale (System settings/General/Localization). Il est de toute manière bon d'y faire un tour pour mettre au moins le fuseau horaire adéquat.

La manip' est très simple via la WUI de Scale : menu Storage => Create pool

On voit la liste des disques durs de la machine, on donne un nom à notre futur RAID (Data dans mon cas) et on coche ceux qu'on souhaite agréger en RAID. Bien entendu, la logique est de prendre des disques de même taille (principe du RAID, sauf pour les versions hybrides qu'on retrouve chez UNRAiD et Synology par exemples).

On peut aussi cliquer sur Suggest Layout et Scale propose d'office d'utiliser tous les disques de la plus grosse capacité identique. Bien fichu...

J'ai donc 7 disques de 2To soit un total de 14To. Selon le type de RAID qu'on va choisir, la capacité totale sera ou non de 14To. Ou presque. La capacité utilisable réelle est de 1.82To pour chaque disque soit un total maximum de 12.72To.

Le choix se fait entre plusieurs types de RAID. Pour chaque, l'interface indique la capacité utile finale et informe sur la spécificité (en cliquant sur le ?)
- Stripe : RAID0 = disques mis bout-à-bout soit le max => 12.72To. Ne supporte aucune perte de disque dur. Si l'un est HS, tout le RAID est HS et perdu
- Mirror : RAID1 = tous les disques en miroir  => 1.82To de disponible, supporte une perte de N-1 disques soit "tous les disques sauf 1" soit 6 disques sur mes 7 disponibles. Mais du coup, dans mon cas c'est stupide de perdre autant de place de stockage
- RAID-Z : un équivalent de RAID5, qui supporte (en gros) 1 perte de disque mais avec une couche de ZFS dont je vous laisse lire l'intérêt. Là aussi, supporte la perte d'1 seul disque => 10.9To
- RAID-Z2 : du RAIDz mais qui supporte la perte de 2 disques => 9.09To
- RAID-Z3: supporte 3 disques SH, sans perdre les données du RAID => 7.27To

ZFS permet également de créer des snapshots (sauvegardes instantanées "à chaud") des volumes. Pratique pour du backup rapide et simple.

Fort de ces explications, mon choix se porte sur du RAIDz2 qui représente pour mon cas le meilleur compromis entre perte de place et "mal chance" matérielle.
En effet si je perds 2 x 1.82To de stockage, ça me permet de conserver mes données du RAID si hélas 2 disques durs étaient HS en même temps (mais avec ma guigne...).

Et voilà !

J'ai mon RAIDz2 "Data" de 8.85To de libres prêt à servir :)
Il est automatiquement monté dans /mnt/Data

root@truenas:~# df -H
Filesystem                                                 Size  Used Avail Use% Mounted on
Data                                                       9.2T  263k  9.2T   1% /mnt/Data

On peut en modifier quelques options. Certaines basiques comme des quotas ou des droits par utilisateurs, d'autres plus poussées :
- Le type de synchronisation
- Le niveau de compression
- Deduplication ou non (si oui, il vous faut beaucoup de RAM selon la taille de votre pool)
- Etc. Pour plus d'information je vous renvoie aux ? de l'interface pour chaque option.

Dans l'immédiat je laisse tout par défaut.

Je retrouve bien mon pool sur le Dashboard, je pourrai maintenant m'atteler à la virtualisation et l'installation d'applications (Docker). Mais comme il me reste 3 disques de 1To, je vais me refaire un RAID-Z pour y stocker les applications (et leurs logs).

Mots clés