Diit.cz - Novinky a informace o hardware, software a internetu

Test SanDisk Ultra Plus podruhé: hodí se pro ZIL?

SanDisk Ultra Plus SSD 2×
SSD SanDisk Ultra Plus 128GB a 256GB se od nás dostaly ocenění s jednou hvězdičkou a my se dnes podíváme, jestli by si ji zasloužily i v situaci, kdy z nich uděláme ZIL…

Kapitoly článků

1.  Co je ZIL a jak testujeme vhodnost SSD

ZI… co?

ZIL. ZFS Intent Log. Pro ty, kteří pracují se souborovým systémem ZFS, je to všechno známá věc. Přesto mi dovolte alespoň v rychlosti a velmi stručně popsat, oč vlastně jde.

Jak již název napovídá, jde o cosi jako log. Nejde však o log uživatelský, kdy by se v něm mohl uživatel vrtat a něco zjišťovat (to mohou tak možná tvůrci tohoto souborového systému, případně firmy zachraňující data). Jde především o log tvořený pro účely samotného souborového systému ZFS, kdy se do něj zapisují záznamy prováděných zápisových operací, aby bylo možné v případě výpadku následně zrekonstruovat, co se vlastně dělo, který zápis má být považován za dokončený a který už to nestihl. Je to jeden z mechanizmů udržujících data v konzistentní podobě, což je jedna z obecných vlastností souborového systému ZFS (aneb netřeba řešit opravy struktury dat souborového systému, protože je to řešeno právě na úrovni tohoto systému jako takového a ZIL tomu hodně pomáhá). ZIL je navíc navržen tak, že pokud jde o zápisové operace menších bloků dat než standardně 64 KiB, jsou tato data součástí záznamu v logu. Proto se někdy říká, že ZIL, je-li aplikován na SSD, je taková zápisová cache, přestože tomu tak ve skutečnosti není.

Zápisy do souborového systému ZFS rozlišujeme na synchronní a asynchronní. Asynchronní zápis je cachovaný v RAM počítači, kde běží operační systém s implementovanou podporou ZFS s tím, že aplikace, která zápis prováděla, dostává ihned po přijetí informaci, že je zapsáno, přestože to ještě na fyzickém médiu není. Zápisy na fyzické médium (typicky klasický pevný disk) probíhají jednou za několik sekund všechny naráz v podstatě na pozadí.

Naproti tomu synchronní zápis vrací zpět informaci o tom, že je zapsáno, až když je to opravdu zapsáno. ZFS se dá nakonfigurovat tak, aby byly všechny zápisy synchronní, což samozřejmě zvyšuje odolnost konzistence dat proti výpadku napájení. Vedlejším efektem je, že to dramaticky zpomaluje zápis menších bloků dat. Proto je dobré pro ZIL rezervovat zvlášť SSD.

Normálně to funguje tak, že ZIL je na ZFS vždy (je to výchozí konfigurace a v rámci bezpečnosti není dobrý nápad ZIL vypínat). To vezmete hromadu disků (nebo jen jeden, to je jedno) a uděláte z nich tzv. ZFS pool, což je vlastně sada disků určená pro vytvoření jednoho pole a na něm se pak vytvářejí virtuální disky (často jen jeden přes celý pool). Pokud není pro ZIL vyhrazen nějaký samostatný disk, je ZIL součástí hlavního datového poolu - prostě se část kapacity vyhradí pro ZIL. A protože součástí dat ukládaných do ZIL jsou i malé bloky dat, funguje to v jejich případě tak, že se nejprve uloží do ZILu a poté se odtud kopírují do datové části poolu. Jinými slovy malá data se do ZFS pole zapisují v podstatě dvakrát. Asi si umíte představit, jak to na klasických diskových polích vytvořených z pevných disků musí zdržovat.

