ALL SYSTEMS OPERATIONALUPTIME 99.97%FLEET 18/18IN-MUM · US-LAX · EU-FSN EST. 2003 · +91 11 4998 4038

SAVOIRS · SERVEURS DÉDICÉS ET VPS

Gestion du logiciel Linux RAID (Partie I)

Dernière mise à jour le 2019-02-03

Gestion du logiciel Linux RAID (Partie I)

Redundant Array of Independent Disks (RAID) est une technologie de stockage et de virtualisation qui a gagné la traction à la fin des années 1980. Il combine plusieurs disques physiques en une seule unité virtuelle logique pour améliorer les performances et faciliter la redondance. Les données sont distribuées sur les disques selon le Niveau RAID. Bien que pas un substitut aux sauvegardes, les niveaux RAID peuvent aider à maintenir votre système en cours d'exécution face à des problèmes matériels communs comme la perte de données à cause de pannes de disque ou des erreurs de lecture non récupérables (secteur).

RAID peut être implémenté et géré à l'aide de périphériques “block”, qui peuvent être des logiciels RAID (p. ex., logiciel Linux RAID’s mdadm), RAID matériel (c.-à-d. carte matérielle dédiée) ou FakeRAID (également appelé BIOS ou RAID embarqué). Cet article se concentrera sur les façons de faire de Linux Software RAID et son outil de gestion, mdadm.
 
Linux Software RAID est un périphérique de bloc qui peut fonctionner sur la plupart des autres appareils et mdash;SATA, USB, IDE, SCSI, ou une combinaison de ces derniers. Notez que le RAID calque ne touche pas le calque système de fichiers at all. Vous pouvez placer un système de fichiers sur un périphérique RAID, comme sur tout autre périphérique de bloc.

 

Comment les périphériques RAID du logiciel fonctionnent

Les périphériques RAID logiciels doivent être considérés comme des disques ordinaires ou des partitions de disques. Ils peuvent être « construits » à partir de plusieurs autres dispositifs de blocs.

Dans une implémentation RAID, il y a des disques de rechange ou des pièces de rechange chaudes qui ne participent pas au jeu RAID jusqu'à ce que l'un des disques actifs échoue. Une fois qu'une défaillance de l'appareil est détectée, l'appareil est marqué comme ‘faulty’ et le set commence la reconstruction immédiatement sur la première pièce de rechange chaude disponible. Votre système peut maintenant fonctionner pendant un certain temps même avec un disque défectueux, car l'espace de rechange prend sa place. Si aucun disque de rechange n'est disponible, le tableau est exécuté en mode « dégradé ».

Notez que les disques défectueux apparaissent et se comportent toujours comme des membres du tableau. La couche RAID évite simplement de les lire/écrire. Aussi, si un appareil doit être retiré du tableau, n'oubliez pas de le marquer d'abord comme ‘faulty’ avant de le supprimer.

 

Création d'un périphérique RAID basé sur le lecteur SATA

Vous pouvez utiliser des disques complets comme parties d'un tableau RAID, mais cela devrait être évité si vous voulez rendre les disques amorçables. Ce que vous devez faire est de créer une partition dans les disques (en utilisant FDisk or Partis) avec le type de partition défini à ‘fd,’ le logiciel Linux RAID automatiquement détecté.

Après avoir créé une partition dans chaque lecteur pertinent (sda1, sdb1), vous pouvez maintenant créer le tableau:

mdadm --create /dev/md0 -n 2 --level=1 /dev/sda1 /dev/sdb1

                Where:

    • /dev/md0 - votre nouveau chemin de périphérique de tableau
    • -n 2  - le nombre total de lecteurs, qui peuvent être classés comme des disques de rechange, actifs ou manquants; un lecteur ‘missing’ nécessite l'option supplémentaire -f pour travailler
    • --level=<niveau RAID>- peut contenir l'une des caractéristiques suivantes:
      • de
      • raid0  OR 0
      • rayure
      • raid1  OR 1
      • miroir
      • raid4 OR&nbsp;4
      • raid5 OR 5 
      • raid6 OR&nbsp;6
      • raid10&nbsp;OR&nbsp;10
      • multipath&nbsp;OR&nbsp;mp
      • défectueux
      • conteneur
    • /dev/sda1, /dev/sdb1&nbsp;- le chemin de chaque périphérique composant

