Wéi Daten recuperéieren a gescheitert Software RAIDs nei opbauen - Deel 8


An de fréieren Artikelen vun dëser RAID Serie sidd Dir vun Null op RAID Held gaang. Mir hunn e puer Software RAID Konfiguratiounen iwwerpréift an d'Essenz vun all eenzel erkläert, zesumme mat de Grënn firwat Dir op déi een oder déi aner hänke géif ofhängeg vun Ärem spezifesche Szenario.

An dësem Guide wäerte mir diskutéieren wéi Dir eng Software RAID-Array opbaut ouni Datenverloscht am Fall vun engem Disk Echec. Fir Kuerzegkeet wäerte mir nëmmen e RAID 1 Setup berücksichtegen - awer d'Konzepter an d'Befehle gëllen fir all Fäll gläich.

Ier Dir weider geet, gitt sécher datt Dir en RAID 1-Array opgeriicht hutt no den Instruktiounen am Deel 3 vun dëser Serie: Wéi RAID 1 (Spigel) op Linux opzestellen.

Déi eenzeg Variatiounen an eisem aktuelle Fall wäerten sinn:

1) eng aner Versioun vum CentOS (v7) wéi déi an deem Artikel benotzt (v6.5), an
2) verschidde Diskgréissten fir /dev/sdb an /dev/sdc (jee 8 GB).

Zousätzlech, wann SELinux am Duerchféierungsmodus aktivéiert ass, musst Dir déi entspriechend Etiketten an de Verzeechnes addéieren, wou Dir den RAID-Apparat montéiert. Soss gitt Dir dës Warnungsmeldung beim Versuch et ze montéieren:

Dir kënnt dëst fixéieren andeems Dir leeft:

# restorecon -R /mnt/raid1

RAID Iwwerwaachung opsetzen

