Aller au contenu
Vie du geek le forum entre geek
dokkun

TUTO FREENAS 9.3 : CRÉATION DU POOL

Messages recommandés

Troisième partie de la série de tutoriels consacrée à la mise en place d’un NAS avec FreeNAS. Nous avons grâce à l’étape précédente, une installation toute neuve et configurée de FreeNAS. Attaquons nous maintenant à la création de l’espace de stockage : le pool ZFS.

 

Depuis cette version, FreeNAS ne propose plus qu’un seul système de fichier à la création : le ZFS. Il est donc indispensable avant d’aborder cette partie que vous maîtrisiez les fondamentaux de ZFS. Si ce n’est pas le cas, j’ai fait un article sur le sujet pour aborder les bases. Idem pour les notions de RAID, il y a un article sur Wikipédia.

Penser son pool

Il est important de bien savoir ce que l’on veut faire avec ses disques car les modifications ultérieures sans détruire le pool sont limitées.

Un autre point très important est de bien garder en tête qu’un RAID quel qu’il soit n’est pas une sauvegarde. Un RAID ne protège pas des erreurs de manipulation, ne protège pas d’une grosse défaillance matériel (alimentation par exemple), ne protège pas du vol de la machine, etc… Si le sujet de la sauvegarde vous intéresse, j’ai posté là encore un mot à ce sujet, il date un peu mais c’est toujours d’actualité. Le RAID quel qu’il soit doit être vu comme un moyen d’assurer la disponibilité des données et la continuité du service en cas de panne mais pas comme un moyen de sauvegarder ses données.

Vous seul pouvez jugez de vos besoin et de vos attentes en terme de sécurité/valeur des données/utilisation/coût. Typiquement les possibilités d’organisation sont :

  • Un ou plusieurs vdev miroirs de 2 disques offrant une bonne sécurité et de très bonnes performances en terme d’opérations par secondes, au prix d’un coût de stockage multiplié par 2.
  • Un vdev RAIDZ de 3 ou 5 disques : perte d’un disque possible, sécurité moyenne, plus grand volume offert. Plus il y a de disques et plus le risque est grand. Typiquement une utilisation “Médias”
  • Un vdev RAIDZ2 de 6 disques : perte de 2 disques possible, meilleur sécurité pour les grands vdev (maxi 10 disques par vdev recommandé), au prix d’un espace utilisable plus amputé et donc un coût plus important. Typiquement une utilisation “Stockage”

Le RAIDZ2 tend à être privilégié par rapport au RAIDZ simple pour les pools récent avec des disques de grande taille (plus de 1-2To) car plus la taille du pool est importante et plus l’opération de reconstruction après remplacement d’un disque va être longue et intense. Le risque de perdre un second disque est alors plus important. D’autre part comme l’a souligné SmallGuy en commentaire : plus le disque est grand, plus la probabilité d’avoir une erreur irrécupérable sur l’un des disques restant est forte, cette erreur sera détectée par ZFS grâce à la checksum mais ne pourra pas être corrigée faute de redondance à ce moment là dans un RAIDZ1. L’erreur peut n’impacter qu’un fichier mais peut aussi conduire à l’impossibilité de reconstruire le pool.

Pour notre tuto qui s’inscrit dans un usage familial, nous allons faire un RAIDZ avec 3 disques de 1To.

ATTENTION : Un RAID ne remplace pas une sauvegarde et vous seul restez responsable de vos choix, encore plus quand il s’agit de la sécurité de données personnelles.

 

Construction du pool

On se rend dans Storage -> Volumes -> Volume Manager pour découvrir la nouvelle version du gestionnaire de volume. Celui ci inclus des protections permettant théoriquement de limiter les erreurs du style ajout d’un vdev stripe à un vdev RaidZ par exemple.

15-Volume-Manager-exemple-pool-miroir.pn

Volume Manager : exemple d’un pool miroir

Toutefois les protections peuvent être gênantes : il ne permet pas notamment de créer un vdev avec des disques de différentes tailles, alors que cela est tout à fait possible sachant que tous les disques ne seront exploité qu’à la taille du plus petit. Si vous êtes gêné par cette limitation, il faudra cliquer sur le bouton Manual Setup et l’ancien gestionnaire de volume. 

Revenons à notre volume et commençons par lui donner un nom, sachant que mirror, stripe, raidz, raidz2 et raidz3 sont des noms réservés. Il vaut mieux trouver quelque chose qui ressorte bien.

