Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

BD 2006Wykład 91 Podsystem wejścia/wyjścia (I/O) Henryk Telega.

Podobne prezentacje


Prezentacja na temat: "BD 2006Wykład 91 Podsystem wejścia/wyjścia (I/O) Henryk Telega."— Zapis prezentacji:

1 BD 2006Wykład 91 Podsystem wejścia/wyjścia (I/O) Henryk Telega

2 BD 2006Wykład 92 Dyski twarde

3 BD 2006Wykład 93 Dyski twarde Typowy dysk ma pojemność między 80 GB i 400 GB. Prędkość obrotowa wynosi od 5400 do rpm, często (revolutions per minute – obrotów na minutę), przeciętna szybkość transferu danych jest większa od 30 MB/s. W komputerach przenośnych prędkości wynoszą rpm, dla nowszych modeli 7200 rpm.

4 BD 2006Wykład 94 Dyski twarde Dla prawidłowego zaprojektowania podsystemu we/wy administrator musi znać charakterystyki dysków, konfiguracje sprzętowe dysków oraz sposób przechowywania danych w konkretnym SZBD. Podstawowe dane dysków: opóźnienie obrotowe (rotational latency) średni czas wyszukiwania (average seek time).

5 BD 2006Wykład 95 Dyski twarde Inne charakterystyki: czas dostępu: suma czasu wyszukiwania i opóźnienia obrotowego zewnętrzna prędkość przesyłu – prędkość z jaką dysk przesyła dane z bufora do komputera. W praktyce nie stanowi problemu, gdyż współczesne interfejsy ATA i SCSI mogą przesyłać dane co najmniej dwa razy szybciej niż dysk jest zdolny dostarczyć.

6 BD 2006Wykład 96 Dyski twarde Inne charakterystyki: o Pojemność o MTBF (Mean Time Between Failures) o Zużycie mocy (ważne w komputerach przenośnych) o Poziom hałasu (dBA) o G-shock rating

7 BD 2006Wykład 97 Opóźnienie obrotowe Opóźnienie obrotowe (ang. latency) jest czasem, jaki mija od momentu gdy głowice do odczytu/zapisu ustawią się nad odpowiednią ścieżką i czasem, gdy pierwszy bajt żądanych danych pojawi się pod głowicą. Dla typowego dysku o prędkości obrotowej 7200 rpm, czas pełnego obrotu wynosi prawie 8.4 ms. Można szacować, że średnie opóźnienie obrotowe jest dwukrotnie mniejsze.

8 BD 2006Wykład 98 Średnie opóźnienie obrotowe rpm – 5.56 ms; rpm – 4.17 ms; rpm – 3.0 ms; rpm – 2.0 ms. Kolejne rozważania będą dotyczyć dysków o prędkości obrotowej rpm.

9 BD 2006Wykład 99 Czas wyszukiwania Często przyjmuje się dla dysków rpm, że średni czas wyszukiwania (odnalezienie odpowiedniej ścieżki) wynosi około 4,2 ms (tzw. losowe wyszukiwanie - random seek). Max seek time (full-disk seek) ~9 ms. Track-to-track time ~0.6 ms.

10 BD 2006Wykład 910 Sekwencyjne operacje we/wy Czas dostępu (I/O operation access time): średnio 2,6 ms. Teoretycznie 384 operacji we/wy na sekundę W praktyce mniej – około 300 op./s ze względu na narzut związany z systemem operacyjnym i sterownikami. Jeśli dysk jest obciążony powyżej 85% (średniej liczby operacji/s) kolejkowanie żądań staje się znaczące. Stąd zalecenie dla sekwencyjnych operacji we/wy: maks. 255 operacji we/wy / s.

11 BD 2006Wykład 911 Losowe operacje we/wy Średni czas losowego wyszukiwania 4.2 ms 2 ms opóźnienie obrotowe (latency). Całkowity czas dostępu: 6.2 ms. 161 operacji we/wy na sekundę. 85% – 137 operacji we/wy. W praktyce można przyjąć 125 op./s

12 BD 2006Wykład 912 Ogólne zalecenia Operacje sekwencyjne (dzienniki transakcji) powinny być izolowane i ulokowane na osobnych dyskach. Operacje losowe (random I/O operations) powinny być rozproszone – zrównoleglone na więcej dysków.

13 BD 2006Wykład 913 Systemy RAID

14 BD 2006Wykład 914 RAID (1) Oryginalnie: Redundant Array of Inexpensive Disks Teraz często: Redundant Array of Independent Disks System RAID zawiera dwa lub więcej dysków. System na ogół ma podwyższoną odporność na awarię i zwiększoną wydajność (w stosunku do pojedynczego dysku o takiej samej pojemności). Koszt systemu jest stosunkowo niewielki. Stosowane są sprzętowe systemy RAID (hardware RAID) oraz programowe (software RAID). Programowe systemy RAID mają mniejszy koszt, ale obciążają procesor.