Et gi verschidde Grënn firwat e Späicherapparat kann ausfalen (SSDs hunn d'Chancen datt dëst geschitt awer staark reduzéiert), awer onofhängeg vun der Ursaach kënnt Dir sécher sinn datt Probleemer zu all Moment optrieden an Dir musst bereet sinn déi gescheitert ze ersetzen Deel a fir d'Disponibilitéit an d'Integritéit vun Ären Donnéeën ze garantéieren.

E Wuert vun Rot éischt. Och wann Dir /proc/mdstat kontrolléiere kënnt fir de Status vun Ären RAIDs z'iwwerpréiwen, gëtt et eng besser an Zäitspuerend Method déi besteet aus Mdadm am Monitor + Scan Modus ze lafen, deen Alarmer per E-Mail un e virdefinéierten Empfänger schéckt.

Fir dëst opzestellen, füügt déi folgend Zeil an /etc/mdadm.conf derbäi:

MAILADDR [email <domain or localhost>

A mengem Fall:

MAILADDR [email 

Fir mdadm am Monitor + Scan Modus auszeféieren, füügt déi folgend Crontab Entrée als Root:

@reboot /sbin/mdadm --monitor --scan --oneshot

Par défaut kontrolléiert mdadm d'RAID-Arrays all 60 Sekonnen a schéckt eng Alarm wann et e Problem fënnt. Dir kënnt dëst Verhalen änneren andeems Dir d'Optioun --Verzögerung op d'Crontab-Entrée uewen zesumme mat der Zuel vu Sekonnen bäidréit (zum Beispill --Verzögerung 1800 heescht 30 Minutten).

Endlech, vergewëssert Iech datt Dir e Mail User Agent (MUA) installéiert hutt, wéi mutt oder mailx. Soss kritt Dir keng Alarmer.

An enger Minutt gesi mir wéi eng Alarm ausgesäit, déi vum mdadm geschéckt gëtt.

Simulatioun an Ersatz vun engem gescheitert RAID Storage Device

Fir e Problem mat engem vun de Späichergeräter am RAID-Array ze simuléieren, benotze mir d'Optiounen --manage an --set-faulty wéi follegt:

# mdadm --manage --set-faulty /dev/md0 /dev/sdc1  

Dëst wäert dozou féieren datt /dev/sdc1 als falsch markéiert gëtt, wéi mir an /proc/mdstat gesinn:

Méi wichteg, loosst eis kucken ob mir eng E-Mail Alarm mat der selwechter Warnung kréien:

An dësem Fall musst Dir den Apparat aus der Software RAID Array erofhuelen:

# mdadm /dev/md0 --remove /dev/sdc1

Da kënnt Dir et kierperlech vun der Maschinn ewechhuelen an et mat engem Ersatzdeel ersetzen (/dev/sdd, wou eng Partition vum Typ fd virdru erstallt gouf):

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

Glécklech fir eis fänkt de System automatesch un d'Array opzebauen mat deem Deel dee mir just bäigefüügt hunn. Mir kënnen dëst testen andeems Dir /dev/sdb1 als fehlerhaft markéiert, se aus der Array erofhuelen an sécherstellen datt d'Datei tecmint.txt nach ëmmer zougänglech ass op /mnt/raid1:

# mdadm --detail /dev/md0
# mount | grep raid1
# ls -l /mnt/raid1 | grep tecmint
# cat /mnt/raid1/tecmint.txt

D'Bild hei uewen weist kloer datt nodeems Dir /dev/sdd1 an d'Array als Ersatz fir /dev/sdc1 bäigefüügt huet, d'Wiederopbau vun den Donnéeën automatesch vum System ouni Interventioun vun eiser Säit duerchgefouert gouf.

Och wann et net strikt erfuerderlech ass, ass et eng super Iddi fir e Ersatzgerät an der Hand ze hunn, sou datt de Prozess vum defekten Apparat mat engem gudden Drive z'ersetzen kann an engem Schnëtt gemaach ginn. Fir dat ze maachen, loosst eis /dev/sdb1 an /dev/sdc1 nei addéieren:

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

Erholl vun engem Redundanzverloscht

Wéi virdru erkläert, mdadm wäert d'Donnéeën automatesch nei opbauen wann eng Disk feelt. Awer wat geschitt wann 2 Disken am Array versoen? Loosst eis esou Szenario simuléieren andeems Dir /dev/sdb1 an /dev/sdd1 als falsch markéiert:

# umount /mnt/raid1
# mdadm --manage --set-faulty /dev/md0 /dev/sdb1
# mdadm --stop /dev/md0
# mdadm --manage --set-faulty /dev/md0 /dev/sdd1

Versich d'Array nei ze kreéieren op déiselwecht Manéier wéi et zu dësem Zäitpunkt erstallt gouf (oder d'Optioun --assume-clean benotzt) kënnen zu Datenverloscht féieren, sou datt et als leschten Auswee gelooss gëtt.

Loosst eis probéieren d'Donnéeën vun /dev/sdb1 ze recuperéieren, zum Beispill, an eng ähnlech Diskpartition (/dev/sde1 - Notéiert datt dëst erfuerdert datt Dir eng Partition vum Typ fd an /dev/sde erstellt ier Dir weider geet) mat ddrescue:

# ddrescue -r 2 /dev/sdb1 /dev/sde1

Notéiert w.e.g. datt mir bis zu dësem Zäitpunkt /dev/sdb oder /dev/sdd net beréiert hunn, d'Partitionen déi Deel vum RAID-Array waren.

Loosst eis elo d'Array opbauen mat /dev/sde1 an /dev/sdf1:

# mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[e-f]1

Notéiert w.e.g. datt Dir an enger realer Situatioun normalerweis déiselwecht Apparatnumm benotzt wéi mat der ursprénglecher Array, dat heescht /dev/sdb1 an /dev/sdc1 nodeems déi gescheitert Disken duerch nei ersat goufen.

An dësem Artikel hunn ech gewielt fir extra Geräter ze benotzen fir d'Array mat fuschneie Disken nei ze kreéieren an Duercherneen mat den originelle gescheitert Drive ze vermeiden.

Wann Dir gefrot ob Dir weider Array schreift, gitt Y an dréckt Enter. D'Array soll gestart ginn an Dir sollt fäeg sinn seng Fortschrëtter ze kucken mat:

# watch -n 1 cat /proc/mdstat

Wann de Prozess fäerdeg ass, sollt Dir den Inhalt vun Ärem RAID zougräifen:

Resumé

An dësem Artikel hu mir iwwerpréift wéi Dir vu RAID-Feeler a Redundanzverloschter erholen. Wéi och ëmmer, Dir musst drun erënneren datt dës Technologie eng Späicherléisung ass an NET Backups ersetzt.

D'Prinzipien, déi an dësem Guide erkläert ginn, gëllen fir all RAID-Setups gläich, wéi och d'Konzepter, déi mir am nächsten an endgültege Guide vun dëser Serie (RAID-Gestioun) ofdecken.

Wann Dir Froen iwwer dësen Artikel hutt, fillt Iech gratis eis eng Notiz ze schécken andeems Dir de Kommentarformular hei drënner benotzt. Mir freeën eis vun Iech ze héieren!