260 likes | 573 Views
Povzeto po [1] in [5]. Diski in diskovna polja. Komponente SUPB za delo s podatki Sestava in delovanje trdih diskov Polja diskov in RAID sistemi. Komponente SUPB za delo s podatki …. Podatki iz PB se hranijo na diskih (in trakovih). Upravljalec prostora na disku ( Disk Space Manager ):
E N D
Povzeto po [1] in [5] Diski in diskovna polja • Komponente SUPB za delo s podatki • Sestava in delovanje trdih diskov • Polja diskov in RAID sistemi - 1 -
Komponente SUPB za delo s podatki… • Podatki iz PB se hranijo na diskih (in trakovih). • Upravljalecprostora na disku (Disk Space Manager): • Najnižja raven SUPB programske opreme – upravlja s prostorom na disku. • Na voljo višjim ravnem za zaseganje/sproščanje strani, za branje in pisanje strani. • Upravljalecmedpomnilnika (Buffermanager): • Skrbi za prenos določene strani iz diska v področje v glavnem pomnilniku - medpomnilnik (bufferpool). • Stran, kjer je zapis, poišče upravljalec z datotekami. Prenos v medpomnilnik izvede upravljalec medpomnilnika. - 2 -
Cena Kapaciteta Hierarhija pomnilnika… CPU Medpomnilnik Zahteva po podatkih Primarni pomnilnik Glavni pomnilnik Prenos podatkov na zahtevo Magnetni disk Sekundarni pomnilnik Magnetni trak Terciarni pomnilnik - 3 -
Hierarhija pomnilnika • Drugi razlogi za shranjevanje podatkov na sekundarnem in terciarnem pomnilniku: • 32 bitni naslovni prostor omogoča naslavljanje samo 232 = 4Gb podatkov ... • podatki morajo biti obstojni (primarni pomnilnik se prazni…) • Stanje glede kapacitete in cene pomnilnikov se hitro spreminja. Najzanesljivejši viri informacij so spletne strani proizvajalcev, preizkuševalcev, trgovin... - 4 -
Magnetni diski… Glava diska Roka diska Sled Blok Sektor Smer premikanja glave - 5 -
Magnetni disk… • Nekaj lastnosti: • Magnetni disk omogoča neposreden dostop do želene lokacije na disku. • Podatki na disku so shranjeni v enotah, imenovanih bloki. • Blok predstavlja zaporedje bajtov in je najmanjša enota, ki se jo lahko bere iz ali piše na disk. • Bloki so organizirani v koncentrične kroge, imenovane sledi. • Sledi se nahajajo na eni ali obeh straneh magnetne plošče. • Vsaka sled je razdeljena na odseke ali sektorje. Sektor je določen z diskom in ga ni mogoče spreminjati. - 6 -
Magnetni disk… • Nekaj lastnosti (nadaljevanje): • Velikost bloka se določi pri formatiranju diska. Njegova velikost je mnogokratnik velikosti sektorja. • Disk ima lahko več glav, ki se premikajo istočasno. • Disk je z računalnikom povezan preko krmilnika. Krmilnik izvaja ukaze za branje in pisanje na disk in zagotavlja pravilnost izvajanja ukazov. • Pri zapisovanju in branju sektorjev se računa kontrolka (checksum) • Tipična velikost plošč: 3.5 inčev. - 7 -
Magnetni disk… • Čas, potreben za dostop do želene lokacije (povprečni dostopni čas): • iskalni čas (premik glave na ustrezno sled) • rotacijska zakasnitev (čakalni čas, da se ustrezen blok na sledi zavrti do glave). Povprečno znaša polovico časa rotacije in je manjši od iskalnega časa. • čas prenosa (dejanski prenos bloka – branje ali pisanje). • Primerjava: • Dostopni čas RAM-a ≈ 10ns • Dostopni čas diska ≈ 10ms. - 8 -
Magnetni disk • Organizacija podatkov na disku je pomembna – vpliva na učinkovitost SUPB: • podatki se morajo pred uporabo prenesti v glavni pomnilnik, • najmanjša enota podatkov, ki se bere ali piše na disk, je blok. • Čas za pisanje ali branje podatkov odvisen od položaja podatkov na disku: dostopni čas=iskalni čas + rotacijska zakasnitev + čas prenosa. • Čas, ki ga SUPB porabi za prenos podatkov, je navadno večji kot čas, potreben za obdelavo določenega podatka. • Podatke je potrebno ustrezno razporediti po disku!!!. - 9 -
Polje diskov… • Disk predstavlja potencialno ozko grlo za učinkovitost SUPB in vpliva na zanesljivost delovanja sistema. • Učinkovitost CPU raste hitreje kot učinkovitost diskov: • CPU: 50% na leto • Diski: 10% na leto • Diski vsebujejo mehanske elemente verjetnost za napake večja kot pri notranjem pomnilniku. • Odpoved diska lahko pomeni katastrofo. • Možna rešitev: polje diskov (disk array). - 10 -
Polje diskov • Polje diskov je povezava več diskov, organiziranih tako, da • povečajo učinkovitost in • izboljšajo zanesljivost. • Učinkovitost povečamo s porazdelitvijo podatkov (data striping): • podatke se porazdeli po več diskih • Zanesljivost povečamo z redundanco podatkov: • Zapisuje se dodatne (redundantne) podatke ali pa se podatke podvaja. V primeru napake omogoča obnovo podatkov. - 11 -
RAID • Diskovna polja, ki implementirajo porazdelitev in podvajanje podatkov imenujejo “Redundant Arrays of Independent Disks” – RAID. • Poznamo več vrst RAID. • Razlikujejo se po kompromisu med učinkovitostjo in zanesljivostjo. - 12 -
RAID – porazdelitev podatkov… • RAID s porazdelitvijo podatkov: • Uporabniku se kaže kot zelo velik disk. • Podatki se razdelijo na enake enote (striping units), ki se zapišejo na več diskov. Vsaka enota na en disk. • Enote se po diskih distribuirajo po “round robin” algoritmu: če polje vključuje D diskov, se enota i zapiše na “i mod D” disk. - 13 -
RAID – porazdelitev podatkov… • Primer: • RAID z D diski v polju. • RAID enota = 1 bit. • Vsakih D zaporednih bitov se porazdeli na D diskov. • Vsaka I/O operacija vključuje vseh D diskov. • Najmanjša enota prenosa je 1 blok vsaka I/O operacija prenese vsaj D blokov. • Ker lahko beremo na vseh diskih paralelno, je pohitritev prenosa podatkov v primerjavi z enim diskom D-kratna. • Dostopni čas se v primerjavi z enim diskom ne spremeni. • Sledi: v primerjavi z enim diskom ne pridobimo bistveno. - 14 -
RAID – porazdelitev podatkov • Primer: • RAID z D diski v polju. • RAID enota = 1 blok. • Vsakih D zaporednih blokov se porazdeli na D diskov. • I/O operacija velikosti 1 blok vključuje le 1 disk. • Pri več zaporednih I/O operacijah dolžine 1 blok in pri pravilno porazdeljenih blokih lahko operacije izvajamo paralelno. • Sledi: • V primerjavi z enim diskom zmanjšamo povprečni dostopni čas I/O operacije. • Če I/O operacija vključuje več zaporednih blokov, jo lahko procesiramo paralelno na več diskih. - 15 -
RAID – redundanca podatkov… • Z več diski se poveča učinkovitost sistema za shranjevanje, vendar zmanjša njegova zanesljivost. • Primer: • MTTF (mean-time-to-failure) enega diska ≈ 50.000 ur (5,7 let). Pri 100 diskih v polju znaša MTTF 50.000/100 ≈ 500ur (21 dni). • Zanesljivost diskovnega polja povečamo z redundanco podatkov. • Redundantnost lahko močno poveča MTTF. - 16 -
RAID – redundanca podatkov… • Pri odločitvi za redundanco podatkov je potrebno določiti: • Kje bodo shranjeni redundantni podatki: na manjšem številu diskov ali bodo porazdeljeni po vseh diskih? • Kako določiti redundantne podatke: • večina diskovnih polj shranjuje podatke o pariteti (paritetna shema uporablja dodaten – redundanten disk za obnovo po nesrečah) • Če dodamo prejšnjemu polju 100-ih diskov 10 diskov z redundantnimi podatki, naraste MTTF na več kot 250 let!!! • Velik MTTF pomeni manjšo verjetnost za napako. - 17 -
Paritetni bit 1 Bit 1 na disku 1 = 1 Bit 1 na disku 2 = 0 Bit 1 na disku 3 = 0 Bit 1 na disku D = 1 RAID – redundanca podatkov • Kako deluje paritetni bit? Redundantni disk Disk 1 Disk 2 Disk 3 Disk D S pomočjo paritetne sheme lahko obnovimo podatke, če eden od diskov ne deluje več. - 18 -
Stopnje redundance… • V RAID sistemu je diskovno polje razdeljeno na več kontrolnih skupin (reliability groups). Te se sestojijo iz: • množice podatkovnih diskov in • množice kontrolnih diskov. • Število kontrolnih diskov je odvisno od stopnje redundance. • Primer za obravnavo stopenj redundance: • Količina podatkov za 4 diske • Ena sama kontrolna skupina - 19 -
Stopnje redundance… • RAID 0: porazdeljen,brez redundance (Nonredundant) • Uporablja porazdeljevanje podatkov za povečanje pasovne širine. • Ne vzdržuje nobene redundantne informacije. • PROBLEM: MTTF pada linearno s številom diskov v polju. • PREDNOSTI: najvišja učinkovitost ni potrebno vzdrževati nobenih redundantnih podatkov. • Izraba prostora znaša 100% prostora na disku. V našem primeru rabimo za svoje podatke 4 diske. - 20 -
Stopnje redundance… • RAID 1: zrcaljen (Mirrored) • Najdražja rešitev za polje diskov vzdržujeta se dve kopiji podatkov na dveh diskih. • Vsako pisanje bloka na disk vključuje pisanje na dva diska. • Pisanje se ne izvede hkrati, ampak eno za drugo (zaradi primera nesreče med pisanjem). • Branje lahko vključuje paralelno branje dveh različnih blokov iz dveh diskov. Branje se lahko dodeli na disk, ki ima najmanjši dostopni čas. • Izraba prostora znaša 50%. V našem primeru potrebujemo 8 diskov (4 + 4). - 21 -
Stopnje redundance… • RAID 0+1: porazdeljen in zrcaljen • Imenovan tudi RAID 01. • Kombinira nivoja RAID 0 in RAID 1. • RAID 1+0: zrcaljen in porazdeljen • Imenovan tudi RAID 10. • Kombinira nivoja RAID 1 in RAID 0. - 22 -
Stopnje redundance… RAID 01 Raid 1 Raid 0 Disk 1 Disk 2 Raid 0 - Mirror Disk 1 Disk 2 - 23 -
Stopnje redundance… RAID 10 Raid 0 Raid 1 Disk 1 Mirror Raid 1 Disk 1 Mirror - 24 -
Stopnje redundance • Druge stopnje redundance: • Level 2: Error-Correction Codes • Level 3: Bit-Interleaved Parity • Level 4: Block-Interleaved Parity • Level 5: Block-Interleaved Distributed Parity • Level 6: P+Q Redundancy - 25 -