GNU/Linux >> Tutoriels Linux >  >> Linux

RedHat / CentOS :Gérer le RAID logiciel avec mdadm

Bases

mdadm (administrateur de plusieurs appareils) est un outil extrêmement utile pour exécuter des systèmes RAID. C'est un outil pour créer, gérer et surveiller les périphériques RAID à l'aide du pilote md. Il peut être utilisé en remplacement des raidtools, ou en complément. Vous pouvez utiliser des disques entiers (/dev/sdb, /dev/sdc) ou des partitions individuelles (/dev/sdb1, /dev/sdc1) comme composant d'un tableau.

Les avantages de l'utilisation de mdadm sont :
1. mdadm peut diagnostiquer, surveiller et collecter des informations détaillées sur vos baies.
2. mdadm est un programme centralisé unique et non une collection de programmes dispersés, il existe donc une syntaxe commune pour chaque commande de gestion RAID.
3. mdadm peut exécuter presque toutes ses fonctions sans avoir de fichier de configuration et n'en utilise pas par défaut.

Les outils logiciels mdadm fonctionnent pour toutes les distributions Linux, avec la même syntaxe.

Installer mdadm

Assurez-vous de faire une mise à jour du système, puis installez le dernier programme mdadm sur votre système :

# yum clean all
# yum update
# yum install mdadm -y

Le fichier de configuration

– Le fichier /etc/mdadm.conf est utilisé pour identifier les périphériques qui sont des périphériques RAID et à quelle matrice appartient un périphérique spécifique. Ceci est nécessaire pour créer automatiquement vos périphériques RAID au démarrage.
– Par défaut, ce fichier n'est pas disponible et doit être créé manuellement.
– Une fois que vous avez terminé de créer les périphériques RAID, vous pouvez créez simplement le fichier mdadm.conf en redirigeant la sortie de la commande :

# mdadm --detail -scan
ARRAY /dev/md0 level=linear num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=a50ac9f2:62646d92:725255bd:7f9d30e3
   devices=/dev/sdb,/dev/sdc

Comme on le voit dans la sortie ci-dessus, j'ai un tableau linéaire md0 avec 2 périphériques /dev/sdb et /dev/sdc.

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

Création des périphériques RAID

Pour répertorier les options permettant de créer un périphérique RAID avec mdadm, utilisez l'option –help. Il existe plusieurs options lors de la création d'un RAID avec mdadm. Je vais en énumérer quelques-uns importants.

# mdadm --create --help
	-C | --create /dev/mdn
	-l | --level  0|1|4|5
	-n | --raid-devices device [..]
	-x | --spare-devices device [..]

Mode linéaire
– Deux disques ou plus sont combinés en un seul périphérique physique.
– Les disques sont « ajoutés » les uns aux autres, donc l'écriture linéaire sur le périphérique RAID remplira d'abord le disque 0, puis le disque 1 et ainsi de suite on.
– Les disques ne doivent pas nécessairement être de la même taille.
– Il n'y a pas de redondance à ce niveau.
– Les performances de lecture et d'écriture n'augmenteront pas pour les lectures/écritures uniques . Mais si plusieurs utilisateurs utilisent l'appareil, plusieurs utilisateurs utilisant des disques différents en même temps, vous constaterez un gain de performances.

Pour créer deux disques en mode linéaire exécutant mdadm, tapez simplement une seule ligne de commande :

# mdadm --create --verbose /dev/md0 --level=linear --raid-devices=2 /dev/sdb /dev/sdc
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

La même commande peut être exécutée en utilisant la version plus courte des options :

# mdadm --Cv /dev/md0 --l linear -n2 /dev/sdb /dev/sdc

RAID 0
– Également appelé mode "stripe".
– Les appareils doivent avoir la même taille.
– Il n'y a pas non plus de redondance à ce niveau. Aucune récupération de données n'est possible si un disque tombe en panne.
– Les performances de lecture et d'écriture augmentent, car les lectures et les écritures sont effectuées en parallèle sur les appareils.

Pour créer deux disques en mode RAID 0 :

# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sdb /dev/sdc

RAID 1
– Ce niveau a une redondance.
– RAID-1 peut être utilisé sur deux disques ou plus avec zéro ou plusieurs disques de rechange.
– Ce mode maintient un miroir exact des informations sur un disque sur le ou les autres disques.
– Bien sûr, les disques doivent être de taille égale.
– Si un disque est plus grand qu'un autre, votre périphérique RAID aura la taille du plus petit disque.
– Si jusqu'à N-1 disques sont supprimés (ou tombent en panne), toutes les données sont toujours intactes. S'il y a des disques de rechange disponibles et si le système a survécu au crash, la reconstruction du miroir commencera immédiatement sur l'un des disques de rechange, après détection de la panne du lecteur.
– Les performances d'écriture sont souvent moins bonnes que sur un seul appareil car les mêmes données doivent être écrites simultanément sur 2 appareils ou plus.

Vous pouvez configurer RAID 1 avec deux disques et un disque de secours :

# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=/dev/sdd

RAID 4
– Ce niveau RAID n'est pas utilisé très souvent.
– Il peut être utilisé sur trois disques ou plus.
– Au lieu de refléter complètement les informations, il conserve les informations de parité sur un seul disque, et écrit des données sur les autres disques à la manière d'un RAID-0.
– Étant donné qu'un disque est réservé aux informations de parité, la taille de la matrice sera de (N-1)*S, où S est la taille du plus petit disque de la matrice.
– Si un disque tombe en panne, les informations de parité peuvent être utilisées pour reconstruire toutes les données. Si deux disques tombent en panne, toutes les données sont perdues.

Pour configurer RAID 4 avec 4 disques et un disque de secours :

# mdadm --create --verbose /dev/md0 --level=4 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde  spare-devices=/dev/sdf

RAID 5
– RAID-5 peut être utilisé sur trois disques ou plus, avec zéro ou plusieurs disques de rechange.
– La taille de périphérique RAID-5 résultante sera (N-1)*S, tout comme RAID -4.
– La grande différence entre RAID-5 et -4 est que les informations de parité sont réparties uniformément entre les disques participants, évitant ainsi le problème de goulot d'étranglement dans RAID-4.
– Si l'un des les disques échouent, toutes les données sont toujours intactes, grâce aux informations de parité. Si des disques de rechange sont disponibles, la reconstruction commencera immédiatement après la panne de l'appareil. Si deux disques tombent en panne simultanément, toutes les données sont perdues. RAID-5 peut survivre à une panne de disque, mais pas à deux ou plus.
– Les lectures sont similaires aux lectures RAID-0, les écritures sont généralement coûteuses car la parité doit être écrite, ce qui devient la surcharge.

Pour configurer RAID 5 avec 3 disques et 1 disque de secours à l'aide de mdadm :

# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd --spare-devices=/dev/sde

Création d'un système de fichiers sur des périphériques RAID

Pour créer un système de fichiers ext4 sur le périphérique RAID et le monter :

# mkfs.ext4 /dev/md0
# mkdir /data01
# mount /dev/md0 /data01

Assurez-vous de créer une entrée dans /etc/fstab, pour la rendre persistante lors des redémarrages.

# vi /etc/fstab
/dev/md0	/data01		ext4	defaults	0    0

Vérification de la configuration

/proc/mdstat est un fichier maintenu par le noyau qui contient les informations en temps réel sur les matrices et les périphériques RAID.

# cat /proc/mdstat 
Personalities : [linear] 
md0 : active linear sdc[1] sdb[0]
      4194288 blocks super 1.2 0k rounding
      
unused devices: [none]

Pour obtenir des informations détaillées sur un tableau spécifique, utilisez :

# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Mon Nov  3 06:03:03 2014
     Raid Level : linear
     Array Size : 4194288 (4.00 GiB 4.29 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Mon Nov  3 06:03:03 2014
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

       Rounding : 0K

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : a50ac9f2:62646d92:725255bd:7f9d30e3
         Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc

Arrêter/Démarrer (assembler) et supprimer la matrice RAID

Pour arrêter un tableau existant et le supprimer complètement du système :

# mdadm --stop /dev/md0
# mdadm --remove /dev/md0

Pour démarrer (assembler) un tableau arrêté :

# mdadm --asemble /dev/md0
REMARQUE :La commande assemble lit le fichier /etc/mdadm.conf pour démarrer le tableau. Si vous n'aviez pas enregistré votre configuration dans mdadm.conf avant d'arrêter la baie, cette commande échouerait. Vous pouvez utiliser la commande ci-dessous pour recréer le fichier mdadm.conf :
# mdadm –examine –scan> /etc/mdadm.conf

Gestion des appareils en baie

ajouter un appareil
Pour ajouter un nouvel appareil à la baie :

# mdadm --add /dev/md0 /dev/sdd

suppression d'un appareil
Nous pouvons faire échouer un périphérique (-f) d'une baie, puis le supprimer (-r) :

# mdadm --manage /dev/md0 -f /dev/sdd
# mdadm --manage /dev/mdadm -r /dev/sdd
Remplacement d'un disque miroir défaillant dans une matrice RAID logicielle (mdadm)


Linux
  1. Remplacement d'un disque RAID 6 défaillant par mdadm

  2. Utiliser iptables avec CentOS 7

  3. Créer et migrer un système RedHat / CentOS existant vers RAID 1 / RAID 10

  4. Remplacement d'un disque miroir défaillant dans une matrice RAID logicielle (mdadm)

  5. Installer des logiciels sur CentOS :binaires ou rpm ?

Sécurisation de SSH sur Redhat/Centos avec l'authentification WiKID à deux facteurs

Gestion des cgroups avec systemd

Configurer le RAID externe sur Ubuntu/Centos/RedHat

Implémentation de Mdadm Raid avec partitionnement Gpt ?

Centos contre RedHat :15 faits intéressants à connaître

Comment configurer un cluster Linux avec 2 nœuds sur RedHat et CentOS