PA152: Efektivní využívání DB 2. Datová úložiště Vlastislav Dohnal 512B Pohyb dat – přehled PA152, Vlastislav Dohnal, FI MUNI, 2018 2 Blokové zařízení Souborový systém Operační systém Databázový systém Disk RAM (buffers) CPU (cache) cache Úroveň SW: Úroveň HW: 4KiB 8KiB 512B4KiB PA152, Vlastislav Dohnal, FI MUNI, 2018 3 Optimalizace přístupu na disk  Techniky přístupu Eliminace náhodných přístupů,…  Objem dat Velikost bloku  Organizace úložiště Diskové pole PA152, Vlastislav Dohnal, FI MUNI, 2018 4 Techniky přístupu k datům  App: Double buffering  OS: Prefetching  OS: Defragmentace  Uspořádání bloků do pořadí jejich zpracování  Souborový systém  Alokace více bloků naráz, nástroje pro defragmentaci  HW: Plánování přístupů (výtah)  Pohyb hlavičky pouze jedním směrem  Přeuspořádání požadavků na disk  Při zápisu použití zálohované cache (nebo žurnálu) PA152, Vlastislav Dohnal, FI MUNI, 2018 5 Single Buffering  Úloha:  Čti blok B1  buffer  Zpracuj data v bufferu  Čti blok B2  buffer  Zpracuj data v bufferu  …  Náklady:  P = čas zpracování bloku  R = čas k přečtení 1 bloku  n = počet bloků ke zpracování  Single buffer time = n(R+P) PA152, Vlastislav Dohnal, FI MUNI, 2018 6 Double Buffering  Dva buffery v paměti, používané střídavě A B C D GE F Paměť Disk PA152, Vlastislav Dohnal, FI MUNI, 2018 7 Double Buffering A A B C D GE F Paměť Disk načítání PA152, Vlastislav Dohnal, FI MUNI, 2018 8 Double Buffering A B A B C D GE F Paměť Disk zpracování načítání PA152, Vlastislav Dohnal, FI MUNI, 2018 9 Double Buffering C B A B C D GE F Paměť Disk zpracování načítání PA152, Vlastislav Dohnal, FI MUNI, 2018 10 Double Buffering  Náklady: P = čas zpracování bloku R = čas k přečtení 1 bloku n = počet bloků ke zpracování  Single buffer time = n(R+P)  Double buffer time = R + nP Předpokládáme P ≥ R Jinak  = nR + P PA152, Vlastislav Dohnal, FI MUNI, 2018 11 Optimalizace přístupu na disk  Techniky přístupu Eliminace náhodných přístupů,…  Objem dat Velikost bloku  Organizace úložiště Diskové pole PA152, Vlastislav Dohnal, FI MUNI, 2018 12 Velikost bloku  Velký blok  amortizace I/O nákladů ALE  Velký blok  čtení více „nepotřebných“ dat, čtení trvá déle  Trend: cena pamětí klesá, data rostou, bloky se zvětšují Velikost bloku  ATTO Disk Benchmark 256MB read sequentially block by block No caching Queue length 4 PA152, Vlastislav Dohnal, FI MUNI, 2018 13 Western Digital 10EZEX 1TB, SATA3, 7200 RPM, sustained transfer rate 150 MB/s KiB IO za sekundu  IOPS dle HD Tune Pro 5.50 Reading 4KiB blocks PA152, Vlastislav Dohnal, FI MUNI, 2018 14 Western Digital 10EZEX 1TB, SATA3, 7200 RPM, sustained transfer rate 150 MB/s 168.000 MB/s 4.096 MB/s Bloky a IOPS  Stejné testy pro SSD PA152, Vlastislav Dohnal, FI MUNI, 2018 15 Kingston V300 120GB 268.250 MB/s 944.000 MB/s PA152, Vlastislav Dohnal, FI MUNI, 2018 16 Optimalizace přístupu na disk  Techniky přístupu Eliminace náhodných přístupů,…  Objem dat Velikost bloku  Organizace úložiště Diskové pole PA152, Vlastislav Dohnal, FI MUNI, 2018 17  Více disků uspořádaných do jednoho logického  Zvětšení kapacity  Paralelní čtení / zápis  Průměrná doba vystavení hlaviček typicky zachována  Metody  rozdělování dat (data striping)  zrcadlení dat (mirroring) Diskové pole Logical Physical PA152, Vlastislav Dohnal, FI MUNI, 2018 18 Zrcadlení  Zvýšení spolehlivosti pomocí replikace Logický disk je sestaven ze 2 fyzických disků Zápis je proveden na každý z disků Čtení lze provádět z libovolného disku  Data dostupná při výpadku jednoho disku Ztráta dat při výpadku obou  málo pravděpodobné  Pozor na závislé výpadky Požár, elektrický zkrat, zničení HW řadiče pole, … PA152, Vlastislav Dohnal, FI MUNI, 2018 19 Rozdělování dat  Cíle: Zvýšení přenosové rychlosti rozdělením na více disků Paralelizace „velkého“ čtení ke snížení odezvy Vyrovnání zátěže  zvýšení propustnosti Snížení spolehlivosti PA152, Vlastislav Dohnal, FI MUNI, 2018 20 Rozdělování dat  Bit-level striping Rozdělení každého bajtu na bity mezi disky Přístupová doba je horší než u jednoho disku Málo používané  Block-level striping n disků, blok i je uložen na disk (i mod n)+1 Čtení různých bloků lze paralelizovat  Pokud jsou na různých discích „Velké“ čtení může využít všechny disky PA152, Vlastislav Dohnal, FI MUNI, 2018 21 RAID  Redundant Arrays of Independent Disks  Různé varianty pro různé požadavky Různá výkonnost Různá spolehlivost  Kombinace variant RAID1+0 (nebo RAID10)  = RAID1, pak RAID0 PA152, Vlastislav Dohnal, FI MUNI, 2018 22 RAID0, RAID1  RAID0 Block striping, neredundantní Velmi vysoký výkon, snížená spolehlivost Nesnížená kapacita  RAID1 Zrcadlení disků  někdy omezeno na 2 disky Kapacita 1/n, rychlé čtení, zápis jako 1 disk Vhodné pro databázové logy, atp.  Zápis logů je sekvenční RAID1E – kombinuje zrcadlení a dělení … PA152, Vlastislav Dohnal, FI MUNI, 2018 23 RAID2, RAID3  RAID2  Bit-striping, Hamming Error Correcting Code  Zotavení z výpadku 1 disku  Nespoléhá na detekci chyby diskem  RAID3  Byte-striping with parity  1 paritní disk, chyby detekovány diskem  Zápis: spočítání a uložení parity  Obnova jednoho disku  XOR bajtů z ostatních disků PA152, Vlastislav Dohnal, FI MUNI, 2018 24 RAID4  Oproti RAID3 používá block-striping Paritní blok na zvláštním disku Zápis: spočítání a uložení parity Obnova jednoho disku  XOR bloků z ostatních disků Vyšší rychlost než RAID3  Blok je čtený pouze z 1 disku  paralelizace  Disky nemusí být plně synchronizované PA152, Vlastislav Dohnal, FI MUNI, 2018 25 RAID4 (pokrač.)  Zápis bloku  výpočet paritního bloku Vezmi původní paritu, původní blok a nový blok (2 čtení a 2 zápisy) Nebo přepočítej paritu ze všech bloků (n-1 čtení a 2 zápisy)  Efektivní pro sekvenční zápis velkých dat  Paritní disk je úzké místo! Zápis libovolného bloku vede k zápisu parity  RAID3, RAID4 – minimálně 3 disky (2+1) Kapacita snížena o paritní disk PA152, Vlastislav Dohnal, FI MUNI, 2018 26 RAID5  Block-Interleaved Distributed Parity Rozděluje data i paritu mezi n disků Odstranění zátěže na paritním disku RAID4 Paritní blok pro i-tý blok je uložen na disku Τ𝑖 𝑛−1 mod 𝑛  Příklad (5 disků) Parita pro blok i je na: Τ𝑖 4 mod 5 PA152, Vlastislav Dohnal, FI MUNI, 2018 27 RAID5 (pokrač.)  Vyšší výkon než RAID4 Zápis bloků je paralelní, pokud jsou na různých discích Nahrazuje RAID4  má stejné výhody a ruší nevýhodu jednoho paritního disku  Často používané řešení PA152, Vlastislav Dohnal, FI MUNI, 2018 28 RAID6  P+Q Redundancy scheme Podobné RAID5, ale ukládá extra informace pro obnovu při výpadku více disků Dva disky pro paritu (dual distributed parity)  Min. 4 disky v poli (kapacita snížena o 2 disky) Samoopravné Hammingovy kódy  Opraví výpadek 2 disků Vhodný pro vysokokapacitní disky Q Q Q RAID – kombinace  Jednotlivé varianty polí lze kombinovat Z fyzických disků se vytvoří pole Pak se z více polí vytvoří jedno výsledné pole  Vhodné k zvýšení výkonu / spolehlivosti  Příklad: RAID5+0 z 6 fyzických disků  Po třech vytvoříme dvě RAID5 pole  RAID5 pole spojíme do RAID0 PA152, Vlastislav Dohnal, FI MUNI, 2018 29 1TB 1TB 1TB RAID5 1TB 1TB 1TB RAID5 RAID0 Zdroj: Wikipedia RAID1+0 vs. RAID0+1  RAID1+0 odolnější proti výpadkům výpadek 1 disku v libovolném RAID1 ok  RAID0+1 výpadek disku v prvním RAID0 výpadek lib. disk v druhém RAID0  data ztracena PA152, Vlastislav Dohnal, FI MUNI, 2018 30 PA152, Vlastislav Dohnal, FI MUNI, 2018 31 RAID shrnutí  RAID0 – dostupnost dat není podstatná Data lze snadno a rychle obnovit (ze záloh,…)  RAID2, 3 a 4 jsou nahrazeny RAID5 bit-/byte-striping využívá všechny disky při 1 zápisu/čtení; resp. nedistribuovaná parita  RAID6 – stále častěji používaný RAID1 a 5 poskytují dostatečnou spolehlivost RAID6 spíše pro velmi velké disky  Kombinace – RAID1+0, RAID5+0  Vybíráme mezi RAID1 a RAID5 PA152, Vlastislav Dohnal, FI MUNI, 2018 32 RAID shrnutí (pokrač.)  RAID1+0  Mnohem rychlejší zápis než RAID5  Použití pro aplikace s velkým množstvím zápisů  Dražší než RAID5 (má nižší kapacitu)  RAID5  Pro každý zápis vyžaduje typicky 2 čtení a 2 zápisy  RAID1+0 vyžaduje pouze 2 zápisy  Vhodný pro aplikace s menším množstvím zápisů  Pozor na velikost „stripy“  Nároky dnešních aplikací na počet I/O  Velmi vysoké (např. WWW servery, DBMS, …)  Nákup množství disků pro splnění požadavků  Mají dostatečnou volnou kapacitu, pak RAID1 (nic nás dále nestojí)  Nejlépe RAID1+0 PA152, Vlastislav Dohnal, FI MUNI, 2018 33 RAID shrnutí (pokrač.)  Nenahrazuje zálohování!!!  Implementace  SW – téměř každý OS podporuje, popř. BIOS  HW – speciální řadič  Nutné zálohování cache bateriemi nebo non-volatile RAM  Pozor na výkonnost procesoru řadiče – může být pomalejší než SW!!!  Hot-swapping (výměna za provozu)  HW implementace většinou podporují  SW není problém, pokud HW podporuje  Spare disks  Přítomnost náhradních disků v poli PA152, Vlastislav Dohnal, FI MUNI, 2018 34 Výpadky disků  Občasný výpadek Chyba při čtení/zápisu  opakování  OK  Vada média Trvalá chyba nějakého sektoru Moderní disky samy detekují a opraví  z vlastní rezervní kapacity  Zničení disku Totální výpadek  výměna disku PA152, Vlastislav Dohnal, FI MUNI, 2018 35 Ošetření výpadků disků  Detekce Kontrolní součty  Opravy Stabilní uložení  Diskové pole  Uložení na více místech stejného disku  super-blok; pro data ZFS  Žurnálování (log/záznam změn) Samoopravné kódy (ECC)  Hammingovy kódy, … PA152, Vlastislav Dohnal, FI MUNI, 2018 36 Stabilní uložení v databázích  Operační systém  Databáze Logický blok Kopie1 Kopie2 Současná DB zápis Záložní DB log Samoopravné kódy  Paritní bit = sudá/lichá parita Použito v RAID3,4,5  Příklad sudá parita RAID4 se 4 disky, blok č. 1: PA152, Vlastislav Dohnal, FI MUNI, 2018 37 Disk 1: 11110000… Disk 2: 10101010… Disk 3: 00111000… Disk P: 01100010… Disk 1: 11110000… Disk 2: ????????… Disk 3: 00111000… Disk P: 01100010… výpadek Samoopravné kódy  Algebra s operací součtu modulo-2  Sudá parita, tj. dopočtení na sudý počet jedniček  Ԧ𝑥 ⊕ Ԧ𝑦 = Ԧ𝑦 ⊕ Ԧ𝑥  Ԧ𝑥 ⊕ Ԧ𝑦 ⊕ Ԧ𝑧 = Ԧ𝑥 ⊕ Ԧ𝑦 ⊕ Ԧ𝑧  Ԧ𝑥 ⊕ 0 = Ԧ𝑥  Ԧ𝑥 ⊕ Ԧ𝑥 = 0  Když Ԧ𝑥 ⊕ Ԧ𝑦 = Ԧ𝑧, pak Ԧ𝑦 = Ԧ𝑥 ⊕ Ԧ𝑧 Přidáním Ԧ𝑥 na obě strany… PA152, Vlastislav Dohnal, FI MUNI, 2018 38 Samoopravné kódy  Hamming code Example to recover from 2 crashes  7 disks, four are data disks Redundancy schema:  Parity disk contains even parity  Parity computed from data disks denoted 1 PA152, Vlastislav Dohnal, FI MUNI, 2018 39 Data Parity Disk No: 1 2 3 4 5 6 7 1 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 Samoopravné kódy (pokr.)  Hamming code Content sample and writing PA152, Vlastislav Dohnal, FI MUNI, 2018 40 Disk 1: 11110000… Disk 2: 10101010… Disk 3: 00111000… Disk 4: 01000001… Disk 5: 01100010… Disk 6: 00011011… Disk 7: 10001001… Data Parity Disk No: 1 2 3 4 5 6 7 1 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 Disk 1: 11110000… Disk 2: 00001111… Disk 3: 00111000… Disk 4: 01000001… Disk 5: 11000111… Disk 6: 10111110… Disk 7: 10001001… Writing to disk 2: 00001111… Samoopravné kódy (pokr.)  Hamming code Disk failure PA152, Vlastislav Dohnal, FI MUNI, 2018 41 Disk 1: 11110000… Disk 2: ????????… Disk 3: 00111000… Disk 4: 01000001… Disk 5: ????????… Disk 6: 00011011… Disk 7: 10001001… Data Parity Disk No: 1 2 3 4 5 6 7 1 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 Disk 1: 11110000… Disk 2: Disk 3: 00111000… Disk 4: 01000001… Disk 5: Disk 6: 10111110… Disk 7: 10001001… Recovery of disk 2 (row in redund. schema with 0 for disk 5) 00001111… 11000111… Recovery of disk 5 Samoopravné kódy (pokr.)  Definition of Hamming Code  A code of length n is a set of n-bit vectors (code words).  Hamming distance is the count of different values in two n-bit vectors.  Minimum distance of a code is the smallest Hamming distance between any different code words.  Hamming code is a code with min. dist. “3”  Up to 2 bit flips can be detected (but not corrected).  1 bit flip is detected and corrected. PA152, Vlastislav Dohnal, FI MUNI, 2018 42 Samoopravné kódy (pokr.)  Generating Hamming Code (n,d); p=n-d  Number bits from 1, write them in cols in binary  Every column with one ‘X’ (one bit set) is parity  Row shows the sources for parity computation  Column shows which parity bits cover data bit. 43 Bit position 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Data/parity bits p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 d8 d9 d10 d11 p5 d12 Parity bit covera ge p1 20 X X X X X X X X X p2 21 X X X X X X X X p3 22 X X X X X X X X p4 23 X X X X X X X X p5 24 X X PA152, Vlastislav Dohnal, FI MUNI, 2017PA152, Vlastislav Dohnal, FI MUNI, 2018 Samoopravné kódy (pokr.)  Store data bits 1010 in Hamming Code (7,4)  To correct errors in data read from storage:  Check all parity bits.  Sum the positions of bad ones to get address of the wrong bit.  Examples:  1111010  1011110  1001110  1110000 44 Bit position 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Data/parity bits p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 d8 d9 d10 d11 p5 d12 Parity bit covera ge p1 20 X X X X X X X X X p2 21 X X X X X X X X p3 22 X X X X X X X X p4 23 X X X X X X X X p5 24 X X  3 bits were flipped here  2 bits were flipped, so it cannot distinguish 2-bit and 1-bit error. PA152, Vlastislav Dohnal, FI MUNI, 2017  1 bit was flipped, so it can be corrected. PA152, Vlastislav Dohnal, FI MUNI, 2018 Samoopravné kódy (pokr.)  Extended Hamming Code  Add an extra parity bit over all bits  To tell even or odd number of error  Store data bits 1010 in Extended Hamming Code (7,4)  Detect/correct error if any:  01111010  01011110  01001110  01110000 PA152, Vlastislav Dohnal, FI MUNI, 2018 45 Bit position 0 1 2 3 4 5 6 7 Data/parity bits pX p1 p2 d1 p3 d2 d3 d4 Parity bit coverage p1 20 X X X X p2 21 X X X X p3 22 X X X X pX 0 X X X X X X X X  2 bits were flipped; but no clue which.  odd number (>1) bits were flipped; but no clue which. Samoopravné kódy (pokr.)  Reed-Solomon Code (n,d) ECC adding t check bits to data bits Can detect up to t bit errors Can correct up to Τ𝑡 2 errors So, min. Hamming distance is t = 𝑛 − 𝑑 + 1. PA152, Vlastislav Dohnal, FI MUNI, 2018 46 PA152, Vlastislav Dohnal, FI MUNI, 2018 47 Výpadky  Mean Time To Failure (MTTF)  Někdy také: Mean Time Between Failures (MTBF) odpovídá pravděpodobnosti výpadku průměrná doba fungování mezi výpadky  polovina disků má výpadek během této doby  předpokládá se rovnoměrné rozložení výpadků snižuje s věkem disku obvykle 1 000 000 a více hodin   114 let  tj. za 228 let vypadne 100%  Pvýpadku za rok=0,44%   Annualized Failure Rate (AFR) PA152, Vlastislav Dohnal, FI MUNI, 2018 48 Výpadky – pokračování  Příklad: MTTF 1 000 000 hours  v populaci 2 000 000 disků  každou hodinu vypadne jeden disk  tj. 8 760 disků ročně   pravděpodobnost výpadku za rok = 0,438% PA152, Vlastislav Dohnal, FI MUNI, 2018 49 Výpadky – pokračování  Alternative measure (e.g. Western Digital) Annualized Failure Rate (AFR) Component Design Life  Annual Replacement Rate (ARR) nebo Annualized Return Rate Ne všechny výpadky jsou způsobeny disky  vadné kabely, atp. Uvádí se:  40% z ARR je “No Trouble Found” (NTF)  AFR = ARR*0.6 ARR = AFR / 0.6 PA152, Vlastislav Dohnal, FI MUNI, 2018 50 Výpadky a výrobci  Seagate http://www.seagate.com/docs/pdf/whitepaper/drive_reliability.pdf (November 2000) Savvio® 15K.2 Hard Drives – 73 GB  AFR = 0,55% Seagate estimates MTTF for a drive as the number of power-on hours (POH) per year divided by the first-year AFR. AFR is derived from Reliability-Demonstration Tests (RDT)  RDT at Seagate = hundreds of disks operating at 42ºC ambient temperature Výpadky a výrobci  Vliv teploty na MTTF pro první rok Seagate: PA152, Vlastislav Dohnal, FI MUNI, 2018 51 Adjusted MTTF Výpadky a výrobci  Seagate Barracuda ES.2 Near-Line Serial ATA drive PA152, Vlastislav Dohnal, FI MUNI, 2018 52 Note1: Weibull – stat. metoda pro modelování průběhu chybovosti Note2: 2400 hours/yr => 6.5 hrs a day! Výpadky – realita  Google http://research.google.com/archive/disk_failures.pdf (Konference FAST 2007) Test na 100 000 discích  SATA, PATA disky; 5400-7200 rpm; 80-400 GB PA152, Vlastislav Dohnal, FI MUNI, 2018 53 Výpadky – realita  Studie 100 000 disků SCSI, FC, SATA http://www.cs.cmu.edu/~bianca/fast07.pdf (Konference FAST 2007) PA152, Vlastislav Dohnal, FI MUNI, 2018 54 HPC3: 3064x SCSI disk, 15k rpm, 146GB 144x SCSI disk, 15k rpm, 73GB 11000x SATA disk, 7200 rpm, 250GB Avg. ARR AFR=0.88 AFR=0.58 Rate(%) Výpadky – realita  Závěry:  Obvykle se AFR zvyšuje s teplotou prostředí  Data z Google to nepotvrzují  SMART parameters are well-correlated with higher failure probabilities  Google  After the first scan error, a drive is 39 times more likely to fail within 60 days.  First errors in reallocations, offline reallocations, and probational counts are strongly correlated to higher failure probabilities.  Vhodné ve výpočtech používat AFR 3-4%  If you plan on AFR that is 50% higher than MTTF suggests, you’ll be better prepared.  Po 3 letech provozu disku být připraven na jeho výměnu. PA152, Vlastislav Dohnal, FI MUNI, 2018 55 PA152, Vlastislav Dohnal, FI MUNI, 2018 56 Oprava chyby  We know AFR = 1 / (2*MTTF)  Mean Time To Repair (MTTR)  Čas od výpadku do obnovení činnosti  = čas výměny vadného disku + obnovení dat  PFailure During Repair = PFDR = (2*MTTR) / 1 rok  Předpoklad: velmi krátká doba  Mean Time To Data Loss (MTTDL)  Závisí na AFR a MTTR  Průměrná doba do ztráty dat  Pro jeden disk (tj. data ukládám na jednom disku)  MTTDL = MTTF = 0.5 / AFR PA152, Vlastislav Dohnal, FI MUNI, 2018 57 Oprava chyby – sada disků  Předpoklad  Chyba každého disku je stejně pravděpodobná a nezávislá na ostatních  Příklad  Jeden disk  AFR1 disk = 0,44% (MTTF = 1,000,000 hrs. = 114 yrs.)  Systém se 100 disky (MTTF100 disků = MTTF1 disk / 100)  AFR100 disků = 44% (MTTF = 10,000 hrs. = 1.14 yrs.)  Průměrně každý rok cca jeden z disků vypadne  Pravděpodobnost (právě 1 z n vs. alespoň 1 z n havaruje)  Pvýpadek právě 1 ze 100 = 28,43% Pvýpadek alespoň 1 ze 100 = 35,66%  Pvýpadek právě 1 z 10 = 4,23% Pvýpadek alespoň 1 z 10 = 4,31%  AFRn disků = AFR1 disk * n PA152, Vlastislav Dohnal, FI MUNI, 2018 58 Příklad výpadku RAID1  2 zrcadlené 500GB disky  každý AFR=3%  Výměna vadného a obnova pole do 3 hodin  MTTR = 3 hodiny (při 100MB/s je kopírování za 1,5h)  Pravděpodobnost ztráty dat:  Pvýpadku 1 disku = AFR = 0.03  Pvýpadku 1 ze 2 = 0.06  PFDR = 2 * MTTR / 1 rok = 2*3 / 8760 = 0,000 685  Pztráty dat = Pvýpadku 1 ze 2 * PFDR * Pvýpadku 1 disku = 0,000 001 233  MTTDL = 0.5 / Pztráty dat = 405 515 let PA152, Vlastislav Dohnal, FI MUNI, 2018 59 Příklad výpadku RAID0  AFR disku 3% (Pvýpadku 1 disku)  RAID0 – dva disky, striping Pztráty dat = Pvýpadku 1 ze 2 = 6% MTTDL = 0.5 / 0.06 = 8,3 roku  Tj. AFRpole = 6% PA152, Vlastislav Dohnal, FI MUNI, 2018 60 Příklad výpadku RAID4  AFR disku 3% (Pvýpadku 1 disku)  RAID4 – opravuje výpadek 1 disku 4 disky (3+1) MTTR = 3 hodiny  PFDR = 2*3 / 8760 = 0,000 685 Pztráty dat = Pvýpadku 1 ze 4 * PFDR * Pvýpadku 1 ze 3 Pztráty dat = 4*0,03 * 2/2920 * 3*0,03 = 0,000 007 397  což je AFR tohoto pole MTTDL = 0.5 / Pztráty dat = 67 592 let Spolehlivost pole  n disků celkem disků v poli (včetně paritních)  1 paritní disk zajišťují redundanci dat  AFRpole = n*AFR1 disku * PFDR * (n-1)*AFR1 disku  MTTDL = 0.5 / AFRpole PA152, Vlastislav Dohnal, FI MUNI, 2018 61 Příklad výpadku – kombinace RAID  Kombinace polí Spočítám AFR pro složky  Toto použiji v dalším jako AFR „virtuálního disku“ Pak vypočítám výsledné MTTDL PA152, Vlastislav Dohnal, FI MUNI, 2018 62 1TB 1TB 1TB RAID5 1TB 1TB 1TB RAID5 RAID0 Příklad výpadku – kombinace RAID PA152, Vlastislav Dohnal, FI MUNI, 2018 63 1TB 1TB 1TB RAID5 1TB 1TB 1TB RAID5 RAID0 1TB 1TB 1TB RAID5 1TB 1TB 1TB RAID5 RAID0 RAID5 RAID0 RAID5  RAID5+0 1 disk má AFRdisk 1) Urči AFRRAID5 2) Urči AFRRAID5+0 = 2 * AFRRAID5 3) MTTDLRAID5+0 = 0.5 / AFRRAID5+0 Příklad výpadku – kombinace RAID  RAID4+0 z 8 disků v konfiguraci níže 1 disk AFR=3%, MTTR = 3 hodiny Vždy ze 4 disků vyrobíme 1x RAID4  AFRRAID4 = 4*AFR * PFDR * 3*AFR = … = 7.4*10-6 2x RAID4 spojíme pomocí RAID0  AFRRAID4+0 = 2 * AFRRAID4 = 1.48*10-5  MTTDL = 0.5 / AFRRAID4+0 = 33 796 let PA152, Vlastislav Dohnal, FI MUNI, 2018 64 RAID0 RAID4 1TB 1TB 1TB 1TB RAID4 1TB 1TB 1TB 1TB Failures: „Write Hole“ Phenomenon  = Data is not written to all disks.  Severity  Can be unnoticed  Discoverable during array reconstruction  Solution  UPS  Synchronize the array  Journaling  but with “data written” commit message (-:  Special file system (ZFS)  uses "copy-on-write" to provide write atomicity  provides continuous integrity checking PA152, Vlastislav Dohnal, FI MUNI, 2018 65 File Systems  Storing a data block: 1. Add an unused block to list of used space 2. Write data block 3. Write file metadata referencing that data block  More modern – use journaling  Start transaction in journal  Store info about steps 1.-3. to journal  Do steps 1.-3.  End transaction in journal PA152, Vlastislav Dohnal, FI MUNI, 2018 66 File System & Memory Tuning  FS block size  DB block size  ZFS has 128KB by default!  DB journal (WAL in PostgreSQL)  ext2; ext3/4 with data=writeback  DB data  ext3/4 with data=ordered (only metadata journaled)  Switch off file access times (noatime)  Eliminate swapping (vm.swappiness = 0)  Process memory allocation (vm.overcommit_memory = 2)  … PA152, Vlastislav Dohnal, FI MUNI, 2018 67 RAID nad disky SSD  SSD – problém opotřebení Omezený počet zápisů se řešení přesuny do jiných oblastí, tzv. wear-leveling Důsledek: po jisté době dojde k totálnímu výpadku  RAID nad SSD Zabezpečení dostupnosti dat horší  Téměř jistota, že SSD vypadnou naráz Diff-RAID  Distributes parity unevenly  After replacing a failed SSD with a brand new one, parity is moved primarily to the most worn-out drive. PA152, Vlastislav Dohnal, FI MUNI, 2018 68 Recommended Reading  Dual parity  https://www.kernel.org/pub/linux/kernel/people/hpa/raid6.pdf  Software RAID in SUSE  https://www.suse.com/documentation/sles10/stor_admin/data/raidevms.html  Sections:  Managing Software RAIDs with EVMS  Managing Software RAIDs 6 and 10 with mdadm  SSD on Wikipedia  https://en.wikipedia.org/wiki/Solid-state_drive  Živě.cz: Ze světa: kolik reálně zapsaných dat vydrží moderní SSD?  http://m.zive.cz/ze-sveta-kolik-realne-zapsanych-dat-vydrzi-moderni-ssd/a- 177557/?textart=1 PA152, Vlastislav Dohnal, FI MUNI, 2018 69