Přejít na matematické fórum Připravili jsme pro Vás zbrusu nové fórum a jsme připravení odpovídat na Vaše otázky!


Články » Programování

Pevné disky - RAID

Vydáno dne v kategorii Programování; Autor: ; Počet přečtení: 344

Úvod do problematiky RAID pevných disků


RAID 0

Tento systém spojení více disků do jednoho neposkytuje žádnou odolnost vůči ztrátě dat. Dokonce šance na ztrátu dat je vetší než u jednoho disku (šance roste s větším počtem disků). RAID 0 data rovnoměrně rozloží na dva a více disků. Toto zapojení se většinou používá v systémech, kde je vyžadována rychlá rychlost čtení a není zas tak důležité zabránit ztrátě dat. Pokud velmi často čteme z RAID 0 něco, co je menší než velikost vrstvy, mohou jednotlivé disky pracovat paralelně a proto může být rychlost čtení větší. Ale při čtení velkých souborů je rychlost stejná jako při čtení z jednoho disku.

Velikost RAID 0 je vždy rovna n * s, kde n je počet disků a s je velikost nejmenšího z disků.

Obnova dat po chybě jednoho z disků není možná → ztráta všech dat.

RAID 1

RAID 1 vytváří přesnou kopii (mirror) jednoho disku na jeden nebo více dalších disků. Toto se hodí zejména tehdy, je-li rychlost čtení a ochrana před ztrátou dat důležitější než velikost disku. Obvykle je použita konstrukce, kdy jsou v RAID 1 zapojeny dva disky, ale může jich být i více.

Jelikož všechny disky mají stejný obsah, je rychlost čtení teoreticky až nkrát rychlejší (kde n je počet disků v RAID 1), než při čtení z jednoho disku (v reálu je to ale méně, protože disk musí přeskočit blok, který už přečetl ten druhý).

Se zvětšujícím se počtu disků neroste kapacita výsledného RAID 0 (ta bude vždy rovna pouze velikosti nejmenšího disku), ale roste rychlost čtení / zápisu.

RAID 3

RAID 3 používá n-1 (n je počet disků) na uložení dat a poslední disk je určen pro ukládání paritních informací. RAID 3 je specifický tím, že velikost bloku je jeden byte. RAID 3 se používá zřídkakdy, protože nezvládá číst více souborů na jednou - čtená dat budou vždy větší než je velikost bloku.

RAID 4

RAID 4 je velmi podobný RAID 3 s tím rozdílem, že velikost bloku už nemusí být jeden byte.

Nevýhodou RAID 4 je to, že paritní informace jsou ukládány pouze na jeden disk a proto, při zápisu hodně malých souborů mohou disky zapisovat data paralelně, ale vše bude zdržovat poslední disk, který nebude stíhat ukládat paritu. Tento problém řeší RAID 5.

RAID 5

RAID 5 je vždy tvořen minimálně třemi disky, přičemž kapacitu jednoho z nich zabírají informace o paritě, která je ale rovnoměrně rozložená mezi všechny disky. Odejde-li jeden disk, data mohou být obnovena použitím všech ostatních disků. Zápis je ale pomalejší, protože při každém zápisu se musí přepočítat paritní informace. Jeho výhodou je, že zatímco RAID 1 nebo RAID 1+0 využívají pouze 50% kapacity, zatímco RAID 5 využívá , kde je velikost nejmenšího disku a n je počet všech disků. Čtení z RAID 5 je rychlejší při čtení delších souborů, protože je zde možnost paralelního přístupu k jednotlivým diskům. Zápis na druhou stranu není tak rychlý, protože při každé změně se musí přepočítat paritní informace. Velikost vrstvy (stripe) může v rychlosti zápisu sehrát celkem velkou roli. Je-li totiž velikost zápisu menší než velikost vrstvy, musí se parita přepočítávat při každém zápisu. Ale když je velikost zápisu větší než velikost vrstva, parita se nemusí přepočítávat, pouze se přepíše.

#?) Máme k dispozici 4 disků o velikosti 2 TB. Jaká bude velikost RAID 1 a jaká bude velikost RAID 5?


s = 8 TB
n = 4

 

Parita

Způsob, jakým se RAID 5 chrání před ztrátou dat, je právě parita. Tvoří-li RAID 5 například 5 disků, tak 4 z nich jsou určeny na uložení dat a 1 je pro uložení parity. Pokaždé, když je zapsáno do jednoho bloku (v jednom ze čtyř disků), tak se přepočítá parita logickou funkcí XOR (parita se ukládá na pátý disk).

#?) První čtyři disky udržují data, pátý paritu. Vypočtěte paritu.

Disk #1: 00101010 (Data)
Disk #2: 10001110 (Data)
Disk #3: 11110111 (Data)
Disk #4: 10110101 (Data)
Disk #5: -------- (Parita)

Jak už bylo řečeno, parita se vypočítá logickou funkcí XOR. Výsledek proto bude:

00101010 XOR 10001110 XOR 11110111 XOR 10110101 = 11100110

V případě, že by se disk 1 rozbil, obnovu dat provedeme pomocí pátého disku.

Disk #1: ???????? (Data)
Disk #2: 10001110 (Data)
Disk #3: 11110111 (Data)
Disk #4: 10110101 (Data)
Disk #5: 11100110 (Parita)

Abychom získali data z disku 1 použijeme opět logickou funkci XOR.

Disk #1 = Disk #2 XOR Disk #3 XOR Disk #4 XOR Disk #5 (Parita)
Disk #1 = 00101010

Tento clanek pro vas napsal Jakub Vojacek!

Test

Určete asymptotu se směrnicí funkce


Hlavolam

Máme doma šuplík a v něm jsou červené a zelené ponožky (jsme praštěná rodina, z toho si nic nedělejte). Jednou, když jsme měli jít do divadla a já potřeboval dvě ponožky stejné barvy, zrovna vypnuli proud. Nebyl čas na hledání baterky a tak jsem tedy popadl ... několik ponožek, dal je do kapsy a rychle běžel do taxíku, kde jsem si teprve nasadil ty dvě stejnobarevné (mně je jedno, jestli mám do divadla červené nebo zelené, jenom musejí být stejné barvy). A teď otázka pro vás: kolik ponožek nejméně musím vzít ze šuplíku, abych měl určitě alespoň dvě stejné, barvy?