Hvernig á að endurheimta gögn og endurbyggja misheppnuð hugbúnaðarárás - Part 8


Í fyrri greinum þessarar RAID seríu fórstu úr núlli í RAID hetju. Við skoðuðum nokkrar hugbúnaðar RAID stillingar og útskýrðum meginatriði hverrar þeirra, ásamt ástæðunum fyrir því að þú myndir hallast að einu eða öðru, allt eftir sérstökum atburðarás þinni.

Í þessari handbók munum við ræða hvernig á að endurbyggja hugbúnaðar RAID fylki án gagnataps þegar diskur bilar. Í stuttu máli munum við aðeins íhuga RAID 1 uppsetningu - en hugtökin og skipanirnar eiga við um öll tilvik eins.

Áður en lengra er haldið skaltu ganga úr skugga um að þú hafir sett upp RAID 1 fylki með því að fylgja leiðbeiningunum í 3. hluta þessarar röð: Hvernig á að setja upp RAID 1 (spegill) í Linux.

Einu afbrigðin í þessu tilviki okkar verða:

1) önnur útgáfa af CentOS (v7) en sú sem notuð er í þeirri grein (v6.5), og
2) mismunandi diskastærðir fyrir /dev/sdb og /dev/sdc (8 GB hvor).

Að auki, ef SELinux er virkt í framfylgdarham, þarftu að bæta samsvarandi merkimiðum við möppuna þar sem þú festir RAID tækið. Annars muntu lenda í þessum viðvörunarskilaboðum þegar þú reynir að tengja það:

Þú getur lagað þetta með því að keyra:

# restorecon -R /mnt/raid1

Setja upp RAID eftirlit

Það eru margvíslegar ástæður fyrir því að geymslutæki getur bilað (SSD-diskar hafa þó dregið verulega úr líkunum á að þetta gerist), en burtséð frá orsökinni geturðu verið viss um að vandamál geti komið upp hvenær sem er og þú þarft að vera tilbúinn að skipta um það sem bilaði. hluta og til að tryggja aðgengi og heilleika gagna þinna.

Ráðleggingarorð fyrst. Jafnvel þegar þú getur skoðað /proc/mdstat til að athuga stöðu RAID þinna, þá er betri og tímasparandi aðferð sem samanstendur af því að keyra mdadm í skjá + skannaham, sem mun senda viðvaranir með tölvupósti til fyrirfram skilgreinds viðtakanda.

Til að setja þetta upp skaltu bæta við eftirfarandi línu í /etc/mdadm.conf:

MAILADDR [email <domain or localhost>

Í mínu tilfelli:

MAILADDR [email 

Til að keyra mdadm í skjá + skannaham skaltu bæta við eftirfarandi crontab færslu sem rót:

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

Sjálfgefið er að mdadm athugar RAID fylkin á 60 sekúndna fresti og sendir viðvörun ef það finnur vandamál. Þú getur breytt þessari hegðun með því að bæta --delay valkostinum við crontab færsluna hér að ofan ásamt magni sekúndna (til dæmis, --delay 1800 þýðir 30 mínútur).

Að lokum skaltu ganga úr skugga um að þú sért með Mail User Agent (MUA) uppsettan, eins og mutt eða mailx. Annars færðu engar áminningar.

Eftir eina mínútu munum við sjá hvernig viðvörun sem send er af mdadm lítur út.

Herma eftir og skipta um bilað RAID geymslutæki

Til að líkja eftir vandamáli með eitt af geymslutækjunum í RAID fylkinu munum við nota valkostina --manage og --set-faulty sem hér segir:

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

Þetta mun leiða til þess að /dev/sdc1 verður merkt sem gallaður, eins og við sjáum í /proc/mdstat:

Meira um vert, við skulum sjá hvort við fengum viðvörun í tölvupósti með sömu viðvörun:

Í þessu tilviki þarftu að fjarlægja tækið úr hugbúnaðar RAID fylkinu:

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

Þá geturðu fjarlægt það líkamlega úr vélinni og skipt út fyrir varahlut (/dev/sdd, þar sem skipting af gerðinni fd hefur áður verið búin til):

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

Sem betur fer fyrir okkur mun kerfið sjálfkrafa byrja að endurbyggja fylkið með þeim hluta sem við bættum við. Við getum prófað þetta með því að merkja /dev/sdb1 sem gallað, fjarlægja það úr fylkinu og ganga úr skugga um að skráin tecmint.txt sé enn aðgengileg á /mnt/raid1:

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

Myndin hér að ofan sýnir greinilega að eftir að /dev/sdd1 var bætt við fylkið í staðinn fyrir /dev/sdc1, var endurbygging gagna sjálfkrafa framkvæmd af kerfinu án afskipta af okkar hálfu.

Þó að það sé ekki stranglega krafist, þá er frábær hugmynd að hafa varatæki við höndina svo að hægt sé að skipta um bilaða tækið fyrir gott drif á fljótlegan hátt. Til að gera það, skulum við bæta við /dev/sdb1 og /dev/sdc1 aftur:

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

Að jafna sig eftir uppsagnartap

Eins og útskýrt var áðan mun mdadm endurbyggja gögnin sjálfkrafa þegar einn diskur bilar. En hvað gerist ef 2 diskar í fylkinu bila? Við skulum líkja eftir slíkri atburðarás með því að merkja /dev/sdb1 og /dev/sdd1 sem gölluð:

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

Tilraunir til að endurskapa fylkið á sama hátt og það var búið til á þessum tíma (eða með því að nota --assume-clean valmöguleikann) geta leitt til taps á gögnum, svo það ætti að vera síðasta úrræði.

Við skulum reyna að endurheimta gögnin frá /dev/sdb1, til dæmis í svipaða disksneið (/dev/sde1 – athugið að þetta krefst þess að þú býrð til sneið af gerðinni fd í /dev/sde áður en þú heldur áfram) með ddrescue:

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

Vinsamlegast athugaðu að fram að þessu höfum við ekki snert /dev/sdb eða /dev/sdd, skiptingarnar sem voru hluti af RAID fylkinu.

Nú skulum við endurbyggja fylkið með /dev/sde1 og /dev/sdf1:

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

Vinsamlegast athugaðu að í raunverulegum aðstæðum muntu venjulega nota sömu tækjanöfn og með upprunalegu fylkinu, það er /dev/sdb1 og /dev/sdc1 eftir að biluðu diskunum hefur verið skipt út fyrir nýja.

Í þessari grein hef ég valið að nota aukatæki til að endurskapa fylkið með glænýjum diskum og til að forðast rugling við upprunalegu biluðu diskana.

Þegar spurt er hvort halda eigi áfram að skrifa fylki skaltu slá inn Y og ýta á Enter. Byrja ætti fylkið og þú ættir að geta fylgst með framvindu þess með:

# watch -n 1 cat /proc/mdstat

Þegar ferlinu lýkur ættir þú að geta fengið aðgang að innihaldi RAID þíns:

Samantekt

Í þessari grein höfum við farið yfir hvernig á að endurheimta RAID bilanir og offramboð. Hins vegar þarftu að muna að þessi tækni er geymslulausn og KOMUR EKKI í stað öryggisafrita.

Meginreglurnar sem útskýrðar eru í þessari handbók eiga jafnt við um allar RAID uppsetningar, sem og hugtökin sem við munum fjalla um í næstu og síðustu handbók þessarar röð (RAID stjórnun).

Ef þú hefur einhverjar spurningar um þessa grein, ekki hika við að senda okkur athugasemd með því að nota athugasemdareyðublaðið hér að neðan. Okkur hlakkar til að heyra frá þér!