ZIL-Drawing (zdroj: http://www.racktopsystems.com/zfs-to-mirror-or-not-to-mirror-the-zil/)
Nákres ZILu z SSD (zdroj: www.racktopsystems.com)

Pokud se vezme extra SSD a udělá se z něj ZIL, pak to do určité míry funguje jako taková cache pro menší bloky dat, přičemž zapisování větších bloků dat to nezdržuje zapisováním logů o zápisových operacích do ZILu, který by byl jinak kdesi na pevných discích. Je tedy dobrý nápad nejen použít pro ZIL vyhrazené SSDčko, ale také je dobrý nápad použít fakt dobré SSDčko. Nejlepší, které se dá sehnat, je rychlé skoro jako RAM, jmenuje se ZeusRAM, pochází od firmy STEC, která je nyní již součástí Hitachi Global Storage Systems a jde o 6Gbit/s SAS SSD, jehož součástí je DDR3 paměť (odtud jméno ZeusRAM) a flash paměť, přičemž standardně se zapisuje do DRAM části a později se to na pozadí klonuje do flash paměti. Proti výpadku napájení obsahuje ZeusRAM kondenzátory takové kapacity, že se jim dá skoro říkat akumulátory. Vypadne-li tomuto SSD napájení, pak okamžitě dochází k překlápění obsahu RAM na flash, což může trvat až 30 sekund. Vestavěné superkondenzátory dokážou držet až den. Než je SSD připraveno k použití, musí se kondenzátory nabít, což může trvat až kolem 6 až 8 minut, ale většinou to trvá výrazně kratší dobu, protože se obvykle nenechávají zcela vybít. Každopádně má takovéto SSDčko kapacitu jen 8 GB, fyzický formát 3,5″ disku a je zatraceně drahé. Avšak pro SAS nic rychlejšího neseženete (SSD se dokonce dělá i jako dvouportové, takže propustnost pak roste). Hlavní devizou jsou velmi nízké latence do 23 µs.

Cílem všech SSDček je samozřejmě přiblížit se výkonu tohoto ZeusRAMu, nebo ještě lépe jej překonat a přiblížit se stavu, kdy se jedná o asynchronní zápis a tedy vlastně cachování zápisů do RAM. Jinými slovy skloubit rychlost s bezpečností, přičemž bezpečnost je na prvním místě. máme vyzkoušeno, že jako nejlepší z cenově dostupnějších řešení (kam ZeusRAM určitě nepatří) se ukázalo 800GB SSD Intel DC S3700, u něhož se navíc nemusíme obávat o životnost, protože toto SSD bude s největší pravděpodobností to poslední, co v celé sestavě zdechne vyčerpáním.

Kdybyste viděli provoz diskového pole s vyhrazeným ZIL na SSD a bez SSD, pak byste krásně viděli ten rozdíl. Bez vyhrazeného SSD pro ZIL indikační LEDky všech disků blikají jak oteklé, ale jakmile se vyhradí SSD pro ZIL, pak je krásně vidět, že LEDka od SSD v podstatě svítí a disky si jen jednou za čas bliknou do kroku.

Popis testu

My testujeme vhodnost SSD pro ZIL v podstatě stejným způsobem, jakým jej testuje autor serverového řešení Napp-it. To znamená, že se jako pole vytvoří ZFS pool z jediného (testovaného) SSD, na němž se automaticky část kapacity vyhradí pro ZIL. Tedy fakticky to pole není, je to prostě jedno SSD používané v zásadě krapítko neefektivním způsobem, ale vhodnost pro ZIL se na tom testuje dobře, protože nic jiného než samotné SSD na výkon v danou chvíli vliv nemá. Pole je nastaveno tak, aby se všechny zápisy chovaly jako synchronní.

Na tomto SSD se tedy vytvoří pool, na něm virtuální disk a ten se nasdílí přes iSCSI. V našem případě je operačním systémem se ZFS OmniOS provozovaný na fyzickém železe sestávajícím z nějakého toho Opteronu, dostatku RAM a samozřejmě 1Gbitové síťovky, která je pro minimalizaci vnějších vlivů přímo propojená s testovacím počítačem, kde je systém Windows a na něm připojený iSCSI disk. A na tomto disku se jednoduše pustí CrystalDiskMark.

Na výsledku nás nezajímají rychlosti čtení, protože ZIL je hlavně o zápisu, a to především o zápisu menších bloků dat, tedy v případě CrystalDiskMarku sledujeme 4K bloky. Velké bloky dat pak hovoří o rychlosti zápisu na SSD jako takové (zdržované logováním do ZIL).

Malá ukázka od autora Napp-it: takto vypadá práce čistě se ZeusRAM (test probíhal uvedenou metodou samostatného SSD v ZFS poolu přes iSCSI, avšak přes 10Gbit/s ethernet). Vlevo je asynchronní zápis, kdy se vlastně zápisy cachují do RAM (aneb rychleji to nejde), vpravo pak synchronní, kdy přichází ke slovu výkon ZIL.

Test ZFS - CrystalDiskMark - ZeusRAM - async Test ZFS - CrystalDiskMark - ZeusRAM - sync
ZeusRAM 8GB - vlevo asynchronní, vpravo synchronní zápisy (přes 10GbE)

Rychlejších zápisů 4K QD32 se s ničím jiným nepodařilo dosáhnout a i hodnota 12 MB/s u samotných 4K zápisů je velmi dobrá.

A takto to vypadá u některých našich testů v reálném nasazení. To znamená deset WD RE disků, vlevo bez SSD vyhrazeného na SIL, vpravo s SSD vyhrazeným pro ZIL (jmenovitě Intel DC S3500 120GB, kterému jsme udělili naše čtvrté ocenění):

Test ZFS - CrystalDiskMark - 10× WD RE (bez SSD) Test ZFS - CrystalDiskMark - 10× WD RE + Intel 3500 120GB
10× WD RE 2TB, vlevo bez SSD pro ZIL, vpravo s SSD Intel DC S3500 120GB vyhrazeným pro ZIL
(přes 1GbE)

Nutno říci, že ač se jinak toto SSD tvářilo jako consumer SSD, pro ZIL není špatné, tedy pokud vydrží ;). Výsledky s ním jsou docela dobré. Každopádně si povšimněte rozdílů v rychlostech zápisu, který je přesně tím, oč u ZILu vyhrazeném na samostatném SSD běží. Rychlost se zvedne zhruba o řád. Rychlost vlastně narůstá dramaticky s jakýmkoli SSD, snad s jedinou výjimkou, kterou je v našich dosavadních měřeních Crucial M500 480GB.

