Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Podsystem wejścia/wyjścia (I/O)

Podobne prezentacje


Prezentacja na temat: "Podsystem wejścia/wyjścia (I/O)"— Zapis prezentacji:

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

2 Dyski twarde BD 2006 Wykład 9

3 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. BD 2006 Wykład 9

4 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). BD 2006 Wykład 9

5 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ć. BD 2006 Wykład 9

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

7 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. BD 2006 Wykład 9

8 Średnie opóźnienie obrotowe
5 400 rpm – 5.56 ms; 7 200 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. BD 2006 Wykład 9

9 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. BD 2006 Wykład 9

10 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. BD 2006 Wykład 9

11 „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 BD 2006 Wykład 9

12 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. BD 2006 Wykład 9

13 Systemy RAID BD 2006 Wykład 9

14 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. BD 2006 Wykład 9

15 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. BD 2006 Wykład 9

16 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). BD 2006 Wykład 9

17 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 B2 B6 B3 B7 B4 B8 BD 2006 Wykład 9

18 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 BD 2006 Wykład 9

19 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. BD 2006 Wykład 9

20 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. BD 2006 Wykład 9

21 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. BD 2006 Wykład 9

22 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. BD 2006 Wykład 9

23 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%. BD 2006 Wykład 9

24 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. BD 2006 Wykład 9

25 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 BD 2006 Wykład 9

26 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. BD 2006 Wykład 9

27 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). BD 2006 Wykład 9

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

29 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). BD 2006 Wykład 9

30 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. BD 2006 Wykład 9

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

32 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. BD 2006 Wykład 9

33 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. BD 2006 Wykład 9

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

35 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 BD 2006 Wykład 9

36 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ę. BD 2006 Wykład 9

37 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! BD 2006 Wykład 9

38 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. BD 2006 Wykład 9


Pobierz ppt "Podsystem wejścia/wyjścia (I/O)"

Podobne prezentacje


Reklamy Google