- Introduction
- RAID
- Caractéristiques cardinales du RAID logiciel. Source (access.redhat.com)
- LVM
- Avantages de LVM par rapport aux partitions physiques. Source (access.redhat.com)
- Capacité flexible
- Pools de stockage redimensionnables
- Relocalisation des données en ligne
- Nom pratique des périphériques
- Disk striping
- Miroir des volumes
- Clichés de volumes
- ZFS
- Caractéristiques de ZFS
- RAID-Z
- Redondance
- Spare
- L2ARC
- Mirroring
- Pools de stockage hybrides SSD
- Copie sur l’écriture
- Checksum
- Conclusions
Introduction
Quand il s’agit de stockage, il y a de fortes chances que votre esprit tourbillonne un peu en raison des nombreuses options et des tonnes de terminologies qui encombrent cette arène. Pourquoi ne pouvons-nous pas simplement brancher un disque sur l’hôte et appeler ça un jour ? C’était l’une de mes frustrations jusqu’à ce que je comprenne l’essence de toutes les technologies en place. Les problèmes que le stockage vous présente en tant qu’administrateur système ou ingénieur vous feront apprécier les différentes technologies qui ont été développées pour aider à les atténuer et à les résoudre.
Dans ce bref article, nous allons examiner les technologies RAID, Logical Volume Manager (LVM) et ZFS. Nous allons enquêter sur ce qu’ils font de mieux dans les implémentations ainsi que vérifier leurs différences. Bienvenue et restez à l’écoute.
Similaire : Ext4 vs XFS – Lequel choisir
RAID
RAID signifie Redundant Array of Independent Disks. Il a été fondamentalement développé pour permettre de combiner de nombreux disques peu coûteux et de petite taille dans une matrice afin de réaliser des objectifs de redondance. La redondance ne peut pas être obtenue par un seul énorme disque dur branché sur votre projet. Même si la matrice est composée de plusieurs disques, l’ordinateur la « voit » comme un seul lecteur ou une seule unité de stockage logique, ce qui est assez étonnant.
Utilisant des techniques telles que le striping de disque (RAID niveau 0), le mirroring de disque (RAID niveau 1) et le striping de disque avec parité (RAID niveau 5), le RAID est capable d’obtenir une redondance, une latence plus faible, une bande passante accrue et une capacité maximisée de récupération en cas de crash de disque dur.
Les principales raisons pour lesquelles vous devriez envisager de déployer le RAID dans vos projets qui gèrent de grandes quantités de données sont les suivantes :
- Atteinteindre de meilleures vitesses
- Augmenter la capacité de stockage en utilisant un seul disque virtuel
- Minimiser la perte de données en cas de défaillance du disque. En fonction de votre type de RAID, vous serez en mesure d’obtenir une redondance qui vous sauvera plus tard en cas d’incidences de pertes de données.
Cette technologie RAID existe en trois saveurs : RAID micrologiciel, RAID matériel et RAID logiciel. Le RAID matériel gère ses matrices indépendamment de l’hôte et il présente toujours à l’hôte un seul disque par matrice RAID. Il utilise une carte contrôleur RAID matériel qui gère les tâches RAID de manière transparente pour le système d’exploitation. Le RAID logiciel, quant à lui, implémente les différents niveaux de RAID dans le code de disque (périphérique de bloc) du noyau et offre la solution la moins chère possible, car les cartes de contrôleur de disque coûteuses ou les châssis remplaçables à chaud ne sont pas nécessaires. Il existe des processeurs plus rapides à l’époque actuelle, c’est pourquoi le RAID logiciel surpasse généralement le RAID matériel.
Caractéristiques cardinales du RAID logiciel. Source (access.redhat.com)
- Portabilité des matrices entre les machines Linux sans reconstruction
- Reconstruction de la matrice en arrière-plan en utilisant les ressources système inutilisées
- Prise en charge des disques échangeables à chaud.swappable drive support
- Détection automatique du CPU pour tirer parti de certaines fonctionnalités du CPU telles que le support SIMD en streaming
- Correction automatique des secteurs défectueux sur les disques d’une matrice
- Vérifications régulières de la cohérence des données RAID pour garantir la santé de la matrice
- Surveillance proactive des matrices avec des alertes par e-mail envoyées à une adresse e-mail désignée lors d’événements importants
- Ecriture-bitmaps d’intention qui augmentent drastiquement la vitesse des événements de resynchronisation en permettant au noyau de savoir précisément quelles portions d’un disque doivent être resynchronisées au lieu de devoir resynchroniser la matrice entière
LVM
Voici le joli gestionnaire de volumes logiques. Ce que LVM fait magnifiquement est l’abstraction de l’idée de disques individuels et vous permet en tant qu’administrateur de découper des « morceaux » d’espace à utiliser comme lecteurs. Il vous permet de brancher autant de disques physiques que vous le souhaitez sur votre système individuel, puis d’augmenter et de diminuer de manière flexible vos volumes logiques sur votre hôte en direct. Vous pouvez ajouter d’autres disques physiques à l’avenir et ajouter de l’espace sans reformater ou vous soucier d’arrêter des applications ou de démonter des systèmes de fichiers ou d’arrêter votre hôte. Ce type de flexibilité rend le travail avec LVM un processus si doux.
Avantages de LVM par rapport aux partitions physiques. Source (access.redhat.com)
Capacité flexible
Lorsque vous utilisez des volumes logiques, les systèmes de fichiers peuvent s’étendre sur plusieurs disques, puisque vous pouvez agréger les disques et les partitions en un seul volume logique.
Pools de stockage redimensionnables
Vous pouvez étendre les volumes logiques ou réduire la taille des volumes logiques avec de simples commandes logicielles, sans reformater et repartitionner les périphériques de disque sous-jacents.
Relocalisation des données en ligne
Pour déployer des sous-systèmes de stockage plus récents, plus rapides ou plus résilients, vous pouvez déplacer les données pendant que votre système est actif. Les données peuvent être réorganisées sur les disques pendant que ces derniers sont en cours d’utilisation. Par exemple, vous pouvez vider un disque remplaçable à chaud avant de le retirer.
Nom pratique des périphériques
Les volumes de stockage logique peuvent être gérés dans des groupes définis par l’utilisateur et portant un nom personnalisé.
Disk striping
Vous pouvez créer un volume logique qui répartit les données sur deux disques ou plus. Cela peut augmenter considérablement le débit. La spécification de la configuration de stripe se fait lors de la création du volume logique avec lvcreate
Miroir des volumes
Les volumes logiques fournissent un moyen pratique de configurer un miroir pour vos données. Même si LVM ne le supportait pas nativement dans le passé, les versions récentes le fournissent.
Clichés de volumes
En utilisant des volumes logiques, vous pouvez prendre des clichés de périphériques pour des sauvegardes cohérentes ou tester l’effet de changements sans affecter les données réelles.
La seule différence entre RAID et LVM est que LVM ne fournit aucune option de redondance ou de parité que RAID fournit.
ZFS
ZFS a été développé à l’origine par Sun Microsystems pour Solaris (propriété d’Oracle), mais a été porté sur Linux.
ZFS est fondamentalement différent dans cette arène car il est plus qu’un simple système de fichiers. ZFS combine les rôles d’un système de fichiers et d’un gestionnaire de volume, permettant d’ajouter des périphériques de stockage supplémentaires à un système vivant et d’avoir le nouvel espace disponible sur tous les systèmes de fichiers existants dans ce pool immédiatement. Il fait ce que LVM et RAID font en un seul paquet. Par conséquent, ZFS est capable de surmonter les limitations précédentes qui empêchaient les groupes RAID de s’agrandir. La combinaison des rôles traditionnellement séparés de gestionnaire de volume et de système de fichiers fournit à ZFS un ensemble unique d’avantages.
Traditionnellement, les systèmes de fichiers pouvaient être créés sur un seul disque à la fois. Cela signifie que s’il y avait deux disques, alors deux systèmes de fichiers devaient être créés. RAID a évité ce problème en présentant au système d’exploitation un seul disque logique constitué de l’espace fourni par la combinaison de nombreux disques physiques. Le système d’exploitation plaçait ensuite un système de fichiers par-dessus. Mais avec ZFS, le système de fichiers est conscient de la structure sous-jacente du disque. Cette connaissance rend possible la croissance automatique du système de fichiers existant lorsque des disques supplémentaires sont ajoutés au pool. De plus, dans ZFS, un certain nombre de propriétés différentes peuvent être appliquées à chaque système de fichiers, d’où la possibilité de créer un certain nombre de systèmes de fichiers et de jeux de données différents plutôt qu’un seul système de fichiers monolithique.
Caractéristiques de ZFS
RAID-Z
ZFS implémente le RAID-Z, une variation du RAID-5 standard qui offre une meilleure distribution de la parité et élimine le « RAID-5 write hole » dans lequel les données et les informations de parité deviennent incohérentes en cas de perte de puissance.
Redondance
La redondance est possible dans ZFS car il supporte trois niveaux de RAID-Z. Les types sont nommés RAID-Z1 à RAID-Z3 en fonction du nombre de périphériques de parité dans la matrice et du nombre de disques qui peuvent tomber en panne alors que le pool reste opérationnel.
Spare
ZFS possède un type de pseudo-vdev spécial pour garder la trace des hot spares disponibles. Notez que les hot spares installés ne sont pas déployés automatiquement ; ils doivent être configurés manuellement pour remplacer le périphérique défaillant à l’aide de zfs replace.
L2ARC
C’est le deuxième niveau du système de cache de ZFS. Le cache de remplacement adaptatif (ARC) primaire est stocké dans la mémoire vive. Comme la quantité de RAM disponible est souvent limitée, ZFS peut également utiliser des vdev de cache (un seul disque ou un groupe de disques). Les disques durs solides (SSD) sont souvent utilisés comme ces périphériques de cache en raison de leur vitesse plus élevée et de leur latence plus faible
Mirroring
Un miroir est constitué de deux périphériques ou plus et toutes les données seront écrites sur tous les périphériques membres. Un vdev miroir ne contiendra qu’autant de données que son plus petit membre. Un vdev miroir peut résister à la défaillance de tous ses membres sauf un sans perdre aucune donnée.
Pools de stockage hybrides SSD
Des SSD à haute performance peuvent être ajoutés dans le pool de stockage ZFS pour créer un type de pool hybride. Ces SSD à hautes performances peuvent être configurés comme un cache pour contenir les données fréquemment accédées afin d’augmenter les performances.
Copie sur l’écriture
La technique de copie sur l’écriture est utilisée par ZFS pour vérifier la cohérence des données sur les disques.
Checksum
Chaque bloc alloué est soumis à une somme de contrôle en utilisant un algorithme de somme de contrôle de propriété par jeu de données fletcher2, fletcher4, sha25). La somme de contrôle de chaque bloc est validée de manière transparente lors de sa lecture, ce qui permet à ZFS de détecter une corruption silencieuse. Dans le cas où les données lues ne correspondent pas aux sommes de contrôle attendues. ZFS va de l’avant et tente de récupérer les données à partir d’une redondance configurée telle qu’un miroir ou un RAID-Z.
Plus d’informations sur ZFS : https://www.freebsd.org/doc/handbook/zfs-term.html
Conclusions
Il y a encore beaucoup de choses à découvrir sur ZFS, RAID et LVM. J’espère que vous avez eu une bonne base en ce qui concerne ces trois technologies et que vous pouvez choisir celle qui correspond à votre projet. Merci de votre lecture.
Aussi lu :
Comment redimensionner une partition racine ext2/3/4 et XFS sans LVM
Comment configurer LVM
Comment étendre le système de fichiers racine en utilisant LVM sur Linux
Comment étendre/augmenter… Taille du disque de la machine virtuelle (VM) KVM
Les meilleurs livres Linux pour les débutants &Experts