Mimochodem čtení je v takto krátkém testu obvykle cachováno z RAM na straně serveru, zde bude nejužším hrdlem samotné síťové připojení (v našem případě tedy 1Gbitový napřímo spojený ethernet, navíc ještě z patra do patra, byť samostatným vedením zcela mimo jakékoli switche, jsou jen v racku napevno propojené patřičné zásuvky).

Drobná poznámka: původní klasický test SSD SanDisk Ultra Plus si můžete přečíst zde (to jen abyste věděli, o čem dnes kromě ZILu bude řeč):

Kapitoly článků
1.  Co je ZIL a jak testujeme vhodnost SSD

WIFT "WIFT" WIFT

Bývalý dlouholetý redaktor internetového magazínu CDR-Server / Deep in IT, který se věnoval psaní článků o IT a souvisejících věcech téměř od založení CD-R serveru. Od roku 2014 už psaní článků fakticky pověsil na hřebík.

více článků, blogů a informací o autorovi

Diskuse ke článku Test SanDisk Ultra Plus podruhé: hodí se pro ZIL?

Pátek, 14 Únor 2014 - 19:56 | VCR33 | Díky:-).
Pátek, 14 Únor 2014 - 18:22 | kvolaa | P.S. SAS/SATA HBA samozřejmě nemusíte kupovat,...
Pátek, 14 Únor 2014 - 17:50 | kvolaa | Názor na Intel RST - je to prima věc pro desktop...
Pátek, 14 Únor 2014 - 16:14 | kvolaa | Hehe. Tohle vzácné zvíře (Atomový board s ECC) je...
Pátek, 14 Únor 2014 - 10:13 | Jaromir108 | P.S. ... podobné železo ... přiznám se, že atomy...
Pátek, 14 Únor 2014 - 08:49 | Jaromir108 | Dobrý den, jestli se ptáte mne, tak je odpověď...
Čtvrtek, 13 Únor 2014 - 20:40 | Pan_Filuta | Měl jsem podobné železo, léta NAS založený na...
Čtvrtek, 13 Únor 2014 - 17:35 | kvolaa | To mě také zarazilo, je to úplná blbost. Právě...
Čtvrtek, 13 Únor 2014 - 17:14 | kvolaa | Tak teď, když jste popsal podrobněji účel stroje...
Čtvrtek, 13 Únor 2014 - 16:20 | kvolaa | Souhlas, technicky to tak je - FreeNAS se ZFS se...

Zobrazit diskusi