ZFS

Concepts et didacticiel ZFS

Concepts et didacticiel ZFS

 ZFS : Concepts et didacticiel

Dans votre quête d'intégrité des données, l'utilisation d'OpenZFS est inévitable. En fait, il serait assez regrettable que vous utilisiez autre chose que ZFS pour stocker vos précieuses données.  Cependant, beaucoup de gens hésitent à l'essayer. La raison étant qu'un système de fichiers de niveau entreprise avec un large éventail de fonctionnalités intégrées, ZFS doit être difficile à utiliser et à administrer.  Rien ne peut être plus éloigné de la vérité. L'utilisation de ZFS est aussi simple que possible. Avec une poignée de terminologies et encore moins de commandes, vous êtes prêt à utiliser ZFS n'importe où - De l'entreprise à votre NAS domestique/de bureau.

Pour reprendre les mots des créateurs de ZFS :  « Nous voulons rendre l'ajout de stockage à votre système aussi simple que l'ajout de nouvelles clés RAM."

Nous verrons plus tard comment cela se fait. Je vais utiliser FreeBSD 11.1 pour effectuer les tests ci-dessous, les commandes et l'architecture sous-jacente sont similaires pour toutes les distributions Linux prenant en charge OpenZFS.

L'ensemble de la pile ZFS peut être disposé dans les couches suivantes :

Zpool créer

Pour commencer, commençons par une configuration de l'endroit où nous avons six disques de 20 Go ada[1-6]

$ls -al /dev/ada?

le ada0 est l'endroit où le système d'exploitation est installé. Le reste sera utilisé pour cette démonstration.

Les noms de vos disques peuvent différer selon le type d'interface utilisé. Les exemples typiques incluent : da0, ada0, acd0 et CD.  Regarder à l'intérieur/devvous donnera une idée de ce qui est disponible.

UNE zpool est créé par zpool créer commander:

$zpool create OurFirstZpool ada1 ada2 ada3 # Et puis exécutez la commande suivante : $zpool status 

Nous verrons une sortie soignée nous donnant des informations détaillées sur la piscine :

C'est le zpool le plus simple sans redondance ni tolérance aux pannes… Chaque disque est son propre vdev.

Cependant, vous obtiendrez toujours tous les avantages de ZFS, tels que les sommes de contrôle pour chaque bloc de données stocké afin que vous puissiez au moins détecter si les données que vous avez stockées sont corrompues.

Les systèmes de fichiers, un.k.un ensemble de données, peut maintenant être créé au-dessus de ce pool de la manière suivante :

$zfs crée OurFirstZpool/dataset1 

Maintenant, utilisez votre familier df -h commande ou exécutez :

liste $zfs

Pour voir les propriétés de votre système de fichiers nouvellement créé :

Remarquez comment tout l'espace offert par les trois disques (vdevs) est disponible pour le système de fichiers. Ce sera vrai pour tous les systèmes de fichiers que vous créez sur le pool, sauf indication contraire.

Si vous souhaitez ajouter un nouveau disque (vdev), ada4, vous pouvez le faire en exécutant :

$zpool ajouter OurFirstZpool ada4

Maintenant, si vous voyez l'état de votre système de fichiers

La taille disponible a maintenant augmenté sans aucun problème supplémentaire de croissance de la partition ou de sauvegarde et de restauration des données sur le système de fichiers.


Périphériques virtuels - Vdevs

Les Vdevs sont les blocs de construction d'un zpool, la plupart de la redondance et des performances dépendent de la manière dont vos disques sont regroupés dans ces, soi-disant, vdevs . Examinons quelques-uns des types de vdevs les plus importants :

1. RAID 0 ou Stripes

Chaque disque agit comme son propre vdev. Pas de redondance des données et les données sont réparties sur tous les disques. Aussi connu sous le nom de rayures. La défaillance d'un seul disque signifierait que l'ensemble du zpool est rendu inutilisable. Le stockage utilisable est égal à la somme de tous les périphériques de stockage disponibles.

Le premier zpool que nous avons créé dans la section précédente est une matrice de stockage RAID 0 ou agrégée.

2. RAID 1 ou miroir

Les données sont mises en miroir entre mdisques. La capacité réelle du vdev est limitée par la capacité brute du plus petit disque dans ce m-Tableau de disque. Les données sont mises en miroir entre m disques, cela signifie que vous pouvez résister à l'échec de n-1 disques.

Pour créer une baie en miroir, utilisez le mot-clé mirror :

$zpool créer un miroir de réservoir ada1 ada2 ada3