15 BD 2006Wykład 915 RAID (2) Sprzętowe systemy RAID mogą mieć możliwość wymiany uszkodzonego dysku w trakcie pracy, bez zamykania systemu (hot swappable drives). Niektóre systemy posiadają zamontowane dyski zapasowe (hot standby drives). Większość poziomów RAID zapewnia większą odporność na uszkodzenia nawet bez uwzględniania zamontowanych dysków tymczasowych.

16 BD 2006Wykład 916 RAID (3) Konfiguracje RAID są znane jako poziomy RAID. Typowo z systemami baz danych stosowane są systemy RAID poziomów 0, 1, 5 i 10 (również znany jako 1+0).

17 BD 2006Wykład 917 RAID level 0 Striped set. Dzieli dane równomiernie na dwa lub więcej dysków. Na jednym dysku: B1, B2, B3, B4, B5, B6, B7, B8, … Na czterech dyskach RAID 0: Jeden pasek zawiera B1-B5, inny B5-B8 itd. B1 B5 … B4 B8 … B2 B6 … B3 B7 …

18 BD 2006Wykład 918 RAID level 0 Żądanie bloku B1 jest obsługiwane przez pierwszy dysk (pierwszy z lewej). Równoczesne żądanie bloku B5 musi czekać, ale żądanie bloku B2 może być obsłużone równolegle. B1 B5 … B2 B6 … B3 B7 … B4 B8 …

19 BD 2006Wykład 919 RAID level 0 Nie ma nadmiarowości (!) – system nie ma podwyższonej odporności na awarie (not fault tolerant), odporność jest nawet obniżona. Odporność (reliability) może być mierzona przez średni czas między awariami - mean time between failures (MTBF). Odporność na awarie jest odwrotnie proporcjonalna do liczby dysków. RAID poziom 0 nie powinien być stosowany w systemach o znaczeniu krytycznym.

20 BD 2006Wykład 920 RAID level 0 Zalety RAID poziomu 0: Większa szybkość zapisu i odczytu. Wykorzystuje 100% pojemności dysków do przechowywania danych. Czasami jest wykorzystywany do łączenia wielu dysków fizycznych w jeden większy dysk logiczny.

21 BD 2006Wykład 921 RAID level 1 Dwie odmiany: disk mirroring oraz disk duplexing (każdy dysk ma swój kontroler). Przeważnie stosuje się dwa dyski. Dane zapisywane są do wszystkich dysków. Wszystkie dyski zawierają to samo.

22 BD 2006Wykład 922 RAID level 1 Zalety: Dane odczytywane są niezależnie na wszystkich dyskach. Wydajność odczytu dla dwudyskowych systemów jest prawie dwukrotnie większa od jednego dysku, ponadto zapewniona jest dwukrotnie zwiększona odporność na awarie. RAID poziomu 1 o N dyskach przeżywa awarię N-1 dysków.

23 BD 2006Wykład 923 RAID level 1 Wady: Wolniejszy zapis w porównaniu z pojedynczym dyskiem. Zapis musi być synchronizowany, położenie głowic na dyskach jest zazwyczaj inne (w związku z równoległym odczytem). Pamięć podręczna (cache) powinna być włączona – oczywiście tylko w systemach z pamięcią podtrzymywaną bateryjnie! Efektywna pojemność w przypadku dwudyskowego systemu wynosi tylko 50%.

24 BD 2006Wykład 924 RAID level 1 Typowe zastosowanie: dzienniki transakcji, system operacyjny. Dziennik transakcji jest zapisywany sekwencyjnie, dlatego jeden dziennik powinien zajmować jeden system RAID 1 (dwa dyski). Dziennik transakcji jest kluczowym elementem SZBD, dlatego powinien być odporny na awarie.

25 BD 2006Wykład 925 RAID level 5 Zawiera trzy lub więcej dysków. Zapisy są realizowane blokami, nadmiarowość zapewniają bloki parzystości.. Bloki mogą być większe niż sektory (nawet 256 sektorów). B1 B5 B8 Parity 11,12,13 B2 B6 Parity 8,9,10 B11 B3 Parity 5,6,7 B9 B12 Parity 1,2,3 B7 B10 B13

26 BD 2006Wykład 926 RAID level 5 Cechy: Szybki odczyt Względnie efektywne wykorzystanie przestrzeni dyskowej. Odporny na błędy – przetrwa przy awarii jednego dysku. Wolniejszy zapis: przy zapisie (nowej wartości) bloku potrzebne są dwa odczyty i dwa zapisy zamiast jednego zapisu. Pamięć podręczna cache powinna być włączona (tylko przy zasilaniu bateryjnym) aby zwiększyć szybkość wykonania operacji zapisu. Wykorzystuje 1/n pojemności na bloki parzystości, gdzie n oznacza liczbę dysków w macierzy dyskowej.

27 BD 2006Wykład 927 RAID level 5 Odporność na błędy: Bloki parzystości są odczytywane automatycznie kiedy przy odczycie sektora wykryty zostanie błąd sumy kontrolnej CRC. Przy wykryciu błędnego sektora odczytywane są odpowiednie sektory z pozostałych dysków (z tego samego paska) i błędny sektor zostaje automatycznie odtworzony. Błąd CRC jest ukryty przed systemem zewnętrznym (komputerem). Podobnie przy uszkodzeniu całego dysku, bloki parzystości umożliwiają odtworzenie danych w locie i ciągłą pracę systemu (praca będzie wolniejsza, ciągła).