Il est possible ici de choisir en cochant la case Encryption, de crypter le pool. Cela s’effectue directement au niveau des disques puis le pool est construit par dessus, c’est utile si vous travaillez à la CIA, sinon… chacun son choix mais 2 choses à prendre en compte : d’une part si vous perdez la clé de cryptage, impossible de retrouver les données, et d’autre part, il est recommandé d’avoir un processeur supportant le jeu d’instructions AES-NI pour ne pas avoir de diminution de performances.

16-Volume-Manager-cr%C3%A9ation-dun-Raid

Volume Manager, création d’un RaidZ

Dans Available disks, en passant la souris sur show on voit la liste des disques détectés par le système. Un clic sur le bouton + les ajoute tous dans le pool. Sinon en faisant glisser le petit curseur rond, on choisit le nombre de disque à mettre dans le pool.

Le gestionnaire nous propose dans le menu déroulant la géométrie optimale : ici avec 3 disques un RaidZ. Ça tombe bien c’est ce qu’on voulait (on peut aussi faire un miroir triple si on manque de confiance ou un stripe si on aime le risque !).

Quand tout est bon, un clic sur Add Volume et le pool est créé. Cela prend quelques temps.

 

Visualiser la structure

Pour contrôler l’organisation de notre pool on se rend dans Storage -> Volumes -> View Volumes. Cette page liste les pools et datasets présents sur le système, attachons nous à bien la comprendre :

17-Voir-les-volumes.png

Visualiser les volumes

En tête de liste on retrouve notre pool : Stockage. Imbriqué en dessous, créé automatiquement en même temps, le dataset “Stockage”. Le dataset est le système de fichier ZFS en lui même, alors que le pool représente l’espace qui lui est offert. On retrouve là toute la logique de ZFS : pour le système de fichier, quel que soit la structure sous-jacente dans le pool, ce n’est qu’un espace unique à diviser à volonté. Lorsque l’on créera d’autre datasets plus tard ils seront dans le dataset Stockage.

Un clic pour sélectionner une ligne fait apparaître en bas les boutons d’actions. Ici j’ai sélectionné le pool, si on clic sur le bouton Volume Status on obtient l’état et le détail du contenu du pool :

18-D%C3%A9tail-de-l%C3%A9tat-du-pool.png

Détail de l’état du pool

On retrouve donc notre pool stockage et les vdev qui le constituent : on est là dans la partie “gestionnaire de volume” de ZFS. Donc on peut voir un vdev de type raidz1 qui porte le numéro 0. Celui ci est composé des 3 disques ada1, ada2 et ada3. Si on agrège d’autres vdev dans le pool, ils apparaîtrons en dessous au même niveau que le vdev existant.

Les colonnes ReadWrite et Checksum indiquent les erreurs éventuelles de lecture, écriture et sommes de contrôle : il vaut mieux que tout reste à 0

 

Comprendre et adapter les options de ZFS

Pour finir à propos de notre espace de stockage, nous allons jeter un œil aux options ZFS : toujours dans Storage ->Volumes -> View Volumes (ou directement sur le bouton Storage du haut), nous sélectionnons le dataset (et pas le pool) et cliquons en bas sur le bouton Edit Options qui est celui avec la clé plate.

19-Options-ZFS.png

Options ZFS

On voit ici les paramètres appliqués par défaut lors de la création du dataset racine. Premier paramètre, le choix de l’algorithme de compression, ici LZ4 : ZFS permet, pour gagner de la place, de compresser au niveau du système de fichier les données stockées. LZ4 est un algorithme rapide qui impactera peu les performances, il est conseillé de le laisser activé.

Enable atime, pour “access time”, contrôle le fait d’actualiser ou non l’heure d’accès stockée dans les métadonnées d’un fichier quand il est lu. Mis sur Off, cela permet d’économiser des écritures lorsque l’on lit simplement un fichier. C’est le réglage que j’utilise mais cela peut parfois troubler certains logiciels de sauvegardes par exemple.

Un mot sur la Deduplication enfin, dans le cadre de notre usage je n’aurais qu’une forte recommandation : NE SURTOUT PAS Y TOUCHER. Par défaut désactivée, la déduplication est un moyen permettant de ne pas dupliquer des données déjà existantes ailleurs dans le stockage et d’enregistrer simplement un pointeur vers un bloc unique. Problème : la table stockant tout cela est en RAM, il faut donc 3 à 5 Go de RAM par To de stockage, s’il n’y en a pas assez le système panique et une fois activée la déduplication ne peut plus être désactivée.

La prochaine étape va être de créer nos utilisateurs, leur donner de l’espace et créer les partages nécessaires pour accéder à nos données.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×