Com gestionar els RAID de programari a Linux amb l'eina Mdadm - Part 9


Independentment de la vostra experiència prèvia amb matrius RAID, i si heu seguit tots els tutorials d'aquesta sèrie RAID o no, gestionar els RAID de programari a Linux no és una tasca molt complicada un cop us heu familiaritzat amb mdadm --manage codi> comanda.

En aquest tutorial revisarem la funcionalitat que ofereix aquesta eina perquè la tinguis a mà quan la necessitis.

Com en l'últim article d'aquesta sèrie, utilitzarem per senzillesa una matriu RAID 1 (mirall) que consta de dos discs de 8 GB (/dev/sdb i /dev/sdc) i un dispositiu de recanvi inicial (/dev/sdd). per il·lustrar-ho, però les ordres i els conceptes enumerats aquí també s'apliquen a altres tipus de configuracions. Dit això, no dubteu a afegir aquesta pàgina a les adreces d'interès del vostre navegador i comencem.

Entendre les opcions i l'ús de mdadm

Afortunadament, mdadm proporciona una marca integrada --help que proporciona explicacions i documentació per a cadascuna de les opcions principals.

Per tant, comencem escrivint:

# mdadm --manage --help

per veure quines són les tasques que ens permetrà realitzar mdadm --manage i com:

Com podem veure a la imatge anterior, la gestió d'una matriu RAID implica realitzar les tasques següents en un moment o altre:

  1. (Re)Afegir un dispositiu a la matriu.
  2. Marca un dispositiu com a defectuós.
  3. Eliminació d'un dispositiu defectuós de la matriu.
  4. Substituint el dispositiu defectuós per un de recanvi.
  5. Inicieu una matriu que estigui parcialment construïda.
  6. Atura una matriu.
  7. Marqueu una matriu com a ro (només de lectura) o rw (lectura-escriptura).

Gestió de dispositius RAID amb l'eina mdadm

Tingueu en compte que si ometeu l'opció --manage, mdadm assumeix el mode de gestió de totes maneres. Tingueu en compte aquest fet per evitar tenir problemes més avall.

El text destacat de la imatge anterior mostra la sintaxi bàsica per gestionar els RAID:

# mdadm --manage RAID options devices

Il·lustrem-ho amb uns quants exemples.

Normalment afegireu un dispositiu nou quan en substituïu un defectuós o quan tingueu una peça de recanvi que voleu tenir a mà en cas d'avaria:

# mdadm --manage /dev/md0 --add /dev/sdd1

Aquest és un pas obligatori abans d'eliminar lògicament el dispositiu de la matriu i, més tard, treure'l físicament de la màquina, en aquest ordre (si us perdeu un d'aquests passos, podeu acabar causant danys reals al dispositiu):

# mdadm --manage /dev/md0 --fail /dev/sdb1

Tingueu en compte com s'utilitza el dispositiu de recanvi afegit a l'exemple anterior per substituir automàticament el disc fallat. No només això, sinó que també s'inicia immediatament la recuperació i la reconstrucció de les dades del raid:

Un cop s'ha indicat que el dispositiu ha fallat manualment, es pot eliminar de manera segura de la matriu:

# mdadm --manage /dev/md0 --remove /dev/sdb1

Fins a aquest punt, tenim una matriu RAID 1 en funcionament que consta de 2 dispositius actius: /dev/sdc1 i /dev/sdd1. Si intentem tornar a afegir /dev/sdb1 a /dev/md0 ara mateix:

# mdadm --manage /dev/md0 --re-add /dev/sdb1

ens trobarem amb un error:

mdadm: --re-add for /dev/sdb1 to /dev/md0 is not possible

perquè la matriu ja està formada pel nombre màxim possible de unitats. Per tant, tenim 2 opcions: a) afegir /dev/sdb1 com a recanvi, tal com es mostra a l'exemple #1, o b) eliminar /dev/sdd1 de la matriu i després tornar a afegir /dev/sdb1.

Triem l'opció b), i començarem aturant la matriu per tornar-la a muntar més tard:

# mdadm --stop /dev/md0
# mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1

Si l'ordre anterior no afegeix correctament /dev/sdb1 a la matriu, utilitzeu l'ordre de l'exemple #1 per fer-ho.

Tot i que mdadm detectarà inicialment el dispositiu recent afegit com a recanvi, començarà a reconstruir les dades i, quan ho acabi, hauria de reconèixer que el dispositiu és una part activa del RAID:

Substituir un disc de la matriu per un de recanvi és tan fàcil com:

# mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/sdd1

Això fa que el dispositiu que segueix l'interruptor --with s'afegeix al RAID mentre el disc indicat mitjançant --replace es marca com a defectuós:

Després de crear la matriu, heu d'haver creat un sistema de fitxers a sobre i muntar-lo en un directori per utilitzar-lo. El que probablement no sabíeu llavors és que podeu marcar el RAID com a ro, permetent així que només s'hi facin operacions de lectura, o rw, per escriure també al dispositiu.

Per marcar el dispositiu com a ro, primer cal desmuntar-lo:

# umount /mnt/raid1
# mdadm --manage /dev/md0 --readonly
# mount /mnt/raid1
# touch /mnt/raid1/test1

Per configurar la matriu perquè permeti també operacions d'escriptura, utilitzeu l'opció --readwrite. Tingueu en compte que haureu de desmuntar el dispositiu i aturar-lo abans d'establir el senyalador rw:

# umount /mnt/raid1
# mdadm --manage /dev/md0 --stop
# mdadm --assemble /dev/md0 /dev/sdc1 /dev/sdd1
# mdadm --manage /dev/md0 --readwrite
# touch /mnt/raid1/test2

Resum

Al llarg d'aquesta sèrie hem explicat com configurar una varietat de matrius RAID de programari que s'utilitzen en entorns empresarials. Si heu seguit els articles i els exemples proporcionats en aquests articles, esteu preparat per aprofitar el poder dels RAID de programari a Linux.

Si teniu preguntes o suggeriments, no dubteu a posar-vos en contacte amb nosaltres mitjançant el següent formulari.