NOTE IMPORTANTE: Si vous voulez démarrer à partir d'un périphérique RAID, placez lechargeur d'amorçage&nbsp;code au début du lecteur physique qui sera utilisé comme composant sous-jacent du périphérique RAID. Cela signifie que si vous utilisez/dev/sda1&nbsp; en tant que membre du tableau&nbsp;/dev/md0&nbsp;et votre DDH/SSD primaire est défini comme &nbsp;Option de démarrage BIOS, vous devez choisir&nbsp;/dev/sda&nbsp; pour le &nbsp;chargeur d'amorçageCode &nbsp;. Une façon de le faire est de faire fonctionner &nbsp;Installation de grub /dev/sda.

Après avoir créé un périphérique RAID, vous pouvez l'utiliser comme vous le feriez pour un lecteur local régulier. Vous pouvez, par exemple, l'utiliser comme un volume physique pour le gestionnaire de volume logique de noyau etrsquo;s Linux (LVM) ou y mettre un système de fichiers.

Pendant que les métadonnées RAID sont stockées dans chaque lecteur de composants, vous devez toujours enregistrer votre configuration RAID pour une utilisation future. Cela vous aidera à surveiller et corriger le nom de l'appareil md, sinon vous obtiendrez des noms d'appareil comme md126 et md127. Vous pouvez enregistrer votre fichier de configuration en exécutant la commande suivante :&nbsp;


mdadm --detail --scan >> /etc/mdadm.conf

Pour Ubuntu:
/etc/mdadm/mdadm.conf

&nbsp;

Surveillance d'un dispositif RAID

Vous pouvez surveiller de façon proactive la santé d'un appareil RAID en utilisant&nbsp;--monitor in the mdadm tool. If mdadm detects an array health issue, it can do a host of actions you specify in the command line. It can send an email, run a specified program, or send a message to the system log to name a few. Read the manual in homme mdadm&nbsp;(Section Surveillance) pour voir une liste d'options.

La plupart des distributions Linux fournissent des enveloppes pour le mdadm&nbsp;&ndash;monitor. CentOS / RHEL par exemple, fournit un &nbsp;MDmonitor&nbsp;service, que vous pouvez configurer pour démarrer automatiquement avec le système en exécutant&nbsp;chkconfig mdmonitor sur.

Une autre façon de vérifier la santé des appareils est de regarder dans le&nbsp;/proc/mdstatFichier &nbsp;text pour voir quels tableaux votre noyau reconnaît et voir leurs états respectifs.

&nbsp;

Remplacer le lecteur de composants d'un dispositif RAID

Remplacer un lecteur (par exemple (/dev/sdb1) dans un tableau RAID actif, il doit d'abord être marqué comme &lsquo;faulty&rsquo; par le noyau&mdash;marqué comme&nbsp;(F)&nbsp; dans le&nbsp;/proc/mdstat. Si elle n'est pas encore marquée comme étant défectueuse, vous devez faire le marquage vous-même avant de l'enlever. Pour ce faire, run&nbsp;mdamm /dev/md0 -f /dev/sdb1.

Une fois le lecteur supprimé, vous pouvez ajouter un autre lecteur comme remplacement en utilisant&nbsp;mdadm /dev/md0 -a /dev/sdc1. Notez que vous pouvez effectuer plusieurs opérations avec cette commande et mdash; p. ex.&nbsp;mdadm /dev/md0 -f /dev/sdb1 -r /dev/sdb1 -a /dev/sdc1.

Vérifiez le contenu de la&nbsp;/proc/mdstat&nbsp;file ensuite pour voir si tout s'est passé comme prévu. L'opération s'est déroulée comme il se doit si mdamm n'a pas produit d'erreur pendant le remplacement.

&nbsp;

Détruire un dispositif RAID

Il peut y avoir un moment où vous devez détruire complètement un périphérique RAID pour rendre les périphériques sous-jacents utilisables pour le système. Une situation où cela est plausible est si vous avez un disque dur de rechange avec des métadonnées RAID préconfigurées et que votre noyau reconnaît le tableau. Dans ce cas, il n'y a qu'un seul membre dans le tableau et il n'est pas possible de supprimer simplement le lecteur unique.

Pour détruire le périphérique RAID, vous devez d'abord arrêter le tableau avec &nbsp;Mdamm -S /dev/md0. L'étape suivante consiste à supprimer les métadonnées de la partition sda1 en publiant la commande&nbsp;mdamm --zero-superblock /dev/sda1. N'oubliez pas d'apporter les métadonnées de/dev/sda1&nbsp;(non&nbsp;/dev/sda) à zéro (0) si elle fait partie d'un tableau.

&nbsp;

Références:

← Tous les articles de la base de connaissances

Dites-nous ce qui doit rester debout.

A short conversation with an engineer. No quote-bot, no callback queue. We'll tell you honestly if we're not the right fit.