29
Virtualizacija skladišta podataka Dušan Stamenković, M.Sc. Beograd, 2014.

Virtualizacija Skladišta Podataka

  • Upload
    leagaga

  • View
    37

  • Download
    4

Embed Size (px)

DESCRIPTION

RAID, virtualizacija, podaci, skladište

Citation preview

Virtualizacija skladišta podataka

Dušan Stamenković, M.Sc.

Beograd, 2014.

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 (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

RAID0

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.

RAID1

Primer RAID 0 i 1

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

Raspoređivanje bloka bitova i bita parnosti na disku određenom za proveru.

Primer RAID3

Raspoređivanje bloka bitova i bita parnosti na disku određenom za proveru.

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

Otkazivanje jednog od diskova u nizu.

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.

Primer RAID5

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.

Primer RAID10

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.