Počet pevných disků v RAID a IOPS

creco

Počet pevných disků v RAID a IOPS
« kdy: 02. 01. 2013, 17:43:18 »
Pánové, měl bych na vás otázku, jak moc se zvýší výkon diskového pole v počtu zápisů a čtení pokud použiju RAID 10 z 4 disků a RAID 10 z 6 disků? Bude tam velký rozdíl?

Zasekl jsem se nad myšlenkou že stejnak jsou data stripována na všechny disky takže se RAID 10 chová jako jeden velký disk který rychle čte souvyslou stopu ale počet IOPS zůstane stejný....

Nebo to tak není?
« Poslední změna: 07. 01. 2013, 09:06:31 od Petr Krčmář »


Sten

Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #1 kdy: 02. 01. 2013, 17:57:58 »
RAID 10 je 1 + 0, takže u těch šesti mohou být dva RAIDy 1 ze tří disků nebo tři RAIDy 1 ze dvou disků.

RAID 0 zvyšuje čtení i zápis a RAID 1 jen čtení (dva disky mají až dvojnásobné IOPS oproti jednomu, tři mají ³⁄₂ oproti dvěma ap.). To je teorie, praxe je závislá ještě na řadiči a na konkrétních discích.
« Poslední změna: 02. 01. 2013, 20:55:23 od Adam Štrauch »

PanKapitánRUM

Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #2 kdy: 03. 01. 2013, 21:08:33 »
Nešlo by použít SSD?
Někdy se dá použít SSD k uložení vesměs dat vhodných pro čtení.
Tím se rozloží zátěž, zkrátka a jednoduše možností jak zvýšit výkon je celá řada a ne vždy to je ta první možnost.
Místo toho, aby se poli zvýšil výkon, se mu sníží zátěž, čímž se dá dospět k mnohem lepšímu výsledku.
Neříkám, že to vždycky jde.
Často je to o typu zátěže, někdy může být optimální přidat ještě jedno pole třeba jen obyčejným zrcadlem.
To je typická situace pro scénáře s převodem videa.
Databázi se oproti tomu může víc líbit na SSD, tabulky co se čtou a připisují se přesunou na úložiště ležící na SSD, pracovní tabulky se třeba vejdou jen do paměti a některé běžné se prsknou na klasický disk.
Podobná situace nastává u firemních dat, část se dá frknout na SSD, část může ležet na disku jen se zrcadlem (Home) a část nechat na nějakém lepším RAID.
Například se mi takhle povedlo rozhýbat do té doby zamrzlé pole, protože se Exchange Store hodil na jiné pole než zbytek dat.
Exchange si cvičil se schránkama o 106, původní pole jelo taky naplno, ale výkon se prakticky zdvojnásobil, jen protože se pole specializovalo.

Logik

  • *****
  • 1 022
    • Zobrazit profil
    • E-mail
Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #3 kdy: 03. 01. 2013, 23:23:32 »
Sten: to není teorie, RAID opravdu nezvyšuje IOPS. Raid zvyšuje pouze sekvenční čtení. U náhodného čtení se sice může stát, že budou požadována data z různejch disků, ale taky nemusí a pokud se čtou soubory větší než velikost jednoho raid bloku, tak na defragmentovanejch discích k nárůstu rychlosti v podstatě nedojde. Protože seeků, který jsou největší brzdou, bude úplně stejně.

Přikláněl bych se k Rumu, ve výsledku daleko větší poměr cena/výkon bude mít, když vytypuješ aplikace, co nejvíce brzdí, a přesuneš je na SSD, nebo alespoň rozhodíš na různá pole.

