Zamjena neuspjelog diska u ZFS korijenu
Uvodna koncepta
Ovaj dokument služi kao vodiči za administratore i osobe koje posjeduju određenu razinu znanja o hardverskim platformama i konceptima pohrane, kao što je RAID. Ako već posjedujete dobro razumijevanje općeg procesa greške, možete preskočiti na dijelove o zamjeni diska i popravci bazena.
Stupnjevi detaljnosti
Svaki put kada disk ne uspije ili ima greške, SmartOS zapisuje veliku količinu informacija. Detaljnije istraživanje je potrebno kako bi se otkrilo što uzrokuje grešku diska. Dolje su naredbe u silaznom redoslijedu detaljnosti:
Naredba 'zpool status' pruža pregled zdravlja bazena.
iostat nam pruža brojeve grešaka na visokoj razini kao i specifične informacije o uređajima.
fmadm faulty će nam pomoći da preciznije odredimo što je uzrokovalo grešku diska. fmadm je također sposoban čistiti privremene greške;
Naredba fmdump nam pruža zapisnik zadnjih {n} dana greške događaja.
Osim zamjene neispravnih diskova, ove informacije mogu biti izuzetno korisne u izoliranju osnovnog uzroka problema ako je problem kompleksniji od jednostavne greške diska.
Opći proces greške
U sustavu, kada dođe do greške diska, ZFS nije prva komponenta koja je otkriva i reagira na nju. Umjesto toga, slijedi sljedeći opći redoslijed događaja:
1. FMA (Fault Management Architecture) otkriva i bilježi neuspješan disk. FMA nadzire i upravlja greškama hardvera u sustavu.
2. Kada FMA otkrije neuspješan disk, operacijski sustav intervira i uklanja disk iz sustava.
3. ZFS, koji je robustan i skalabilan datotečni sustav, tada postaje svjestan promijenjenog stanja. ZFS otkriva da je disk uklonjen i reagira markiranjem uređaja kao neispravan. Označavanje uređaja kao neispravnog znači da ZFS označava disk kao neispravan i poduzima potrebne mjere kako bi se održala integritet podataka i dostupnost.
Ovaj opći proces greške osigurava da se sve greške diska u sustavu brzo otkriju, zabilježe i na koje odgovore relevantne komponente. FMA poduzima početni korak identificiranja neuspješnog diska, slijedi operacijski sustav koji ga uklanja, i konačno, ZFS koji reagira na promijenjeno stanje markiranjem uređaja kao neispravnog. Slijeđenjem ovog redoslijeda događaja, sustav može učinkovito rukovati greškama diska i održavati cjelokupnu stabilnost i pouzdanost infrastrukture pohrane.
Napomenite da je ovo opći opis procesa greške i može se razlikovati ovisno o specifičnoj implementaciji i konfiguraciji sustava.
Kako zamijeniti disk
Pregled na visokoj razini zamjene neuspješnog diska u ZFS root-u
Napomena: Prije nego što nastavite s procesom zamjene diska, provjerite da ste ispravno identificirali neuspješan disk. Također, provjerite da imate rezervni disk dostupan za zamjenu.
Vodiči korak po korak za zamjenu neuspješnog diska u ZFS root-u
Pretpostavimo da server ima 2 diska: /dev/sda i /dev/sdb
Jedan od diskova je neuspješan, na primjer /dev/sdb
Oštećeni disk trebada biti zamijenjen.
Prvo, definirajmo naš bazen s naredbom:
zpool list

Prije zamjene diska, preporučljivo je ukloniti disk iz niza:
zpool detach rpool /dev/sdb
Dalje, isključite server ako ne možete toplo zamijeniti diskove, ali sve opisano dolje se može napraviti bez zaustavljanja servera - ako imate kontroler i hotswap
poweroff
Fizički zamijenite oštećeni disk.
Određivanje tablice particija (GPT ili MBR) i prijenos na novi disk
Nakon zamjene oštećenog diska, trebate odrediti je li tablica particija GPT ili MBR.
Za to koristite gdisk. Instalirajte gdisk:
apt-get install gdisk -y
Pokrenite naredbu:
gdisk -l /dev/sda
Gdje je /dev/sda validan disk u RAID-u.
Za MBR ispis će biti približno sljedeći:
Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: not present
Za GPT, to je otprilike sljedeće:
Partition table scan: MBR: protective BSD: not present APM: not present GPT: present
Prije dodavanja diska u niz, trebada biti particioniran točno kao dobar sda disk. Ovo se radi drugačije ovisno o particioniranju diska.
Kopiranje particioniranja za GPT
Za kopiranje GPT particioniranja:
Napomena!
Prvo je disk na koji se kopira particioniranje, a drugi je disk iz kojeg se kopira particioniranje.
Ako ih miješate, particioniranje na prvobitno dobrom disku će biti uništeno.
sgdisk -R /dev/sdb /dev/sda
Dodijelite novi nasumičan UUID disku:
sgdisk -G /dev/sdb
Kopiranje particioniranja za MBR
Za kopiranje MBR particioniranja:
Napomena!
Ovdje prvo napišete disk iz kojeg prenosite particioniranje, a drugo disk na koji prenosite particioniranje.
sfdisk -d /dev/sda | sfdisk /dev/sdb
Ako particije nisu vidljive u sustavu, možete ponovno pročitati tablicu particija s naredbom:
sfdisk -R /dev/sdb
Instalacija bootloadera
Nakon particioniranja diska, trebate instalirati bootloader na njega:
grub-install /dev/sdb
Dodavanje diska
Specificira koji disk trebamo zamijeniti (u našem slučaju je to /dev/sdb3):
zpool replace rpool /dev/sdb3
Dodavanje diska u raid:
zpool online rpool /dev/sdb3
Čekajte da se sinkronizacija niza završi:
zpool status
Zaključak
Slijeđenjem ovih uputa, možete uspješno zamijeniti neuspješan disk u ZFS root-u bez kompromitiranja integriteta vaših podataka. Bitno je poduzeti mjere opreza i izvršiti korake sigurnosnog kopiranja i provjere kako bi se izbjegao mogući gubitak podataka i osigurao glatko funkcioniranje.