Razlika između inačica stranice RAID dokumentacija
Nije prikazano 6 međuinačica istog suradnika | |||
Redak 7: | Redak 7: | ||
===Namjena=== | ===Namjena=== | ||
U današnje vrijeme tvrdi diskovi više nisu skupi kao nekada, te su prilično dostupni svima. S druge strane, količina važnih podataka u digitalnom obliku se stalno povećava i potreba za sigurnim spremanjem (back-up-om) se također povećava. U koliko imate računalo u koje možete smjestiti više od jednog tvrdog diska (uglavnom sva stolna računala), onda možete oformiti i RAID za vlastite potrebe. Kada ga jednom podesite i pustite u rad, RAID je puno zahvalniji i jednostavniji nego stalno ručno ili automatsko čekanje na back-up podataka. Osim toga takvo spremanje podataka radite periodički (dnevno, tjedno, mjesečno) a u RAID polju vaši podaci su '''stalno''' sigurni. U slučaju kvara na jednom tvrdom disku, vaši podaci su i dalje dostupni i dovoljno je samo zamijeniti pokvareni disk i polje se vrlo jednostavno dovodi u ispravno (nedegradirano) stanje. | U današnje vrijeme tvrdi diskovi više nisu skupi kao nekada, te su prilično dostupni svima. S druge strane, količina važnih podataka u digitalnom obliku se stalno povećava i potreba za sigurnim spremanjem (back-up-om) se također povećava. U koliko imate računalo u koje možete smjestiti više od jednog tvrdog diska (uglavnom sva stolna računala), onda možete oformiti i RAID za vlastite potrebe. Kada ga jednom podesite i pustite u rad, RAID je puno zahvalniji i jednostavniji nego stalno ručno ili automatsko čekanje na back-up podataka. Osim toga takvo spremanje podataka radite periodički (dnevno, tjedno, mjesečno) a u RAID polju vaši podaci su '''stalno''' sigurni. U slučaju kvara na jednom tvrdom disku, vaši podaci su i dalje dostupni i dovoljno je samo zamijeniti pokvareni disk i polje se vrlo jednostavno dovodi u ispravno (nedegradirano) stanje. | ||
+ | |||
+ | Ali(!), RAID nije backup, pa podaci na RAID-u i dalje trpe gubitke od oštećenja ljudskim faktorom (slučajno brisanje ili kriva promjena podataka) i oštećenja prepisivanjem druge vrste. Kako bi se ovo izbjeglo RAID bi trebao imati opciju ''snapshoting''-a cijelog ili dijela diska. ''Snaphoting'' omogućuje verzioniranje podataka, te je moguće vratiti datoteku sa zadnjim izmjenama. Na žalost, softverski RAID to nema (to primjerice ima RAID-Z - RAID od Sun-ovog ZFS datotečnog sustava kojeg zbog nekompatibilnih licenci ne nalazimo u Linux kernelu) | ||
===Vrste=== | ===Vrste=== | ||
Redak 44: | Redak 46: | ||
Namjena je ovih poglavlja da na jednostavan način upoznaju korisnika sa naredbama za kreiranje, slaganje, rasformiranje, povećanje i ostale radnje sa RAID sustavom. | Namjena je ovih poglavlja da na jednostavan način upoznaju korisnika sa naredbama za kreiranje, slaganje, rasformiranje, povećanje i ostale radnje sa RAID sustavom. | ||
− | Prije svega važno je napomenuti da Linux RAID polje naziva /dev/md'''x''' uređajem, gdje je '''x''' redni broj polja u sistemu. U koliko se na RAID polju formiraju particije, onda se uređaj naziva /dev/md'''x'''p'''y''', gdje je '''y''' redni broj particije. | + | Prije svega važno je napomenuti da Linux RAID polje naziva /dev/md'''x''' uređajem (multiple disk, odnosno višestruki disk), gdje je '''x''' redni broj polja u sistemu. U koliko se na RAID polju formiraju particije, onda se uređaj naziva /dev/md'''x'''p'''y''', gdje je '''y''' redni broj particije. |
Također, u nađem primjeru kojeg smo koristili u poglavljima koristili smo 4 diska kapaciteta od 8 GB i jedan kapaciteta 16 GB. Nazivi diskova: /dev/sdc, /dev/sdd, /dev/sde, /dev/sdf, /dev/sdg | Također, u nađem primjeru kojeg smo koristili u poglavljima koristili smo 4 diska kapaciteta od 8 GB i jedan kapaciteta 16 GB. Nazivi diskova: /dev/sdc, /dev/sdd, /dev/sde, /dev/sdf, /dev/sdg | ||
Redak 121: | Redak 123: | ||
# mdadm --run /dev/md0 | # mdadm --run /dev/md0 | ||
− | ===Dodavanje novog diska u RAID polje=== | + | ===Dodavanje novog rezervnog diska u RAID polje=== |
Odmah napominjemo da se novi diskovi u polje prijavljuju isključivo kao rezervni (spare), a RAID podsustav ih upotrebljava prema potrebi ili ih sami upotrebljavamo naredbom za povećanje postojećeg polja. | Odmah napominjemo da se novi diskovi u polje prijavljuju isključivo kao rezervni (spare), a RAID podsustav ih upotrebljava prema potrebi ili ih sami upotrebljavamo naredbom za povećanje postojećeg polja. | ||
Redak 137: | Redak 139: | ||
# mdadm --fail /dev/md0 /dev/sdg | # mdadm --fail /dev/md0 /dev/sdg | ||
U koliko u sistemu imamo prijavljen jedan ispravni rezervni disk, sustav će ga odmah prihvatiti i napraviti popravak degradiranog polja. | U koliko u sistemu imamo prijavljen jedan ispravni rezervni disk, sustav će ga odmah prihvatiti i napraviti popravak degradiranog polja. | ||
+ | |||
+ | ===Povećanje kapaciteta postojećeg RAID polja=== | ||
+ | RAID5 polje izuzetno je pogodno za nadograđivanje s novim diskovima u sustavu. Dovoljno je prijaviti novi disk kao rezervni, te zadati naredbu sa povećanje polja. Evo kompletnog primjera proširenja RAID5 polja sa tri diska na četiri (dodajemo /dev/sdg disk): | ||
+ | # mdadm --add /dev/md0 /dev/sdg | ||
+ | # mdadm --grow /dev/md0 --raid-devices=4 | ||
+ | Nakon toga potrebno je pričekati dok se polje ne prepravi na rad sa četiri diska. Zatim je potrebno napraviti i promjenu veličine samog datotečnog sustava postavljenog na taj RAID ovako: | ||
+ | # fsck.ext4 /dev/md0 | ||
+ | # resize2fs /dev/md0 | ||
+ | |||
+ | ===Smanjenje kapaciteta postojećeg RAID polja=== | ||
+ | Moguće je i smanjiti aktivno RAID5 polje sa recimo 4 diska na 3, ali se ovdje mora smanjiti i veličina samog polja i definirati backup datoteka van polja. Nakon toga moguće je izuzeti rezervni disk i potpuno ga ukloniti iz polja: | ||
+ | # mdadm --grow /dev/md0 --raid-devices=3 --array-size 16774144 --backup=/root/backup-file | ||
+ | # mdadm --remove /dev/md0 /dev/sdc | ||
+ | |||
+ | Također je potrebno napraviti i promjenu veličine datotečnog sustava: | ||
+ | # fsck.ext4 /dev/md0 | ||
+ | # resize2fs /dev/md0 | ||
+ | |||
+ | ==Rad sa diskovima različitog kapaciteta== | ||
+ | Zgodna osobina softverskog RAID-a je što nije ovisan o tome radi li sa cijelim diskovima ili sa njihovim particijama. Ako u RAID primjerice, postavljamo disk većeg kapaciteta od onih koji već jesu u RAID-u, onda na tom većem disku stvaramo particiju koja je po veličini jednaka po kapacitetu diskovima u polju. Ostatak takvog diska particioniramo dalje kao druge particije i koristimo prema potrebi. | ||
+ | |||
+ | Kao primjer možemo navesti kreaciju RAID5 polja sa tri diska od kojih su dva 8 GB i jedan 16 GB kapaciteta. Iz našeg primjera to su diskovi /dev/sdc, /dev/sdd i /dev/sdg. Ovog posljednje particioniramo na dvije particije od po 8 GB i dobivamo /dev/sdg1 i /dev/sdg2. | ||
+ | |||
+ | Samo RAID5 polje kreiramo ovako: | ||
+ | # mdadm --create /dev/md0 --level=raid5 --raid-devices=3 /dev/sdc /dev/sdd /dev/sdg1 | ||
==Postupak prilikom kvara diska u RAID polju== | ==Postupak prilikom kvara diska u RAID polju== | ||
Redak 145: | Redak 172: | ||
Kako sustav ne može podići /home particiju, vrlo vjerojatno će prijaviti problem već prilikom logiranja u sutav. Iz tog razloga moramo se prijaviti kao root putem konzole. | Kako sustav ne može podići /home particiju, vrlo vjerojatno će prijaviti problem već prilikom logiranja u sutav. Iz tog razloga moramo se prijaviti kao root putem konzole. | ||
− | === | + | ===Pregled stanja RAID-a=== |
Da bi dobili uvid što je pošlo krivo moramo polje prisilno aktivirati, te dobiti trenutno stanje polja naredbama: | Da bi dobili uvid što je pošlo krivo moramo polje prisilno aktivirati, te dobiti trenutno stanje polja naredbama: | ||
# mdadm --run /dev/md0 | # mdadm --run /dev/md0 | ||
Redak 183: | Redak 210: | ||
Pod ''State'' stoji ''clean, degraded'', te vidimo pri dnu da srednji ''RaidDevice'' nedostaje. | Pod ''State'' stoji ''clean, degraded'', te vidimo pri dnu da srednji ''RaidDevice'' nedostaje. | ||
− | === | + | U slučaju da smo imali prijavljen jedan rezervni uređaj u RAID polju, popravak bi započeo odmah po zadavanju --run naredbe. |
+ | |||
+ | ===Zamjena pokvarenog diska=== | ||
Ono što moramo napraviti jest jednostavna fizička zamjena pokvarenog diska s ispravnim, te prijava tog novog diska u RAID polje. Nakon prijave novog diska kao rezervnog u polje, RAID će odmah, automatski početi sa popravkom. Nikakve daljnje akcije nisu potrebne, osim malo strpljenja da se polje opet dovede u ispravno stanje. | Ono što moramo napraviti jest jednostavna fizička zamjena pokvarenog diska s ispravnim, te prijava tog novog diska u RAID polje. Nakon prijave novog diska kao rezervnog u polje, RAID će odmah, automatski početi sa popravkom. Nikakve daljnje akcije nisu potrebne, osim malo strpljenja da se polje opet dovede u ispravno stanje. | ||
Redak 225: | Redak 254: | ||
Nakon što sistem ponovo prijavi pod ''State: clean'' možemo rastartati računalo i naša je /home particija opet u aktivnom i ispravnom stanju. | Nakon što sistem ponovo prijavi pod ''State: clean'' možemo rastartati računalo i naša je /home particija opet u aktivnom i ispravnom stanju. | ||
− | |||
− | |||
==Reference i daljnje čitanje== | ==Reference i daljnje čitanje== | ||
*[http://tldp.net/HOWTO/html_single/Software-RAID-HOWTO/ Software RAID - HowTO] | *[http://tldp.net/HOWTO/html_single/Software-RAID-HOWTO/ Software RAID - HowTO] | ||
+ | *[http://en.wikipedia.org/wiki/Standard_RAID_levels Standard RAID Levels] | ||
+ | *[http://man-wiki.net/index.php/8:mdadm mdadm Manual] |
Trenutačna izmjena od 08:04, 13. siječnja 2011.
Sadržaj
- 1 Uvod u RAID
- 2 Rad sa RAID-om u Linuxu
- 2.1 Kreiranje RAID polja
- 2.2 Pregled stanja RAID polja
- 2.3 Deaktiviranje RAID polja
- 2.4 Uspostava RAID polja iz postojećih RAID diskova
- 2.5 Aktiviranje RAID polja
- 2.6 Dodavanje novog rezervnog diska u RAID polje
- 2.7 Uzimanje rezervnog diska iz RAID polja
- 2.8 Proglašenje nekog diska u polju pokvarenim (faulty)
- 2.9 Povećanje kapaciteta postojećeg RAID polja
- 2.10 Smanjenje kapaciteta postojećeg RAID polja
- 3 Rad sa diskovima različitog kapaciteta
- 4 Postupak prilikom kvara diska u RAID polju
- 5 Reference i daljnje čitanje
Uvod u RAID
Značenje
RAID (Redundant Array of Independent (Inexpensive) Disks) ili na hrvatskome jeziku: Redundantno polje neovisnih (jeftinih) diskova čini zapravo jedinstveni uređaj za pohranu podataka koji se sastoji od mnoštva (najmanje 2) tvrda diska, a u svrhu povećanja sigurnosti od gubitka podataka ili zbog druge namjene.
Razlikujemo hardverske RAID-ove, tzv. fake RAID-ove (to su RAID-ovi integrirani na matičnim pločama računala) i softverske RAID-ove. U ovoj dokumentaciji baviti ćemo se softverskim RAID-om dostupnim na svim Linux računalima.
Namjena
U današnje vrijeme tvrdi diskovi više nisu skupi kao nekada, te su prilično dostupni svima. S druge strane, količina važnih podataka u digitalnom obliku se stalno povećava i potreba za sigurnim spremanjem (back-up-om) se također povećava. U koliko imate računalo u koje možete smjestiti više od jednog tvrdog diska (uglavnom sva stolna računala), onda možete oformiti i RAID za vlastite potrebe. Kada ga jednom podesite i pustite u rad, RAID je puno zahvalniji i jednostavniji nego stalno ručno ili automatsko čekanje na back-up podataka. Osim toga takvo spremanje podataka radite periodički (dnevno, tjedno, mjesečno) a u RAID polju vaši podaci su stalno sigurni. U slučaju kvara na jednom tvrdom disku, vaši podaci su i dalje dostupni i dovoljno je samo zamijeniti pokvareni disk i polje se vrlo jednostavno dovodi u ispravno (nedegradirano) stanje.
Ali(!), RAID nije backup, pa podaci na RAID-u i dalje trpe gubitke od oštećenja ljudskim faktorom (slučajno brisanje ili kriva promjena podataka) i oštećenja prepisivanjem druge vrste. Kako bi se ovo izbjeglo RAID bi trebao imati opciju snapshoting-a cijelog ili dijela diska. Snaphoting omogućuje verzioniranje podataka, te je moguće vratiti datoteku sa zadnjim izmjenama. Na žalost, softverski RAID to nema (to primjerice ima RAID-Z - RAID od Sun-ovog ZFS datotečnog sustava kojeg zbog nekompatibilnih licenci ne nalazimo u Linux kernelu)
Vrste
RAID polja imamo više vrsta, a ovise o načinu pohrane podataka na tvrde diskove. Nećemo se baviti sa svim vrstama polja, nego samo s onima koja se najčešće koriste.
RAID0
Zapravo to i nije RAID u doslovnom smislu jer ne nudi nikakvu redundantnost podataka. Dapače, degradira sigurnost jer se povećava vjerojatnost kvara nekog tvrdog diska proporcionalno broju tvrdih diskova. RAID0 (data stripping) je zapravo stvaranje jednog polja kapaciteta jednakog zbroju kapaciteta svih diskova u polju. Naravno, ako dođe do kvara na bilo kojem disku u polju, gube se svi podaci tog polja. Ovaj tip RAID-a koristi se ako imamo veći broj malih diskova i želimo ih spojiti u jednu veliku particiju zbog potrebe za prostorom, a sigurnost nam u tom trenutku nije važna. Također, RAID0 ima nešto bolje performanse pri pisanju i čitanju.
RAID1
Vrlo česti primjer u praksi je RAID1. Radi se o čistom zrcaljenju (mirroring) podataka. Što konkretno znači da se podaci spremaju jednako na sve čvrste diskove u polju. Uobičajeno je koristiti dva tvrda diska u takvome polju, no moguće ih je postaviti bilo koji broj, te se u tom slučaju drastično povećava sigurnost podataka, jer je dovoljno da samo jedan disk preživi, a da ne dođe do gubitka. Kapacitet takvog polja uvijek je jednak kapacitetu najmanjeg diska. Što se brzine pristupa tiče, čitanje se može znatno ubrzati u odnosu na jedan disk, jer su svi podaci s diskova odmah dostupni, pa svaki disk može čitati u isto vrijeme drugi podatak. Iz tog razloga preporuča se postavljanje svakog diska na zasebni kontroler. Pisanje podataka je jednako brzini pisanja na pojedini disk jer se podaci moraju zapisati na sve diskove.
RAID10
Ovo je kombinacija RAID1 i RAID0 polja, a donosi beneficije kod većeg broja diskova. Radi se o tome da se dva ili više mirror polja (RAID1) vežu u jedno stripe RAID0 polje i na taj način povećava kapacitet cijelog polja.
Primjer: Imamo četiri diska kapaciteta 100 GB.
- Ako ih povežemo u RAID0 polje dobivamo kapacitet polja: 4*100=400 GB, no kvarom jednog uređaja gubimo sve podatke.
- Ako ih povežemo u RAID1 polje dobivamo kapacitet polja: 100 GB, no podaci su zapisani četverostruko i imamo (pre)veliku sigurnost
- Ako ih povežemo u RAID10 polje dobivamo kapacitet polja: 100+100 =200 GB, RAID1 + RAID1 = RAID1+0 ili RAID10. Takav RAID0 (stripe) je zaštićen jer su njegove komponente ne pojedinačni diskovi, nego RAID1 (mirror) polja, pa ako dođe do kvara na jednom disku, polje i dalje opstaje.
RAID5
Ovaj RAID poprilično je popularan zbog svoje niske cijene redundantnosti, odnosno broja diskova koji su potrebni. Naime, dok je kod RAID1 i RAID10 polja kapacitet samo s/n, gdje je s zbroj kapaciteta n uređaja, RAID5 ima kapacitet Smin*(n-1), gdje je Smin kapacitet najmanjeg uređaja, a n broj svih uređaja u polju. Ako ovo usporedimo sa primjerom iz gornjeg poglavlja gdje imamo četiri diska kapaciteta 100 GB dobivamo: 100*(4-1)= 300GB, ili točnije kapacitet RAID5 polja je uvijek jednak kapacitetu (n-1) uređaja. Poprilično više nego kod primjerice RAID10 polja gdje je kapacitet 200 GB. Sigurnost je jednaka kao i kod RAID10 polja, odnosno RAID5 trpi gubitak jednog diska u polju. Ako trebate veću sigurnost, onda se prelazi na RAID6 sustav koji trpi gubitak 2 diska.
Minimalni broj diskova u RAID5 polju je tri, a kod RAID6 polja četiri.
No, RAID5 trpi na performansama kod zapisivanja i to posebice kod velikih višekorisničkih baza podataka, dok su mu performanse čitanja gotovo jednake kao kod RAID0 polja.
Ovi loši rezultati kod zapisivanja na polje ne igraju preveliku ulogu pri uobičajenom korištenju računala, gdje je čitanje češće nego zapisivanje podataka. Možemo RAID5 preporučiti kao /home particiju pri uobičajenom radu s računalom ili pak za datotečni server.
RAID5 se vrlo jednostavno nadograđuje. Dovoljno je umetnuti novi disk, te ga prijaviti u polje.
Rad sa RAID-om u Linuxu
Namjena je ovih poglavlja da na jednostavan način upoznaju korisnika sa naredbama za kreiranje, slaganje, rasformiranje, povećanje i ostale radnje sa RAID sustavom.
Prije svega važno je napomenuti da Linux RAID polje naziva /dev/mdx uređajem (multiple disk, odnosno višestruki disk), gdje je x redni broj polja u sistemu. U koliko se na RAID polju formiraju particije, onda se uređaj naziva /dev/mdxpy, gdje je y redni broj particije.
Također, u nađem primjeru kojeg smo koristili u poglavljima koristili smo 4 diska kapaciteta od 8 GB i jedan kapaciteta 16 GB. Nazivi diskova: /dev/sdc, /dev/sdd, /dev/sde, /dev/sdf, /dev/sdg
Uspješno kreirani /dev/mdx RAID uređaj ponaša se kao uobičajeni disk kojeg se particionira i formatira na bilo koji željeni datotečni sustav i montira na uobičajeni način.
Za sve radove sa RAID-om koristi se mdadm naredba iz terminala. Ne postoji GUI alat za ovu namjenu.
Kreiranje RAID polja
Prilikom kreiranja RAID polja potrebno je navesti ime uređaja polja, nivo (level) polja (raid0, raid1, raid10, raid5...) broj diskova u polju i navesti imena uređaja od kojih će se polje stvoriti.
Stvaramo RAID1 polje /dev/md0 od 2 diska /dev/sdc i /dev/sdd:
# mdadm -v --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sdc /dev/sdd
Stvaramo RAID5 polje /dev/md0 od 3 diska /dev/sdc, /dev/sdd i /dev/sde:
# mdadm -v --create /dev/md0 --level=raid5 --raid-devices=3 /dev/sdc /dev/sdd /dev/sde
Moguće je pri kreiranju polja navesti i ime rezervnog diska kojim će se polje automatski poslužiti u koliko dođe do kvara na jednom od diskova (primjer sa kreiranjem RAID10 polja s 4 diska + 1 rezervni):
# mdadm -v --create /dev/md0 --level=raid10 --raid-devices=4 /dev/sdc /dev/sdd /dev/sde /dev/sdf --spare-devices=1 /dev/sdg
Nakon kreiranja RAID polja moramo ga prijaviti u sistem kako bi se isto automatski aktiviralo prilikom podizanja sustava, te eventualno montiralo putem fstab tablice.
# mdadm -Es >> /etc/mdadm.conf
Pregled stanja RAID polja
Ako želimo saznati detalje o aktivnom RAID polju, to postižemo slijedećom naredbom
# mdadm --detail /dev/md0
Naredba daje ovakav rezultat:
/dev/md0: Version : 1.2 Creation Time : Wed Jan 12 12:49:59 2011 Raid Level : raid10 Array Size : 16774144 (16.00 GiB 17.18 GB) Used Dev Size : 8387072 (8.00 GiB 8.59 GB) Raid Devices : 4 Total Devices : 5 Persistence : Superblock is persistent Update Time : Wed Jan 12 12:51:59 2011 State : active Active Devices : 4 Working Devices : 5 Failed Devices : 0 Spare Devices : 1 Layout : near=2 Chunk Size : 512K Name : Arch-vbox:0 (local to host Arch-vbox) UUID : ba5baaa6:c6046fe9:3e1afcd4:e4ff0cee Events : 18 Number Major Minor RaidDevice State 0 8 33 0 active sync /dev/sdc 1 8 48 1 active sync /dev/sdd 2 8 64 2 active sync /dev/sde 3 8 80 3 active sync /dev/sdf 4 8 96 - spare /dev/sdg
Deaktiviranje RAID polja
Polje možemo deaktivirati ako smo ga prethodno odmontirali sa aktivnog stabla ovako:
# mdadm --stop /dev/md0
Uspostava RAID polja iz postojećih RAID diskova
U koliko želimo ponovo pokrenuti RAID polje iz diskova koji su dio RAID polja, tada to radimo ovako:
# mdadm --assemble --scan
Sustav će sam odskanirati sve diskove u sustavu (onako kako mu je to zadano u mdadm.conf datoteci) i ponovo složiti prethodno deaktivirano RAID polje. Zbog ovoga je bitno nakon kreacije polja podatke o istom zapisati u mdadm.conf datoteku!
Ova procedura se automatski izvršava prilikom svakog pokretanja računala.
Aktiviranje RAID polja
Ukoliko je polje uspostavljeno preko --assemble naredbe ili prilikom pokretanja računala, a došlo je do kvara na jednom od diskova, polje će se uspostaviti ali ne i aktivirati. Prisilno aktiviranje takvog degradiranog polja možemo postići sa:
# mdadm --run /dev/md0
Dodavanje novog rezervnog diska u RAID polje
Odmah napominjemo da se novi diskovi u polje prijavljuju isključivo kao rezervni (spare), a RAID podsustav ih upotrebljava prema potrebi ili ih sami upotrebljavamo naredbom za povećanje postojećeg polja.
U primjeru dodajemo rezervni disk /dev/sdg u polje /dev/md0:
# mdadm --add /dev/md0 /dev/sdg
Uzimanje rezervnog diska iz RAID polja
Iz RAID polja moguće je izuzeti rezervne diskove i to naredbom:
# mdadm --remove /dev/md0 /dev/sdg
Proglašenje nekog diska u polju pokvarenim (faulty)
Da bismo mogli neki aktivni disk u polju deaktivirati i izuzeti iz polja, primjerice zato jer se s njime nešto čudno počelo dešavati ili S.M.A.R.T. prijavljuje skori kvar, moramo ga prijaviti RAID-u kao pokvareni. Nako prijave, taj disk odmah postaje pokvareni rezervni (faulty spare) disk i lako ga izuzimamo sa --remove naredbom.
Naredba za proglašenej diska pokvarenim je:
# mdadm --fail /dev/md0 /dev/sdg
U koliko u sistemu imamo prijavljen jedan ispravni rezervni disk, sustav će ga odmah prihvatiti i napraviti popravak degradiranog polja.
Povećanje kapaciteta postojećeg RAID polja
RAID5 polje izuzetno je pogodno za nadograđivanje s novim diskovima u sustavu. Dovoljno je prijaviti novi disk kao rezervni, te zadati naredbu sa povećanje polja. Evo kompletnog primjera proširenja RAID5 polja sa tri diska na četiri (dodajemo /dev/sdg disk):
# mdadm --add /dev/md0 /dev/sdg # mdadm --grow /dev/md0 --raid-devices=4
Nakon toga potrebno je pričekati dok se polje ne prepravi na rad sa četiri diska. Zatim je potrebno napraviti i promjenu veličine samog datotečnog sustava postavljenog na taj RAID ovako:
# fsck.ext4 /dev/md0 # resize2fs /dev/md0
Smanjenje kapaciteta postojećeg RAID polja
Moguće je i smanjiti aktivno RAID5 polje sa recimo 4 diska na 3, ali se ovdje mora smanjiti i veličina samog polja i definirati backup datoteka van polja. Nakon toga moguće je izuzeti rezervni disk i potpuno ga ukloniti iz polja:
# mdadm --grow /dev/md0 --raid-devices=3 --array-size 16774144 --backup=/root/backup-file # mdadm --remove /dev/md0 /dev/sdc
Također je potrebno napraviti i promjenu veličine datotečnog sustava:
# fsck.ext4 /dev/md0 # resize2fs /dev/md0
Rad sa diskovima različitog kapaciteta
Zgodna osobina softverskog RAID-a je što nije ovisan o tome radi li sa cijelim diskovima ili sa njihovim particijama. Ako u RAID primjerice, postavljamo disk većeg kapaciteta od onih koji već jesu u RAID-u, onda na tom većem disku stvaramo particiju koja je po veličini jednaka po kapacitetu diskovima u polju. Ostatak takvog diska particioniramo dalje kao druge particije i koristimo prema potrebi.
Kao primjer možemo navesti kreaciju RAID5 polja sa tri diska od kojih su dva 8 GB i jedan 16 GB kapaciteta. Iz našeg primjera to su diskovi /dev/sdc, /dev/sdd i /dev/sdg. Ovog posljednje particioniramo na dvije particije od po 8 GB i dobivamo /dev/sdg1 i /dev/sdg2.
Samo RAID5 polje kreiramo ovako:
# mdadm --create /dev/md0 --level=raid5 --raid-devices=3 /dev/sdc /dev/sdd /dev/sdg1
Postupak prilikom kvara diska u RAID polju
Zamislimo scenarij u kojem imamo vlastitu /home particiju postavljenu na RAID5 polju sa tri diska i prilikom jednog pokretanja računala dolazi do kvara na jednom od tri diska, te sustav više ne podiže i montira /home particiju nego ostaje u degradiranom, neaktivnom stanju. To je uobičajeno stanje u slučaju kvara na nekom od diskova. Pri tome niti jedan vaš podatak nije izgubljen!
Uz to u polju nemamo prijavljen niti jedan rezervni (spare) disk.
Kako sustav ne može podići /home particiju, vrlo vjerojatno će prijaviti problem već prilikom logiranja u sutav. Iz tog razloga moramo se prijaviti kao root putem konzole.
Pregled stanja RAID-a
Da bi dobili uvid što je pošlo krivo moramo polje prisilno aktivirati, te dobiti trenutno stanje polja naredbama:
# mdadm --run /dev/md0 # mdadm --detail /dev/md0
Tipična slika stanja prikazana je ovdje:
/dev/md0: Version : 1.2 Creation Time : Wed Jan 12 13:43:35 2011 Raid Level : raid5 Array Size : 16774144 (16.00 GiB 17.18 GB) Used Dev Size : 8387072 (8.00 GiB 8.59 GB) Raid Devices : 3 Total Devices : 2 Persistence : Superblock is persistent Update Time : Wed Jan 12 13:46:25 2011 State : clean, degraded Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : Arch-vbox:0 (local to host Arch-vbox) UUID : f1107555:6580de0a:06a60dfa:68049061 Events : 22 Number Major Minor RaidDevice State 0 8 32 0 active sync /dev/sdc 1 0 0 1 removed 3 8 48 2 active sync /dev/sdd
Pod State stoji clean, degraded, te vidimo pri dnu da srednji RaidDevice nedostaje.
U slučaju da smo imali prijavljen jedan rezervni uređaj u RAID polju, popravak bi započeo odmah po zadavanju --run naredbe.
Zamjena pokvarenog diska
Ono što moramo napraviti jest jednostavna fizička zamjena pokvarenog diska s ispravnim, te prijava tog novog diska u RAID polje. Nakon prijave novog diska kao rezervnog u polje, RAID će odmah, automatski početi sa popravkom. Nikakve daljnje akcije nisu potrebne, osim malo strpljenja da se polje opet dovede u ispravno stanje.
Neka se novi disk zove /dev/sdf, pa radimo slijedeće:
#mdadm --add /dev/md0 /dev/sdf
Ako sada pogledamo stanje polja, to izgleda ovako:
/dev/md0: Version : 1.2 Creation Time : Wed Jan 12 13:43:35 2011 Raid Level : raid5 Array Size : 16774144 (16.00 GiB 17.18 GB) Used Dev Size : 8387072 (8.00 GiB 8.59 GB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Wed Jan 12 13:54:49 2011 State : clean, degraded, recovering Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Rebuild Status : 5% complete Name : Arch-vbox:0 (local to host Arch-vbox) UUID : f1107555:6580de0a:06a60dfa:68049061 Events : 28 Number Major Minor RaidDevice State 0 8 32 0 active sync /dev/sdc 4 8 80 1 spare rebuilding /dev/sdf 3 8 48 2 active sync /dev/sdd
Primjećujemo: State : clean, degraded, recovering i spare rebuilding /dev/sdf. Postupak popravka degradiranog RAID5 polja može potrajati i po par sati, no sustav se tada dovodi opet u potpuno ispravno i sigurno stanje.
Nakon što sistem ponovo prijavi pod State: clean možemo rastartati računalo i naša je /home particija opet u aktivnom i ispravnom stanju.