P.

Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #4 kdy: 03. 01. 2013, 23:59:22 »
Blbost. Raid zasadne zvysuje(meni) I/O vykon. SSD je hovadina, jestlize jde o hodne zapisu, tak jako tak by musel byt v raidu - mit jen ssd bez redundance je hovadina. Ve vetsim nasazeni je lepsi mit enterprise ssd (SLC nebo MLC pro enteprise segment). V pripade toho raidu 10, kdy jde o 2 nebo 3 mirrory je narust 30%. Jestlize radic (nebo napr ZFS v pripade soft raidu) umi cist i ze dvou zrcadlenych disku v roundrobinu, vykon cteni bude v pridade 6 disku 6x vesti nez jeden disk (teoreticky) - jde samozrejme hlavne o random IO. Tearing na poli je hezka vec, ale chce to uz HW radic nebo pole - zalezi kolik penez jste ochoten investovat. V zasade jde o 75 IO na disk u 7200, 100 u 10k a cca 125 IO u 15k disku. Pocty jsou snadne, pocet disku = pocet IO co pole obslouzi - pak zalezi na konfiguraci raidu. V pripad R5 nebo R6 hodne zalezi, jestli je parita pocitana v pameti a pak zapsana, nebo tupe pocitana z jiz zapsanych dat. Zminujete raid 10, tady zkutecne ale plati, ze pocet stripu zveda vykon. Pozor na to, ze u R10 se stripe nezapisuje na cely set, ale proste se zapise stripe a jde se dal na dalsi volny stripe a tak stale dokola. Z praxe je velmi dulezite vedet, jak se bude chovat realny provoz a co od pole pozadujete. U SSD skutecne pozor na to, aby neodeslo do haje po par mesicich provozu - cist muzete jak chcete, ale prepis a nasledne mazani je VZDY po blocich nasobne vetsich nez 4kb (obvykle smazani 4kb realne prepise v disku 1MB dat na 100% jiz zapsanem disku - trim v raidu vetsinou nepomuze) - zivotnost jde rapidne dolu - proste dat ssd na web kde logujete, menite data podle navstevniku atd je cesta do (krom webu se tremi navstevniky za den)... Pro hnidopichy s tim tak trochu zkusenost mam, raidy od jednotek disku az po stovky disku na raid grupu (metaluny).... (150.000 IO/sec).


Sten

Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #5 kdy: 04. 01. 2013, 00:23:05 »
Sten: to není teorie, RAID opravdu nezvyšuje IOPS. Raid zvyšuje pouze sekvenční čtení. U náhodného čtení se sice může stát, že budou požadována data z různejch disků, ale taky nemusí a pokud se čtou soubory větší než velikost jednoho raid bloku, tak na defragmentovanejch discích k nárůstu rychlosti v podstatě nedojde. Protože seeků, který jsou největší brzdou, bude úplně stejně.

Přikláněl bych se k Rumu, ve výsledku daleko větší poměr cena/výkon bude mít, když vytypuješ aplikace, co nejvíce brzdí, a přesuneš je na SSD, nebo alespoň rozhodíš na různá pole.

RAID nezvyšuje IOPS, ale zvyšuje rychlost čtení? Jak by to asi dělal jinak než zvýšením IOPS, když sektory jsou pořád stejně velké?

Ty seeky jsou na tom pravděpodobnostně úplně stejně s RAIDem i bez něj, akorát když RAID může číst paralelně ze dvou disků, tak zvládne až dvakrát tolik seeků (během seekování jednoho disku může zároveň seekovat i druhý).

SSD mívají o jeden až dva řády vyšší IOPS než disky (ty nejlepší i o čtyři), RAID zvyšuje IOPS maximálně lineárně.