Les données écrites sur Char zpool sera mis en miroir entre ces trois disques et le stockage disponible réel est égal à la taille du plus petit disque, qui dans ce cas est d'environ 20 Go.

À l'avenir, vous souhaiterez peut-être ajouter plus de disques à ce pool, et il y a deux choses possibles que vous pouvez faire. Par exemple, zpool Char dispose de trois disques mettant en miroir les données sous la forme d'un seul vdev mirror-0 :

Vous voudrez peut-être ajouter un disque supplémentaire, disons ada4, pour refléter les mêmes données. Cela peut être fait en exécutant la commande :

$zpool attacher le réservoir ada1 ada4

Cela ajouterait un disque supplémentaire au vdev qui a déjà le disque ada1 dedans, mais n'augmente pas le stockage disponible.

De même, vous pouvez détacher des disques d'un miroir en exécutant :

$zpool détacher le réservoir ada4

D'un autre côté, vous voudrez peut-être ajouter un vdev supplémentaire pour augmenter la capacité de zpool. Cela peut être fait à l'aide de la commande zpool add :

$zpool ajouter un miroir de réservoir ada4 ada5 ada6


La configuration ci-dessus permettrait aux données d'être réparties sur vdevs mirror-0 et mirror-1. Vous pouvez perdre 2 disques par vdev, dans ce cas, et vos données seront toujours intactes. L'espace utilisable total passe à 40 Go.

3. RAID-Z1, RAID-Z2 et RAID-Z3

Si un vdev est de type RAID-Z1, il doit utiliser au moins 3 disques et le vdev peut tolérer la disparition d'un seul de ces disques. Les configurations RAID-Z ne permettent pas d'attacher des disques directement sur un vdev. Mais vous pouvez ajouter plus de vdevs, en utilisant zpool ajouter, de telle sorte que la capacité de la piscine puisse continuer à augmenter.

RAID-Z2 nécessiterait au moins 4 disques par vdev et peut tolérer jusqu'à 2 pannes de disque et si le troisième disque tombe en panne avant que les 2 disques ne soient remplacés, vos précieuses données sont perdues. Il en va de même pour RAID-Z3, qui nécessite au moins 5 disques par vdev, avec jusqu'à 3 disques de tolérance aux pannes avant que la récupération ne devienne désespérée.

Créons un pool RAID-Z1 et agrandissons-le :

$zpool créer un tank raidz1 ada1 ada2 ada3

Le pool utilise trois disques de 20 Go, ce qui en met 40 Go à la disposition de l'utilisateur.

L'ajout d'un autre vdev nécessiterait 3 disques supplémentaires :

$zpool ajouter un tank raidz1 ada4 ada5 ada6


Le total des données utilisables est maintenant de 80 Go et vous pouvez perdre jusqu'à 2 disques (un de chaque vdev) et avoir toujours un espoir de récupération.

Conclusion

Vous en savez maintenant suffisamment sur ZFS pour y importer toutes vos données en toute confiance. À partir de là, vous pouvez rechercher diverses autres fonctionnalités fournies par ZFS, telles que l'utilisation de NVM à grande vitesse pour les caches de lecture et d'écriture, l'utilisation de la compression intégrée pour vos ensembles de données et au lieu de vous laisser submerger par toutes les options disponibles, recherchez simplement ce dont vous avez besoin pour votre cas d'utilisation particulier.

En attendant, il existe quelques autres conseils utiles concernant le choix du matériel que vous devez suivre :

  1. N'utilisez jamais de contrôleur RAID matériel avec ZFS.
  2. La RAM de correction d'erreur (ECC) est recommandée, mais pas obligatoire
  3. La fonction de déduplication des données consomme beaucoup de mémoire, utilisez plutôt la compression.
  4. La redondance des données n'est pas une alternative pour la sauvegarde. Avoir plusieurs sauvegardes, stocker ces sauvegardes en utilisant ZFS!
Comment capturer et diffuser votre session de jeu sur Linux
Dans le passé, jouer à des jeux n'était considéré qu'un passe-temps, mais avec le temps, l'industrie du jeu a connu une croissance énorme en termes de...
Meilleurs jeux à jouer avec le suivi des mains
Oculus Quest a récemment introduit l'idée géniale du suivi manuel sans contrôleurs. Avec un nombre toujours croissant de jeux et d'activités qui exécu...
Comment afficher la superposition OSD dans les applications et jeux Linux en plein écran
Jouer à des jeux en plein écran ou utiliser des applications en mode plein écran sans distraction peut vous couper des informations système pertinente...