28 BD 2006Wykład 928 RAID level 5 Obliczenie parzystości może być realizowane z użyciem funkcji XOR: ABA XOR B

29 BD 2006Wykład 929 RAID level 5 Typowe zastosowanie: systemy, w których większość operacji to operacje odczytu. Dla tabel lub indeksów, które są tylko do odczytu lub są rzadko zmieniane. Wskazówka: RAID 5 nie jest na ogół dobrym rozwiązaniem gdy więcej niż 10 procent operacji to operacje zapisu. Może być stosowany np. W bazach analitycznych (Hurtownie danych, bazy OLAP).

30 BD 2006Wykład 930 RAID 10 (1+0) Wiele kontrolerów zezwala na zagnieżdżanie poziomów RAID. Jeden system RAID może używać innego systemu RAID jako podstawowej jednostki (w miejsce zwykłego dysku). RAID 10 jest określany jako stripe of mirrors. Jeden z dysków każdego systemu RAID 1 wchodzącego w skład RAID 1+0 może zostać uszkodzony bez utraty danych.

31 BD 2006Wykład 931 RAID 10 (1+0) RAID 0 | / \ ||| RAID 1 RAID 1 RAID 1 /------\ /------\ /------\ | | | 120GB 120GB 120GB Ten system może przetrwać awarię do trzech dysków.

32 BD 2006Wykład 932 RAID 10 (1+0) Cechy: Szybki odczyt i zapis. Odporność na błędy. Wykorzystuje jedynie 50% pojemności dysków do przechowywania danych. Dobry, ale drogi. Zastosowanie: w systemach, w których więcej niż 10% wszystkich operacji to operacje zapisu.

33 BD 2006Wykład 933 RAID 01 (0+1) Nie powinien być mylony z RAID 1+0 (10) Różnica między RAID 0+1 i RAID 10 tkwi w położeniu składowych systemów RAID. RAID 0+1 nie toleruje równoczesnych awarii dwóch dysków jeśli są to awarie w różnych paskach. Po awarii jednego dysku w pewnym pasku każdy z dysków drugiego paska staje się czułym punktem systemu (tzn. po awarii takiego punktu tracimy dane). Połowa dysków staje się bezużyteczna. W systemie RAID 10 (nie 0+1) po awarii jednego z dysków tylko jeden staje się czułym punktem systemu.

34 BD 2006Wykład 934 RAID 01 (0+1) RAID 1 | / \ | RAID 0 / \ | | | 120GB 120GB 120GB

35 BD 2006Wykład 935 RAID – operacje odczytu RAID 0: 125 op./s na dysk. Przykład: RAID 0 z 10 dyskami może obsługiwać efektywnie 1250 losowych operacji odczytu na sekundę. RAID 1 (dwa dyski): 250 op./sec. RAID 5: 125 op./s * liczba_dysków (bez względu na bloki parzystości; nie są one na ogół odczytywane). RAID 10: 125 op./s * liczba_dysków

36 BD 2006Wykład 936 RAID – operacje zapisu RAID 0: tak samo jak dla odczytu RAID 1 (dwa dyski): 125 op./s (lub nieco mniej) RAID 5: 0.25 * 125 op./s * liczba_dysków RAID 10: połowa liczby operacji odczytu na sekundę.

37 BD 2006Wykład 937 Uwagi ogólne do projektowania podsystemu wejścia/wyjścia Należy umieścić dzienniki transakcji na oddzielnych systemach RAID 1 lub RAID 10. Prawie wszystkie operacje to sekwencyjne zapisy. Należy umieścić pliki z danymi na systemach RAID 5 (jeśli co najwyżej 10% wszystkich operacji to operacje odczytu) lub RAID 10 (w przeciwnym przypadku). Należy dodać wystarczającą liczbę dysków tak, by otrzymać co najwyżej 125 operacji /s na każdy dysk. Należy monitorować liczbę operacji we/wy dla każdego dysku. W przypadku konieczności należy dodać nowe dyski. Należy aktualizować informacje dotyczące charakterystyk dostępnych dysków!

38 BD 2006Wykład 938 DAS, NAS, SAN DAS – Direct Attached Storage (system, urządzenie przyłączone do serwera) NAS – Network Attached Storage (system, urządzenie przyłączone bezpośrednio do sieci, w przypadku awarii serwera jest dostęp z innych komputerów) SAN – Storage Area Network. Urządzenia, dyski połączone w sieć z wykorzystaniem specjalnych przełączników. Technologia Fibre Channel, 1,2,4,8,10 Mb/s. Odległość połączeń w przypadku światłowodu wielomodowego do 2km, dla światłowodu jednomodowego rzędu 10 km. Umożliwia np. wykonanie kopii zapasowych bez udziału serwerów.


Pobierz ppt "BD 2006Wykład 91 Podsystem wejścia/wyjścia (I/O) Henryk Telega."

Podobne prezentacje


Reklamy Google