Rhinox

Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #6 kdy: 04. 01. 2013, 00:41:22 »
Pánové, měl bych na vás otázku, jak moc se zvýší výkon diskového pole v počtu zápisů a čtení pokud použiju RAID 10 z 4 disků a RAID 10 z 6 disků? Bude tam velký rozdíl?
Ne, nebude. Rekl bych, ze stezi neco poznas. Jestli ti jde opravdu o IOPS, pak doporucuju hybridni pole: raid1 slozen z SSD a HD (na hw-radici kterej to umoznuje, s dostatecnou cache a battery-backup, samozrejme). Primarne se pak cte/zapisuje na SSD plnou rychlosti, a v pozadi se synchronizuje HD...

Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #7 kdy: 04. 01. 2013, 02:01:44 »
Pánové, měl bych na vás otázku, jak moc se zvýší výkon diskového pole v počtu zápisů a čtení pokud použiju RAID 10 z 4 disků a RAID 10 z 6 disků? Bude tam velký rozdíl?

Zasekl jsem se nad myšlenkou že stejnak jsou data stripována na všechny disky takže se RAID 10 chová jako jeden velký disk který rychle čte souvyslou stopu ale počet IOPS zůstane stejný....

Nebo to tak není?

Pánové, měl bych na vás otázku, jak moc se zvýší výkon diskového pole v počtu zápisů a čtení pokud použiju RAID 10 z 4 disků a RAID 10 z 6 disků? Bude tam velký rozdíl?

Zasekl jsem se nad myšlenkou že stejnak jsou data stripována na všechny disky takže se RAID 10 chová jako jeden velký disk který rychle čte souvyslou stopu ale počet IOPS zůstane stejný....

Nebo to tak není?

Samozřejmě že to IOPS zvyšuje, ale jak konkrétně a pro jaké operace, to záleží na tom jaká úroveň RAIDu je zvolena.

Pokud se bavíme o RAID 0 (striping) tak ten dokáže v podstatě zdvojnásobit IOPS, a to bez ohledu na to zda se jedná o čtení či zápis a náhodné či sekvenční operace. Podmínkou ale je aby bloky nebyly větší než stripe size a byly dobře zarovnané (tj. aby bloky pro jednotlivé I/O operace padaly právě na jeden fyzický disk).

Obdobně u RAID 1 (mirroring), ale tam to platí v podstatě jenom pro čtení.

U kombinací jako je např. RAID 10 je to nějaká kombinace předchozích dvou odstavců. Tj. čtení může škálovat s počtem fyzických disků, zápisy s počtem RAID 1 skupin. Tj. pokud máte disky v RAID1 párech, a nad tím RAID0 mirror tak pro 4 disky se vám čtení zvýší 4x a zápis 2x, při 6 discích čtení 6x a zápis 3x.

Každopádně výše uvedené platí za předpokladu saturace toho RAID pole - buď tak že nad ním současně poběží více seekujících procesů, nebo tak že program bude nějakým způsobem používat asynchronní I/O apod. Prostě pokud použijete jeden proces který bude vždy čekat na dokončení operace a až pak udělá další, žádný rozdíl oproti jednomu disku neuvidíte (alespoň v náhodném I/O ne).

Další na čem to hodně záleží je jak ten RAID vlastně budete stavět - např. jestli jako softwarový RAID pod Linuxem, jako HW s nějakou kvalitní RAID kartou (3Ware, LSI, Areca, ...) nebo nad nějakou plečkou která často ani RAID nedělá hw ale přes ovladač.

Ale jak už tady zaznělo, pokud jde o výkon v náhodných operacích, zdaleka cenově nejefektivnější je nějaký kvalitní SSD disk. Existují i možnosti jak to spojit do hybridního pole - např. L2ARC pro ZFS apod. Ale to už je vyšší dívčí.

Logik

  • *****
  • 1 022
    • Zobrazit profil
    • E-mail
Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #8 kdy: 04. 01. 2013, 02:34:22 »
Sten, Tomáš Vondra: To bych se s dovolením hádal. :-) :-)
RAID zvyšuje především sekvenční čtení. IOPS může zvýšit, ale také nemusí. Protože bottleneck pro IOPS není samotné čtení, ale seekování disku. Sektory jsou pořád stejně velké, ale disku velmi záleží na tom, jestli chci číst sousední nebo náhodné sektory.

