Upload
leagaga
View
37
Download
4
Embed Size (px)
DESCRIPTION
RAID, virtualizacija, podaci, skladište
Citation preview
Redundant Array of Independent Disks (RAID)
• Izmišljen 1986/1987 godine od strane studenata UC Berkeley
• Prvobitno nazvan Redundant Array of Inexpensive Disks
Redundant Array of Independent Disks (RAID)
Redundant Array of Independent Disks (Redundantni Niz Nezavisnih Diskova) se danas koristi kao termin za skladištenje podataka pri čemu se podaci mogu podeliti ili ponoviti između više fizičkih diskova.
RAID je primer za virtualizaciju skladištenja podataka. Često se kaže da se fizički diskovi nalaze u RAID-u, ali oni se zapravo nalaze u RAID Array-u (nizu).
Fizički diskovi u RAID Array-u čine logički disk, a nizu se može pristupiti od strane operativnog sistema kao jednom disku.
Osnovna ideja RAID-a
Brzina hard diskova ne odgovara brzini drugih hardverskih komponenti:
• Murov zakon – Brzina procesora se udvostručuje svakih 18 meseci.
• Brzina RAM memorije se povećava 40-100% na godišnjem nivou.
• Brzina učitavanja podataka sa hard diska se uvećava 7% na godišnjem nivou.
• Veća iskorišćenost kapaciteta diska dovodi do bržeg učitavanja podataka.
Pojava personalnih računara utiče na smanjenje troškova diskova:
• Ako ste zaboravili, ovo je 1988. godina.
• Veličina diskova je jako mala, a brzina neznatno sporija u odnosu na današnje, ali
postaju sve jeftiniji i pristupačniji.
Postoje standardni RAID nivoi 0, 1, 2, 3, 4, 5, 6 i 10.
RAID0
Osnovna ideja: Napraviti I/O sisteme kao nizove jeftinih diskova
•Dozvoliti da podaci budu raspoređeni na više diskova.
•Dozvoliti da može da se čita/piše na više diskova paralelno – u velikoj meri se poboljšavaju
performanse i ubrzava pristupanje podacima (RAID0 – Striping).
Problem: Diskovi su izuzetno nepouzdani
Srednje vreme do otkaza (Mean Time to Failure – MTTF)
•MTTF (niz diskova) = MTTF (pojedinačni disk) / # (broj diskova)
•Dodavanje većeg broja diskova znači da je verovatnoća da se desi propust i otkazivanje
niza češća.
•Npr. niz od 100 diskova sa MTTF od 30.000 sati = nešto manje od 2 nedelje
– X = 30.000h / 100 = 300h/24h = 12.5d
RAID1
Osnovna ideja: Povećanje pouzdanosti
• Replikacija (kopiranje) podataka na više diskova.
• Kada jedan disk otkaže, izgubljeni podaci se mogu regenerisati sa redundantnog diska.
• Diskovi u RAID Array-u ne mogu zameniti backup.
Najjednostavnija forma: Mirroring (preslikavanje) poznata kao RAID1
• Svi podaci se preslikavaju sa jednog na drugi disk.
Prednosti:
• Iščitavanje podataka je brže, jer sa oba diska se može iščitavati paralelno.
• Veća je pouzdanost očuvanja podataka.,
Mane:
• Upisivanje podataka je nešto sporije, jer operativni sistem mora da sačeka da bi
podatke upisao na oba diska.
• Veći su i troškovi jer ovakav pristup udvostručuje troškove skladištenja podataka.
Bitovi parnosti
Mnogi RAID nivoi uključuju zaštitu šeme od greške koja se zove „parnost. Ovaj metod je široko korišćen u informacionim tehnologijama da pruži zaštitu od otkazivanja u datom skupu podataka.
Većina koristi jednostavnu XOR parnost.
RAID3
Osnovna ideja: Umesto preslikavanja, koriste se bitovi parnosti
•U nizu od N bitova {b1, b
2, … b
N}, bitovi parnosti P mogu biti ili bit 0 ili bit 1 tako da daju
paran broj „1“ bita u skupu {b1, b
2, … b
N, P}.
•Ako se bilo koji bit iz niza {b1, b
2, … b
N} „izgubi“, mogu se iskoristiti preostali bitovi iz niza i
bit parnosti (P) da bi se „izgubljeni“ bitovi „povratili“.
Gde uskladištiti bitove parnosti ?
•U niz je potrebno dodati još jedan hard disk za skladištenje bitova parnosti sa preostalih N
diskova iz niza.
Prednosti:
•Ako jedan disk iz niza otkaže, podaci se brzo i lako mogu povratiti uz pomoć preostalih
diskova i diska određenog za proveru parnosti bita.
Mane:
•Svako upisivanje podataka u blok mora ažurirati i odgovarajuću blok pariteta.
Primer RAID3
Izmena na nekom fajlu povlači za sobom i izmenu određenog bita na disku na
osnovu koje se proverava i ažurira bit parnosti na disku za proveru.
Primer RAID3
Replikacija izgubljenih podataka na novom disku uz pomoć podataka sa
preostalih diskova u nizu i diska za proveru.
1. Iščitavanje podataka sa drugih diskova
2. Preračunavanje izgubljenih podataka uz pomoć podataka sa diska za proveru
3. Replikacija podataka sa izgubljenog diska na novi disk u nizu pomoću bitova
parnosti
RAID3 Problemi
Kao i RAID1 i RAID3 toleriše otkazivanje jednog diska.
•Sve je u redu dok neki drugi disk u nizu ne otkaže pre nego što se završi kopiranje
podataka na prvi disk koji je otkazao.
Koja je verovatnoća da otkažu dva diska u isto vreme?
Period
(2. disk koji je otkazao) = MTTR / (MTTF jednog diska / (broj diskova -1))
•MTTR (Mean Time To Repair) – Srednje vreme da se na zamenski disk u nizu iskopiraju svi
podaci.
Primer: Broj diskova = 3, MTTF(diska) = 1000dana, MTTR = 1 dan.
•Period
(2. disk koji je otkazao) = 1 / (1000 / 2) = 0.002
Koje su performanse RAID3 niza?
•Na disku za proveru se moraju ažurirati bitovi parnosti svaki put kada dođe do upisivanja
podataka na diskove u nizu što dovodi do opterećenja i uskog grla.
RAID5
Drugačiji pristup: Ispreplitani bitovi parnosti.
•Prepliće kontrolne bitove diskova na sve diskove niza.
•Izbegava usko grlo na jednom disku za skladištenje kontrolnih bitova.
•Omogućava bolje performanse prilikom upisivanja/čitanja podataka jer se isto vrši na više
diskova paralelno.
Problemi: Podaci i kontrolni podaci mogu biti ostavljeni u nekonzistentnom (neravnomernom) rasporedu na različitim diskovima.
•U ovom slučaju je podatke sa diska u nizu koji otkaže jako teško povratiti.
•Ovakve situacije se predupređuju RAID kontrolerima koji pamte keš vrednosti
•Kada dođe do oporavka diska potrebno je obrisati sve unose kontrolnih bita sa svih
diskova.
•Smanjuje upotrebni prostor za veličinu jednog hard diska u nizu.
•Ovakav pristup ne rešava problem u celini ali daje neko osiguranje.
RAID0+1 i RAID1+0
Predstavljaju kombinovanje RAID0 i RAID1 nizova.
• Minimalan broj diskova za konfigurisanje je 4 diska.
• Postoji dva niza RAID0 koji se potom konfigurišu u RAID1 niz, odnosno obrnuto.
Standardni nivoi RAID nizova
• RAID 0: minimalan broj diskova u nizu - 2, FT=0diskova
• RAID 1: minimalan broj diskova u nizu - 2, FT=n-1disk
• RAID 2: minimalan broj diskova u nizu - 3, FT=variable
• RAID 3: minimalan broj diskova u nizu - 3, FT=1disk
• RAID 4: minimalan broj diskova u nizu - 3, FT=1disk
• RAID 5: minimalan broj diskova u nizu - 3, FT=1disk
• RAID 6: minimalan broj diskova u nizu - 4, FT=2disk
• RAID 10 (RAID1+RAID0): minimalan broj diskova u nizu - 4, FT=1disk ili ceo jedan span (diskovi u konfiguraciji RAID1)
*FT – Fault tolerance
Nestandardni nivoi RAID nizova
Mnoge konfiguracije su drugačije od standardnih brojeva RAID nivoa. Mnoge kompanije, organizacije i grupe su napravile svoje nestandardne konfiguracije uglavnom za specijalne potrebe.
Linux MD RAID10 vrši implementaciju RAID kontrolera koji podrazumeva standardni RAID1 nivo sa dva diska i standardni RAID1+0 sa četiri diska, ali zapravo može imati bilo koji broj diskova (čak i neparan). Može funkcionisati i po principu bitova parnosti ali i na principu preslikavanja (RAID1).
Hadoop ima RAID sistem koji generiše bitove parnosti putem XOR-a i čuva ih u jednom HDFS fajlu.
RAID nije rezervna kopija podataka
RAID sistem koji se koristi kao sekundarno skladište nije alternativa za pravljenje rezervnih kopija podataka.
U nivoima većim od RAID0, niz štiti od katastrofalnog gubitka podataka uzrokovanim fizičkim oštećenjem ili greškom na jednom disku u okviru niza.
RAID može biti dobar oslonac za sigurnost podataka, ali isto tako može biti poražen od katastrofalnog otkaza koji prevazilazi njegovu sposobnost oporavka.
Ceo niz je u opasnosti od fizičkih oštećenja, strujnog napona, vatre, vode, i sl., zato je potrebno posedovati rezervne kopije podataka van lokacije.
Implementacija RAID niza
Distribucija podataka na više diskova može biti realizovana ili pomoću namenskog hardvera (RAID kontroler) ili pomoću softvera.
Softversko rešenje može biti deo operativnog sistema ili firmware-a i upravljača dobijenog sa hardverskim RAID kontrolerom.
Implementaciju softverskog RAID-a sada omogućavaju mnogi operativni sistemi i predstavlja sloj koji apstrahuje više fizičkih skladišta podataka čime obezbeđuje jedno virtualno skladište podataka.
RAID implementacija na nivou operativnog sistema nije uvek kompatibilna sa sistemskim boot procesima i često je nepraktična za kućnu verziju Windows-a.
Implementacija RAID niza
Hardverski RAID kontroleri su veoma skupi i svojstveni. Kako bi se ova mogućnost približila običnim korisnicima uvedeni su jeftini RAID kontroleri koji ne sadrže namenski čip već standardni kontroler diska sa posebnim firmware-om i upravljačkim softverom.
Tokom rane faze boot-ovanja operativnog sistema RAID se realizuje pomoću firmware-a, a kada se operativni sistem u potpunosti učita, tada upravljači u potpunosti preuzimaju kontrolu.
Slabosti RAID nizova
U praksi, diskovi su često istih godina sa sličnim vekom trajanja, sličnim habanjem i podležu istom okruženju. Mnogi diskovi otkazuju usled mehaničkih problema.
Šansa da i drugi disk iz npr. RAID1 niza otkaže pre nego što se prvi disk oporavi što će prouzrokovati gubitak svih podataka su malo verovatne.
Kapaciteti diskova su se godinama povećavali dok brzina prenosa nije proporcionalno rasla već je ostajala uglavnom nepromenjena. Zbog toga, diskovima velikih kapaciteta je potrebno više sati, ako ne i dana da se obnove.
Ako se boot disk pokvari, sistem mora biti dovoljno sofisticiran da se boot-uje pomoću preostalog diska.