1 / 24

Operációs Rendszerek II.

Operációs Rendszerek II. 11. előadás 2007. április 21. RAID. Diszk (másodlagos tároló) problémák Teljesítményük növekedési rátája szignifikánsabban alacsonyabb a CPU növekedésnél a tárolt adatok fontossága miatt a nagy kapacitású diszkek hibája egyre nagyobb üzleti kockázattal járt

jabari
Download Presentation

Operációs Rendszerek II.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operációs Rendszerek II. 11. előadás 2007. április 21.

  2. RAID • Diszk (másodlagos tároló) problémák • Teljesítményük növekedési rátája szignifikánsabban alacsonyabb a CPU növekedésnél • a tárolt adatok fontossága miatt a nagy kapacitású diszkek hibája egyre nagyobb üzleti kockázattal járt • A nagy kapacitású diszkek sem „eléggé nagyok” • RAID koncepciója: nagy kapacitású és teljesítményű drága diszkek helyett kisebb (olcsóbb) diszkeket használva érjük el célunkat, azaz: • Kapacitás növelése • Teljesítmény növelése • Megbízhatóság növelése

  3. RAID • Az elnevezés a Berkley egyetem kutatóitól származik (1988) – akkor ők ezt a „Redundant array of Inexpensive Disks” szavakból állították össze. A névben később az „Inexpensive” szó „Independent”-re változott… • Dióhéjban: úgy kapcsolunk össze több diszket, hogy • az operációs rendszer számára egy diszknek látszanak • az adatot szétosztjuk a diszkek között, • a diszk hibák ellen paritás információ tárolásával védekezzünk (ezt • két megoldás nem elégíti ki) • A szabvány 5+1 szintet definiál • a „+1” nem redundáns és 3 terjedt el • különböző gyártók további szinteket is definiálnak • szint-kombinációkat is alkalmazunk • A különböző megoldások a szükséges tárolóterület overhead-ben, a megoldás teljesítményigényében és a biztonság szintjében térnek el

  4. RAID szintek • RAID-0 (striping) • Redundancia nélküli megoldás • RAID-1 (tükrözés) • Adatduplikáláson alapul (nem paritás alapú) • RAID-2 • Speciális, Hamming kód alapú • Gyakorlatilag kihalt • RAID-3 • Kizáró vagy műveletre épít, egy blokk az összes diszkre szét van osztva • Erős hardver támogatást igényel! • RAID-4 • Kizáró vagy műveletre épít, egy blokk csak egy diszken található • Dedikált paritás diszket használ • RAID-5 • Hasonló a RAID-4 megoldáshoz, de itt a paritás is szét van osztva a diszkek között

  5. RAID – háttér információk • A diszkek átviteli jellemzőjének tényezői • a mechanikai működésből adódó késleltetés • az adatátvitel végrehajtásának teljesítménye (átviteli sebesség) • A terhelés jellege • Kevés számú, kis párhuzamosságú, de nagy mennyiségű adatot mozgató terhelése (pl. kötegelt feldolgozás) • Nagy számú, magas párhuzamosságú, de kicsi adatmennyiséget érintő terhelés (tranzakciós rendszerek) • Kapcsolat a fentiek között • Nagy mennyiségű adatot mozgató terhelésnél az adatátvitel teljesítménye domináns • Nagy tranzakciószámnál a késleltetések sokkal fontosabbak

  6. RAID – háttér információk • Olvasás és írás műveletek különbsége redundáns tároláskor • olvasáskor csak annyi adatot kell beolvasni, ami elegendő a kért adatblokk biztosításához • íráskor az adatblokkhoz tartozó összes részt aktualizálni kell • Vizsgáljuk • Tárolás módja • Viselkedés íráskor és olvasáskor • Példák • Diszkek száma: N • Egy diszk átviteli sebessége: T

  7. RAID-0 • Tárolás módja • Nagyméretű csíkok, egy blokk egyetlen diszken tárolódik. • Redundancia nincs a rendszerben. • Hasznos terület: N. • Olvasás • Egy időben ~N független olvasási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség: T • Hiba esetén: működésképtelen! • Írás • Egy időben ~N független írása tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség: T • Hiba esetén: működésképtelen!

  8. RAID-1 • Tárolás módja • Nagyméretű csíkok, egy blokk egyetlen diszken tárolódik. • A redundanciát a teljes adat duplikálása eredményezi. • Tipikusan N=2, hasznos terület: N/2. • Olvasás • Egy időben ~N független olvasási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség: T • Hiba esetén: egy időben ~(N-1) független olvasási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség: T • Írás • Egy időben 1 írási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség: =< T • Hiba esetén: Egy időben 1 írási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség: =< T

  9. RAID-3 • Tárolás módja • Byte szintű csíkok, a blokkok az összes diszkre szét vannak osztva. • Byte szintű paritás képzés XOR művelettel történik, • a megoldás dedikált paritás diszket használ. N>2, hasznos terület: N-1. • Olvasás • Egy időben 1 olvasási tranzakció szolgálható ki • Tranzakciónkénti átviteli sebesség: (N-1)*T • Hiba esetén: egy időben 1 olvasási tranzakció szolgálható ki • Tranzakciónkénti átviteli sebesség: < (N-1)*T (számolni kell) • Írás • Egy időben 1 írási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség: <= (N-1)*T (számolni is kell) • Hiba esetén: egy időben 1 írási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség: <= (N-1)*T (számolni is kell)

  10. RAID-4 • Tárolás módja • Nagyméretű csíkok, egy blokk egyetlen diszken tárolódik. • Blokk szintű paritás képzés XOR művelettel történik, a megoldás dedikált paritás diszket használ. • N>2, hasznos terület: N-1. • Olvasás • Egy időben (N-1) független olvasási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség: T • Hiba esetén: az olvasási tranzakciók száma akár egyre is lecsökkenhet, mert a hibás diszkeken található adatok előállításához az összes többi diszkblokk adata szükséges! • Írás • Egy időben 1 írási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség << T. Egy blokk kiírása után a teljes sor paritását újra kell számolni • Hiba esetén: 1 írási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség << T

  11. RAID-5 • Tárolás módja • Nagyméretű csíkok, egy blokk egyetlen diszken tárolódik. • Blokk szintű paritás képzés XOR művelettel történik, a paritás blokkok is szét vannak osztva a diszkek között. • N>2, hasznos terület: N-1. • Olvasás • Egy időben (N-1)...(N) független olvasási tranzakció • Tranzakciónkénti átviteli sebesség: T • Hiba esetén: az olvasási tranzakciók száma akár egyre is lecsökkenhet, mert a hibás diszkeken található adatok előállításához az összes többi diszkblokk adata szükséges! • Írás • Egy időben 1 írási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség << T • Hiba esetén: 1 írási tranzakció szolgálható ki. • Tranzakciónkénti átviteli sebesség << T

  12. További RAID szintek • Raid-6 • Két paritás blokk használatával (n+2 konfig) nagyobb hibatűrést biztosít • Az írás során jelentős overhead • Nem igazán terjedt el • Raid-S • EMC Symmetrix diszktömbökben használt technológia. • Raid-5 szerű, de speciális, teljesítményt növelő eljárásokat alkalmaz • Kombinált Raid: 1+0 és 0+1 • 0+1: összetükrözi a stripe-ot • 1+0: tükröket stripe-ol

  13. Diszk cache • Gyorsítótár, a gyorsítótáraknál korábban megismert célokkal és problémákkal • Gyorsítótár: központi memória (drágább, kisebb kapacitású, de gyorsabb, mint a merevlemez) • Algoritmusok: gyorsítótár lehető legoptimálisabb használata

  14. Diszk cache tervezési kérdések • Gyorsítás „iránya” • Csak olvasáskor (write through) • Mindkét irányban (write back) • Memória felhasználás módja • Fix (előre meghatározott) • Dinamikus (terheléstől függő) • Adat átadás a cache-területről (olvasáskor) • Másolás a felhasználói címtérbe • Osztott memória használata • Blokkcsere algoritmusa • LRU (least recently used) • LFU (least frequently used) • Frequency-based

  15. Unix I/O (klasszikus) • Hozzáférés fájl-interfészen keresztül • Kétféle eszköz • Blokkos • Karakteres • Eredeti buffer cache fix

  16. I/O eszközök a fájlrendszerben • Kernel tábla hivatkozások az i-node táblában • Major és minor numberek (eszköz, példány) drwx------ 16 bzso bzso 544 Mar 24 22:48 Documents drwx------ 35 bzso bzso 1190 Apr 3 18:24 Library -rwxr-xr-x 1 bzso bzso 99452 Nov 1 00:46 Google Earth -rwxr-xr-x 1 bzso bzso 92840 Nov 1 01:02 Google Earth Launcher crw-rw-rw- 1 root wheel 10, 6 Apr 18 23:20 tty.Bluetooth-Modem crw-rw-rw- 1 root wheel 10, 2 Apr 18 23:20 tty.Bluetooth-PDA-Sync crw-rw-rw- 1 root wheel 10, 4 Apr 18 23:20 tty.Hermione-Dial-upNetwork-2 brw-r----- 1 root operator 14, 0 Apr 18 23:19 disk0 brw-r----- 1 root operator 14, 1 Apr 18 23:19 disk0s1 crw-rw-rw- 1 root wheel 3, 2 Apr 19 00:20 /dev/null crw-rw-rw- 1 root wheel 3, 3 Apr 18 23:19 /dev/zero crw-rw-rw- 1 root wheel 8, 1 Apr 18 23:19 /dev/urandom

  17. Unix I/O • Klasszikus: statikus táblázatok • Új hardver illesztéséhez új kernel kell (a meghajtó programok statikusan betöltve) • Sok esetben előre „belepakoltak” minden drivert a kernelbe • Modern: dinamikus kernelek • A különféle meghajtó programok futási időben is betölthetők (igény szerint) • Függőségek! • Lényegesen rugalmasabb és erőforrás takarékosabb működés – de a kernel sokkal bonyolultabb lesz

  18. Fájlok, fájlrendszerek • Felhasználói szempontból az operációs rendszer (egyik) legfontosabb része • Ezzel közvetlen „találkozik” • A fájlok tárolása, hozzáférés alapvető • Teljesítmény szempontból kritikus

  19. Alapvető elvárások • Hosszú távú tárolás • A fájlokat másodlagos tárolón (tipikusan merevlemezen) tároljuk • A fájlok tartalma a felhasználó kilépése, a gép kikapcsolását követően is megmarad • Megoszthatóság • Ugyanazt azt az adathalmazt több program is elérhesse – a fájlok egyértelmű azonosítása alapvető • Amennyiben igényelt, a fájlokat több felhasználó is elérhesse • Strukturáltság • A fájlok tartalmát (adatokat) jól ismert struktúrába kell szervezni • A fájlok között is célszerű struktúrát definiálni (sok fájl, átláthatóság)

  20. Tipikus fájl műveletek • Általános modell • Létrehozás • Törlés • Megnyitás • Lezárás • Olvasás • Írás • Az egyes konkrét implementációk további műveleteket is definiálhatnak

  21. Fájl struktúrák • Struktúra-elemek • Mező, alapelem • Rekord, összetartozó mezők gyűjteménye • Fájl, összetartozó rekordok • Adatbázis, összetartozó fájlok • Mai rendszerekben a struktúra meglehetősen egyszerű, az összetett(ebb) adatstruktúrák kezelését alkalmazás szintű komponensekre bízzák

  22. Fájl menedzsment rendszer elvárások • Felhasználók (és alkalmazások) adattárolási, adatkezelési igényeinek kielégítése • Tárolt adatok validitásának biztosítása • Teljesítmény optimalizálás rendszer (globális) és felhasználói szempontból egyaránt • Különféle tároló eszközök támogatása • Adatvesztés kockázatának minimalizálása • Szabványos (programozói) interfész biztosítása • Többfelhasználós működés támogatása

  23. Fájlrendszer architektúra

  24. Rétegek • Device driver: kommunikáció a különféle hardver elemekkel (eszközfüggő) • Basic FS (physical I/O): alacsony (blokk) szintű műveletek • Basic I/O supervisor: I/O sorbaállítás, ütemezés • Logical I/O: magas szintű file műveletek • File szervezés: NEM Unix/Win világban • Pile („struktúrálatlan”, ahogy jön) • Szekvenciális (rekord alapú) • Indexelt szekvenciális (rekord alapú) • Indexelt (rekord alapú) • Direct (hash) fájlok (rekord alapú)

More Related