logo Data v péči logo MHM -> www.mhm.cz
Novinky
Články
Soutěž
Fórum
O nás


Je rychlejší Raid1+0, nebo Raid5?
11/28/2011 | Radim Petržela

Již několikrát jsem se setkal s názorem, že nejrychlejší a nejlepší metoda zabezpečení dat proti selhání pevného disku je Raid1+0. Zda je tomu opravdu tak, nebo zda druhé nejrozšířenější zabezpečení Raid5 je rychlejší, rozebereme v tomto článku.

Nejprve si pojďme v krátkosti připomenout, jak obě zabezpečení fungují. Obě používají „stripování“, to znamená, že data jsou na pevné disky souběžně zapisována v pruzích, tzv. stripech. Jeden pruh dat je poskládán z menších částí zvaných chunky. Chunk představuje objem dat zapisovaný na jeden pevný disk. Velikost chunku je pevně dána. Velikost stripu (pruhu) závisí na počtu pevných datových disků, v případě Raid5 nebo počtu diskových párů v případě Raid1+0. Větší počet disků představuje větší velikost stripu = rychlejší zápis dat, tzn. vyšší výkonnost dané skupiny pevných disků neboli raidové skupiny.

Raid1+0 je kombinace zrcadlení (mirror) a souběžného zápisu v pruzích (stripe). Pevné disky jsou zde organizovány do párů, z čehož plyne požadavek na sudý počet pevných disků např. 2 + 2, 3 + 3, 4 + 4 atd. Uvnitř každého diskového páru jsou data zrcadlena, obr. 1, čímž je zaručena jejich redundance, resp. ochrana při výpadku pevného disku. Dojde-li k výpadku pevného disku, je použita kopie dat ze zrcadleného (mirror) disku.


Raid5 je kombinací souběžného zápisu v pruzích (stripe) a počítání opravného kódu, tzv. parity. Hodnota paritního chunku se vypočítává z datových chunků daného stripu. Parita představuje ochranu dat při výpadku datového disku. Pro snížení vlivu výpadku některého z pevných disků raidové skupiny raid5 se používá tzv. distribuovaná parita. Paritní chunk každého stripu cyklicky mění umístění (viz obr. 2). Dojde-li k výpadku pevného disku, data chybějících chunků jsou vypočítána ze zbylých datových a paritních chunků.


A co je tedy rychlejší, Raid1+0, nebo Raid5? Jak již víme, oba používají metodu stripování. Aby bylo tedy porovnání fér, musíme porovnávat raidové skupiny Raid1+0 a Raid5, se stejným počtem pevných disků, tedy např. osm Raid1+0 v konfiguraci 4 + 4 a Raid5 v konfiguraci 7 + 1. Všechny pevné disky musí mít také stejné parametry, jako jsou kapacita, rychlost (rpm) a typ (SAS, SATA). Dále je potřeba specifikovat, při jakých IO operacích budeme výkon porovnávat. Typy IO operací máme čtyři: sekvenční čtení, sekvenční zápis, náhodné čtení a náhodný zápis.

Začněme tedy sekvenčním čtením. Při sekvenčním čtení závisí výkonnost na počtu pevných disků, ze kterých můžeme souběžně číst, to je v našem případě osm disků, jak pro Raid1+0, tak pro Raid5. Tudíž výkonnost obou při sekvenčním čtení je stejná.

Co sekvenční zápis? Podobně jako u sekvenčního čtení závisí výkonnost sekvenčního zápisu na počtu pevných disků, na které můžeme souběžně zapisovat. V případě Raid1+0 je to polovina konfigurovaných disků v raidové skupině. Druhá polovina se používá pro interní zrcadlení. V našem Raid1+0 jsou tedy čtyři disky. V případě Raid5 je to počet datových disků, v našem případě sedm. Pro sekvenční zápis je tedy Raid5 vždy o hodně (v našem případě 1,75×) rychlejší než Raid1+0.

Na rozdíl od sekvenčních IO operací výkonnost náhodných operací není závislá na počtu pevných disků v raidové skupině. Náhodná IO operace vždy utilizuje pouze jeden pevný disk. V případě náhodného čtení jeho výkonnost čistě závisí na rychlosti disku, ze kterého se čte. Typ raidové skupiny není důležitý, proto rychlost Raid1+0 i Raid5 je v tomto případě také stejná.

Posledním typem IO, který zbývá porovnat, je výkonnost při náhodném zápisu. Zde vstupuje další důležitý parametr zvaný write penalty, který ovlivňuje rychlost zápisu náhodných IO operací. Write penalty jednoduše specifikuje, kolik diskových IO operací se musí provést k uložení jedné náhodné aplikační IO operace.

V případě zrcadlení Raid1+0 je tento parametr dva (zápis na datový disk a zápis na mirror disk). Raid5 má write penalty vyšší, a to čtyři (čtení starého chunku, čtení staré parity, zápis nového chunku a zápis nové parity). Raid5 generuje dvojnásobný počet diskových IO operací při zápisu náhodných IO v porovnání s Raid1+0. V tomto případě tedy vítězí Raid1+0.

Výsledné skóre 1:1 neříká, že jsou oba Raidy stejně rychlé, ale říká, že záleží na jejich použití. Raid5 je vhodný pro sekvenční IO (Log soubory, backup servery, video streaming atd.). Zejména sekvenční zápis bude vždy rychlejší než Raid1+0. Raid5 je také levnější, potřebuje pouze 1/n celkové kapacity raidové skupiny, kde „n“ je počet pevných disků, pro redundantní paritní data.

Potenciální nevýhodou Raid5 může být pokles výkonnosti při selhání pevného disku, který je způsoben dopočítáváním chybějících chunků. Hitachi umí tuto slabou stránku Raid5 minimalizovat (skoro odstranit) na úrovni hardwaru, který umí predikovat selhání disku. V tomto případě se data z rizikového disku s předstihem přesunou na náhradní disk, tzv. spare disk bez vlivu na výkonnost raidové skupiny.

Hitachi tyto funkce nazývá Online verify a Dynamic sparing. Raid5 není vhodný pro aplikace zapisující náhodné IO operace (databáze). Zde dominuje svou výkonností Raid1+0. Ten nemá problém se zápisem těchto IO a také nemusí dopočítávat data při selhání pevného disku, protože má kopii každého chunku. Je ale pomalejší v případě sekvenčních zápisů a je také dražší (vše je uloženo dvakrát).

další články z č. 24/2011 ...


Diskuse k článku - přidat názor

V diskusi je 0 příspěvků.



článek z č.24/2011


přehled článků z tohoto vydání


Registrace k odběru časopisu


Časopis bude zasílán zdarma na vaši adresu


Soutěž!


Zde můžete odpovědět na aktuální soutěžní otázku




CNW:Counter

Copyright © 2008 - 2012 MHM computer a.s.

Webdesign © 2008 Michal Ryšánek