Např. pro mirror dvou disků je worst case situace, kdy aplikace pravidelně čte náhodná data o velikosti 2x(velikost stripe). Protože v té chvíli pro každý požadavek musí zaseekovat oba disky, což jsou řádově milisekundy. Že pak chtěná data ty disky přečtou za 1us místo 2us, protože každej disk čte jen jeden stripe a nikoli dva, jako v případě single disku, se na výkonu pole nikterak neprojeví.


PanKapitánRUM

Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #9 kdy: 04. 01. 2013, 07:40:06 »
SSD lze často použít zcela zcela běžné s minimální redundancí, jde jen o typ dat.
Pokud se jedná o firemní dokumenty typu doménové politiky, ŠABLONY, PDF atd, kdy zároveň provádím zálohování, pak mi v zásadě nejde o nic. Tím, že to hodím na SSD, se můžu zbavit řady požadavků.

U diskového pole je problém zmíněný seek, vystavování hlaviček byť vesměs optimalizované.
Pokud z pole něco číst nemusím, nemůžu ho ani zdržet.

Problém je, že 1/2 obyvatel naší země je slabá duchem ;D
S raidem si to málo adminů dokáže představit, ale zkuste si to představit na příkladu rozvozu pizza.
I když si pořídíte rychlejší auto, tak tu pizzu podstatně rychleji nerozvezete.
V lepším případě získáte +10% výkonu.
Pokud si pořídíte dvě-tři auta, tak to "hlavní" může mít třeba o 1/2 méně práce, což je zrychlení o 50%.
A přitom za stejné náklady!

Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #10 kdy: 04. 01. 2013, 12:08:03 »
Sten, Tomáš Vondra: To bych se s dovolením hádal. :-) :-)
RAID zvyšuje především sekvenční čtení. IOPS může zvýšit, ale také nemusí. Protože bottleneck pro IOPS není samotné čtení, ale seekování disku. Sektory jsou pořád stejně velké, ale disku velmi záleží na tom, jestli chci číst sousední nebo náhodné sektory.

Např. pro mirror dvou disků je worst case situace, kdy aplikace pravidelně čte náhodná data o velikosti 2x(velikost stripe). Protože v té chvíli pro každý požadavek musí zaseekovat oba disky, což jsou řádově milisekundy. Že pak chtěná data ty disky přečtou za 1us místo 2us, protože každej disk čte jen jeden stripe a nikoli dva, jako v případě single disku, se na výkonu pole nikterak neprojeví.

Ale já jsem hned v druhém odstavci jasně napsal že "Podmínkou ale je aby bloky nebyly větší než stripe size a byly dobře zarovnané (tj. aby bloky pro jednotlivé I/O operace padaly právě na jeden fyzický disk)."

Prostě RAID hodnotu IOPS zvyšuje ale je samozřejmě otázkou zda to aplikace dokáže využít - v podstatě pro každou konfiguraci RAID pole jde vymyslet zátěž při které pole nefunguje o nic líp než jeden disk. K tomu abychom dokázali posoudit jestli RAID pole tazateli pomůže nebo nepomůže máme málo informací.

Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #11 kdy: 04. 01. 2013, 12:15:30 »
SSD lze často použít zcela zcela běžné s minimální redundancí, jde jen o typ dat.
Pokud se jedná o firemní dokumenty typu doménové politiky, ŠABLONY, PDF atd, kdy zároveň provádím zálohování, pak mi v zásadě nejde o nic. Tím, že to hodím na SSD, se můžu zbavit řady požadavků.

U diskového pole je problém zmíněný seek, vystavování hlaviček byť vesměs optimalizované.
Pokud z pole něco číst nemusím, nemůžu ho ani zdržet.
To je samozřejmě pravda, i když seek je spíš problém disků než vlastního pole ...

