Base de connaissances · Serveurs dédiés et VPS
Gestion du RAID logiciel sous Linux (partie I)
Dernière mise à jour : 2019-02-03
Gestion du RAID logiciel sous Linux (partie I)
|
Le RAID (Redundant Array of Independent Disks, ou matrice redondante de disques indépendants) est une technologie de stockage et de virtualisation qui a commencé à se répandre à la fin des années 1980. Il regroupe plusieurs disques physiques en une seule unité virtuelle logique afin d'améliorer les performances et d'assurer la redondance. Les données sont réparties sur les disques selon le niveau de RAID. Bien qu'ils ne remplacent pas les sauvegardes, les niveaux de RAID peuvent contribuer à maintenir votre système en fonctionnement face à des incidents matériels courants, comme la perte de données due à une panne de disque ou à des erreurs de lecture (de secteur) irrécupérables.
Le RAID peut être mis en œuvre et géré à l’aide de périphériques “bloc”, qui peuvent être un RAID logiciel (par exemple mdadm, le RAID logiciel de Linux), un RAID matériel (c’est-à-dire une carte matérielle dédiée) ou un FakeRAID (aussi appelé RAID BIOS ou RAID intégré à la carte mère). Cet article se concentre sur la mise en pratique du RAID logiciel sous Linux et de son outil de gestion, mdadm. Le RAID logiciel sous Linux est un périphérique bloc qui peut fonctionner avec la plupart des autres périphériques—SATA, USB, IDE, SCSI, ou une combinaison de ceux-ci. Notez que la couche RAID n'intervient pas du tout dans la couche du système de fichiers . Vous pouvez placer un système de fichiers sur un périphérique RAID, comme sur n'importe quel autre périphérique bloc.
Fonctionnement des périphériques RAID logiciels Les périphériques RAID logiciels doivent être considérés comme des disques ou des partitions de disque ordinaires. Ils peuvent être « construits » à partir de plusieurs autres périphériques bloc. Dans une implémentation RAID, il existe des disques de secours ou « hot spares » qui ne participent pas à l'ensemble RAID tant qu'un des disques actifs n'est pas défaillant. Dès qu'une défaillance est détectée, le périphérique concerné est marqué comme ‘défectueux’ et l'ensemble lance immédiatement la reconstruction sur le premier disque de secours disponible. Votre système peut alors continuer à fonctionner quelque temps, même avec un disque défectueux, puisque le disque de secours prend sa place. Si aucun disque de secours n'est disponible, la matrice fonctionne en mode « dégradé ». Notez que les disques défectueux continuent d'apparaître et de se comporter comme des membres de la matrice. La couche RAID évite simplement de lire ou d'écrire sur ces disques. De plus, si un périphérique doit être retiré de la matrice, n'oubliez pas de le marquer d'abord comme ‘défectueux’ avant de le retirer.
Création d'un périphérique RAID à partir de disques SATA Vous pouvez utiliser des disques entiers comme éléments d'une matrice RAID, mais il est préférable de l'éviter si vous souhaitez que les disques soient amorçables. Vous devez alors créer une partition sur les disques (à l'aide de fdisk ou Parted) avec le type de partition défini sur ‘fd,’ la détection automatique RAID logiciel de Linux. Après avoir créé une partition sur chacun des disques concernés (sda1, sdb1), vous pouvez maintenant créer la grappe : mdadm --create /dev/md0 -n 2 --level=1 /dev/sda1 /dev/sdb1 Où :
REMARQUE IMPORTANTE : si vous souhaitez démarrer à partir d'un périphérique RAID, placez le code duchargeur d'amorçage au début du disque physique qui sera utilisé comme composant sous-jacent du périphérique RAID. Cela signifie que si vous utilisez/dev/sda1 comme membre de la grappe /dev/md0 et que votre disque HDD/SSD principal est défini comme option de démarrage du BIOS, vous devez choisir /dev/sda pour le code du chargeur d'amorçage . Pour ce faire, vous pouvez notamment exécuter grub-install /dev/sda. Une fois le périphérique RAID créé, vous pouvez l'utiliser comme un disque local ordinaire. Vous pouvez, par exemple, l'utiliser comme volume physique pour le gestionnaire de volumes logiques (LVM) du noyau Linux ou y créer un système de fichiers.
Bien que les métadonnées RAID soient stockées sur chaque disque composant, vous devez tout de même sauvegarder votre configuration RAID pour un usage ultérieur. Cela vous aidera à surveiller et à corriger le nommage des périphériques md ; sinon, vous obtiendrez des noms de périphériques tels que md126 et md127. Vous pouvez enregistrer votre fichier de configuration en exécutant la commande suivante :
Pour Ubuntu :
Surveillance d'un périphérique RAID Vous pouvez surveiller de manière proactive l'état d'un périphérique RAID à l'aide de l'option --monitor de l'outil mdadm. Si mdadm détecte un problème d'état de la grappe, il peut effectuer de nombreuses actions que vous indiquez sur la ligne de commande. Il peut notamment envoyer un e-mail, exécuter un programme donné ou envoyer un message au journal système. Consultez le manuel avec man mdadm (section Monitor) pour obtenir la liste des options. La plupart des distributions Linux fournissent des scripts d'enrobage pour l'option –monitor de mdadm. CentOS / RHEL, par exemple, fournit un service mdmonitor que vous pouvez configurer pour qu'il démarre automatiquement avec le système en exécutant chkconfig mdmonitor on. Une autre manière de vérifier l'état d'un périphérique consiste à consulter le fichier texte /proc/mdstat afin de voir quelles grappes sont reconnues par votre noyau et quel est l'état de chacune.
Remplacement d'un disque membre d'un périphérique RAID Pour remplacer un disque (par ex. (/dev/sdb1) dans une grappe RAID active, il doit d'abord être marqué comme ‘défaillant’ par le noyau, c'est-à-dire signalé par (F) dans le fichier /proc/mdstat. S'il n'est pas encore marqué comme défaillant, vous devez effectuer ce marquage vous-même avant le retrait. Pour ce faire, exécutez mdadm /dev/md0 -f /dev/sdb1.
Une fois le disque retiré, vous pouvez ajouter un autre disque en remplacement avec mdadm /dev/md0 -a /dev/sdc1. Notez que vous pouvez effectuer plusieurs opérations avec cette seule commande, par ex. mdadm /dev/md0 -f /dev/sdb1 -r /dev/sdb1 -a /dev/sdc1.
Vérifiez ensuite le contenu du /proc/mdstat fichier afin de vous assurer que tout s'est déroulé comme prévu. L'opération s'est correctement déroulée si mdadm n'a produit aucun message d'erreur pendant le remplacement.
Destruction d'un périphérique RAID Il peut arriver que vous deviez détruire complètement un périphérique RAID afin de rendre les périphériques sous-jacents utilisables par le système. Cela peut se produire, par exemple, si vous disposez d'un disque dur de rechange contenant des métadonnées RAID préconfigurées et que votre noyau reconnaît la grappe. Dans ce cas, la grappe ne comporte qu'un seul membre et il n'est pas possible de simplement retirer ce disque unique. Pour détruire le périphérique RAID, vous devez d'abord arrêter la grappe avec la commande mdadm -S /dev/md0. L'étape suivante consiste à supprimer les métadonnées de la partition sda1 en exécutant la commande mdadm --zero-superblock /dev/sda1. N'oubliez pas de remettre à zéro les métadonnées de/dev/sda1 (et non de /dev/sda) à zéro (0) si celle-ci fait partie d'une grappe.
Références : |
Tell us what you need
Compare available plans or describe your workload so we can discuss a suitable starting point.