Selles artiklis kirjeldame toiminguid, mis on vajalikud vigase kõvaketta asendamiseks tarkvarapõhises RAID 1 massiivis erinevatel operatsioonisüsteemidel, nagu Linux (CentOS, Debian, Ubuntu) näite varal.
Probleemi tuvastamine
Alustuseks räägime probleemist. Teil on füüsiline server, millel on CentOS 7, milles on kaks 2 TB kõvaketast: /dev/sda ja /dev/sdb. Need kõvakettad on konfigureeritud tarkvaraliseks RAID 1 massiiviks. Eeldame, et ketas sdb on riknenud. Kui vaatate massiivis olevat ketast, näete järgmist:
# cat /proc/mdstat
Meil on kolm massiivi:
# /dev/md125 – /boot
# /dev/md126 – vahemälu
# /dev/md127 – /
Selles olukorras saate näha, et kettad on tõepoolest seadistatud RAID 1 massiivina. Kui massiiv on korras, kuvatakse see kui [UU]. Kuna kettad on peegeldavad, siis iga osakond ühendab endaga ja on nimetatud vastavalt. Näiteks md125 koosneb sda2 ja sdb2-st. Md125 on sel juhul /boot. Ketta jaotust saab üksikasjalikumalt uurida käsu abil:
# lsblk
Kui soovite üksikasjalikumat teavet massiivi ja selles sisalduvate kohta, kasutage käsku:
# mdadm –detail /dev/md125
Vigase ketta eemaldamine
Uue ketta lisamiseks RAID 1 massiivi peate kõigepealt eemaldama riknenud ketta. See protseduur tuleb läbi viia iga osakonna jaoks.
# mdadm /dev/md125 -r /dev/sdb2
# mdadm /dev/md126 -r /dev/sdb1
# mdadm /dev/md127 -r /dev/sdb3
Mõnel juhul võib kõvaketas olla osaliselt kahjustunud. Näide: massiivi /dev/md127 olekuks on [U_], kuid teistel massiividel on olek [UU]. Selles olukorras peate sisestama ainult järgmise käsu:
# mdadm /dev/md127 -r /dev/sdb3
Seejärel kuvatakse muude osakondade olekuna seade /dev/sdb1 ja /dev/sdb2 – korras. Pärast katse osakond massiivist eemaldada kuvatakse tõrge.
Nende parandamiseks ja eemaldamiseks peate sisestama järgmised käsklused:
# mdadm –manage /dev/md125 –fail /dev/sdb2
# mdadm –manage /dev/md126 –fail /dev/sdb1
Sellega muudate nende olekuks [U_]. Jätkake protseduuri, mida teete massiiviga md127.
Vaadake kettaid ja massiivi sisaldavaid osakondi, et veenduda, et ketas on täielikult eemaldatud:
# mdadm –detail /dev/md125
# mdadm –detail /dev/md126
# mdadm –detail /dev/md127
# cat /proc/mdstat
Nüüd on ketas valmis vahetamiseks. Peate saatma päringu meie tugisüsteemi kaudu ketta vahetamiseks ja kooskõlastama tehnikuga tööde teostamise aja.
P.S. Server on teatud aja peatunud!
Uue ketta ettevalmistamine
Partitsioonitabeli (GPT, MBR) määratlemine ja selle teisaldamine uuele kettale.
Uus ketas, olles massiivis, peab omama täpselt sama jaotust. Sõltuvalt kasutatavatest partitsioonitabeli tüüpidest (GPT/MBR) peate kasutama vastavaid utiliite partitsioonitabeli kopeerimiseks.
GPT – sgdisk
MBR – sfdisk
Kuna meil on 2 TB HDD-d, kasutame utiliiti sgdisk. Samuti saate näha, millist osa te uuele kettale kopeerite. Kasutage käsku:
# gdisk -l /dev/sda
Saate utiliidi alla laadida, kasutades oma operatsioonisüsteemi repositooriumi. Sõltuvalt operatsioonisüsteemist peate määrama õige pakihalduri.
CentOS: yum install sgdisk/sfdisk
Debian/Ubuntu: apt install sgdisk/sfdisk
Partitsioonitabeli MBR/GPT loomine ja taastamine
Enne partitsioonitabeli kopeerimist uuele kettale on soovitatav teha sellest varukoopia. Probleemide ilmnemisel saate originaalset partitsioonitabelit taastada.
MBR jaoks
Loo:
# sfsdisk –dump /dev/sdx > sdх_parttable_mbr.bak
Taasta:
# sfdisk /dev/sdb < sdх_parttable_mbr.bak
GPT jaoks
Loo:
# sgdisk –backup=sdх_parttable_gpt.bak /dev/sda
Taasta:
# sgdisk –load-backup=sdх_parttable_gpt.bak /dev/sdb
sda – ketas, millelt koopia tehakse.
sdb – ketas, kuhu partitsioonitabeli koopia laaditakse.
Vigase ketta lisamine pärast asendamist
Liigutage esmalt partitsioonitabeli koopia esimesest kettast uuele kasutades ülalnimetatud käsku. Kui vigane ketas on massiivist eemaldatud, saate lisada uue. Peate selle iga osakonna jaoks läbi viima.
# mdadm /dev/md125 -a /dev/sdb2
# mdadm /dev/md126 -a /dev/sdb1
# mdadm /dev/md127 -a /dev/sdb3
Nüüd on uus ketas massiivi osa. Ketaste sünkroniseerimist saate jälgida, sisestades käsu:
# cat /proc/mdstat