Problém je, že 1/2 obyvatel naší země je slabá duchem ;D
S raidem si to málo adminů dokáže představit, ale zkuste si to představit na příkladu rozvozu pizza.
I když si pořídíte rychlejší auto, tak tu pizzu podstatně rychleji nerozvezete.
V lepším případě získáte +10% výkonu.
Pokud si pořídíte dvě-tři auta, tak to "hlavní" může mít třeba o 1/2 méně práce, což je zrychlení o 50%.
A přitom za stejné náklady!

No, ale to je spíš argument pro to že RAID hodnotu IOPS zvyšuje, ne? Samozřejmě pokud budu vyrábět pizzy které se mi nevejdou do jednoho auta (operace s bloky většími než chunk size) tak výkon nezvýším, atd.

Jan Schermer

Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #12 kdy: 04. 01. 2013, 12:28:44 »
Zalezi na RAID levelu - predpokladame-li, ze vetsina IOPs se vejde do velikosti stripe tak plati zhruba toto (zhruba proto, ze to plati pri distribuci IO pres celou velikost zarizeni, coz casto neplati):

RAID5 - pri cteni IOPs zvysuje, pri psani IOPs spise snizuje (zalezi na implementaci v sw nebo radici). V degradovanem rezimu a pri rebuildu (a to by kazdeho zajimat rozhodne melo) jde vykonnostne uplne do haje

RAID6 - plati co pro RAID5, ale hodne zalezi na radici nebo sw - ani na ne-zcela levnem radici to nemusi byt zadna vyhra.
RAID-DP a podobne - plati co pro RAID5, ale v degradovanem rezimu a pri rebuildu skoro zadny vykon nesezere - ale to jen tak neco nema

RAID1 - pri cteni IOPS vyssi, pri zapisu +- stejne (zapis hodne ovlivnuje pochopitelne i cteni, tady tim spis ze se pise vzdy na vsechny zarizeni)

RAID10 - to vsude tlacim a je to jedine  co bych nasadil napriklad na databazi (pokud bych nemel RAID-DP). Je vice moznosti jak ho vytvorit (layout - far, near, pocet kopii...), ale da se zhruba rict ze zvysuje IOPs jak na cteni tak na zapis a v degradovanem rezimu nebo pri rebuildu se zpomali o zlomek toho co treba RAID5

Pokud se nejedna o extremni objem dat tak bych sahnul urcite po SSD, u vetsiho objemu ZFS + SSD na ZIL a L2ARC (SSD staci uplne mini).

Logik

  • *****
  • 1 022
    • Zobrazit profil
    • E-mail
Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #13 kdy: 04. 01. 2013, 12:54:49 »
Mám dojem, že všichni píšeme totéž, akorát z jiný strany. Já píšu, že apriory nezvyšuje, protože existují scénáře, kde se to nezvýší, vy píšete že zvyšuje, protože existují scénáře, kde se to zvýší. Tak bych se na tom shodnul, ne?

Pro tazatele z toho vyplývá, že musí zjistit charakter IO, než se rozhodne co tam dát. Schermer: Dát tam RAID samozřejmě neuškodí, ale něco to stojí, tak by měl vědět, že to nedělá jen pro dobrej pocit :-) - byť 10 samozřejmě zvedne i bezpečnost.



creco

Re:Závislost počtu pevných disků v RAID na výkonu IOPS
« Odpověď #14 kdy: 07. 01. 2013, 01:31:21 »
Dekuju moc za nazory ale rekneme ze se trochu rozchazeji.

Proto jeste uvedu ze se jedna o stream server na zpusob youtube. Pocet navstevniku je dene cca 50 000.

Ja osobne zvolil 4x disky s 15 000ot/s v RAID5.

Ale jaky typ RAID zvolit a jake uloziste pro maximalni IOPS.... SSD se nebranim protoze se jedna hlavne o cteni... ale zase o data uzivatelu nechci prijit a pouzivat SSD v RAID je trochu nebezpecne rekl bych protoze muzou odejit vsechny naraz.