HIGH PERFORMANCE SOLID STATE DRIVES V SERVERECH

Podobné dokumenty
Solid State Drive SSD polovodičový disk. J. Vrzal, verze 0.8

SSD v serveru. Pavel Šnajdr InstallFest 2015

Číslo projektu: CZ.1.07/1.5.00/ III/2 Inovace a zkvalitnění výuky prostřednictvím ICT. Zdeněk Dostál Ročník: 1. Hardware.

Operační systémy 1. Přednáška číslo Struktura odkládacích zařízení

Operační systémy 2. Struktura odkládacích zařízení Přednáška číslo 10

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Základní pojmy informačních technologií

Server je v informatice obecné označení pro počítač, který poskytuje nějaké služby nebo počítačový program, který tyto služby realizuje.

nutné smazat zároveň i všechna ostatní zainteresovaná paměťová místa přepisovaném

Přednáška. Úložiště dat: HDD, SDD, RAID, DAS, NAS, SAN. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Počítačová sestava pevný disk (HDD, SSD, USB flash disk)

Portfolio úložišť WD pro datová centra Kapacitní úložiště prošlo vývojem

Souborové systémy a logická struktura dat (principy, porovnání, příklady).

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Disková pole (RAID) 1

Když konvenční disky nestačí tempu vašich aplikací

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

SSD vs. HDD / WAL, indexy a fsync

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

Datová úložiště. Zdroj: IBM

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

2.10 Vnější paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Paměti Josef Horálek

ReDefine Midrange Storage VNX/VNXe. Václav Šindelář, EMC

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

DUM č. 10 v sadě. 31. Inf-7 Technické vybavení počítačů

EXTERNÍ PAMĚŤOVÁ MÉDIA

SKŘÍŇ PC. Základní součástí počítačové sestavy je skříň.

Storage... co je nového (SSD!)... a co se zatím nepovedlo rozbít:-)

Operační systémy 1. Přednáška číslo Souborové systémy

IPZ laboratoře Struktura pevného disku L305 Cvičení 1 Cvičící:

Uchovávání dat v SSD

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

Paměti Flash. Paměti Flash. Základní charakteristiky

Obsah. Kapitola 1 Skříně počítačů 15. Kapitola 2 Základní deska (mainboard) 19. Kapitola 3 Napájecí zdroj 25. Úvod 11

Datasheet SanDisk Řada PCIe-SSD Fusion iomemory PX600 Server

Disková pole (RAID) 1

Organizace a zpracování dat I (NDBI007) RNDr. Michal Žemlička, Ph.D.

Specifikace předmětu veřejné zakázky

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Silný výkon dvoujádrové architektury pro podnikání dnes i zítra

2.2 Acronis True Image 19

Linux RAID, LVM. 27. listopadu Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Téma 12: Správa diskových jednotek a system souborů. Téma 12: Správa diskových jednotek a systémů souborů

FLASH NOVÉ HRANICE DOSAŽITELNÉHO

RAID, LVM a souborové systémy

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Paměti Rambus DRAM (RDRAM) Paměti Flash Paměti SGRAM

KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

Identifikátor materiálu: ICT-1-08

Typy externích paměťových médií

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Paměť počítače. 0 (neprochází proud) 1 (prochází proud)

QNAP TS-409 a QNAP TS-409 Pro. Jak použít funkci Online RAID Capacity Expansion a RAID Level Migration

Mezipaměti počítače. L2 cache. L3 cache

Diskové paměti nové pojmy a technologie

Instalace OS, nastavení systému

Technická specifikace ČÁST 1. Místo plnění: PČR Kriminalistický ústav Praha, Bartolomějská 10, Praha 1

CA21 PŘÍRUČKA UŽIVATELE

Paměťový podsystém počítače

Přenášení nikdy nevypadalo tak dobře

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

Shrnutí Obecné Operační systém Microsoft Windows 7 Ultimate Centrální procesor

Uživatelský manuál. A3600 DL ( Data Download)

Hardware. Příklad převodu čísla: =1*32+0*16+0*8+1*4+0*2+1*1= Převod z dvojkové na desítkovou Sčítání ve dvojkové soustavě

Střední odborná škola a Střední odborné učiliště, Hořovice

B4B35OSY: Operační systémy

Uživatelský manuál A4000BDL

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností, budoucností a hlavními parametry.

Disková pole (RAID) 1

VY_32_INOVACE_2_3_INF_KN. Datová úložiště

Počítačová sestava paměti, operační paměť RAM

Integrovaná střední škola, Sokolnice 496

Lekce 7 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

CHARAKTERISTIKY MODELŮ PC

Logická organizace paměti Josef Horálek

NB Sweex Internal USB 2.0 Card Reader 16-in-1

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Architektura Intel Atom

OZD. 2. ledna Logický (Objekty, atributy,...) objekty stejného typu.

Číslo projektu: CZ.1.07/1.5.00/ III/2 Inovace a zkvalitnění výuky prostřednictvím ICT. Zdeněk Dostál Ročník: 1. Hardware.

Specifikace předmětu veřejné zakázky

Paměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš

Souborové systémy. Architektura disku

Logická struktura pevného disku

Parametry pevných disků

Porovnání SSDNow a HDD, příklady a scénáře jejich použití

Bloková zařízení v LINUXu Jan Vrbata - GOPAS

BRICSCAD V15. Licencování

Výukový materiál Hardware je zaměřený především na výuku principů práce hardwaru a dále uvádí konkrétní příklady použití.

MBus Explorer MULTI. Uživatelský manuál V. 1.1

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Polovodičové paměti. Polovodičové paměti. - Paměti Flash ROM - použití v počítačích k uchování informací o konfiguraci, Princip zápisu a čtení

MARIE PACS S PACSem hezky od podlahy když se data sypou!

Struktura a architektura počítačů (BI-SAP) 10

Růst datových potřeb Pojem velkokapacitní se mění v čase Dříve několik MB, dnes stovky GB až TB

Identifikátor materiálu: ICT-1-11

Transkript:

HIGH PERFORMANCE SOLID STATE DRIVES V SERVERECH

Obsah 3 SSD disky pro použití v serverech 4 Čerstvé čipy tak fungují SSD disky Srovnání pevných disků Konstrukce Techniky zápisu Write Amplification Životnost Oblasti použití Shrnutí 9 Optimalizace výkonu SSD disku rychlost nejsou žádné čáry Aktivace AHCI Zvětšení Spare Area Secure Erase Partition Alignment ATA TRIM Shrnutí 14 Stohy flash pamětí s funkcí turbo provoz SSD disků v polích RAID s optimálním výkonem SSD a RAID řadiče Výkon: IOPS, latence a propustnost Měření výkonu pomocí FIO Určení Baseline výkonu Účinná opatření ke zvýšení výkonu Sledování stavu SSD disků a polí RAID Kontrola konzistence RAID Kontrolní seznam pro SSD disky v polích RAID Shrnutí 24 Glosář

thomas-krenn.cz 3 SSD disky pro použití v serverech SSD disky se šíří neuvěřitelnou rychlostí a již brzy vytlačí klasické pevné disky snad ve všech oblastech. Tyto populární zázraky o vysokém výkonu slibují podstatně vyšší I/O výkon než běžné pevné disky a to při nízké spotřebě elektrické energie. Díky tomu je možné dosáhnout vyššího výkonu a efektivnější spotřeby energie. Vzhledem k tomu, že se tato technologie těší stále větší popularitě, přispívají i autoři společnosti Thomas-Krenn AG k vysvětlení nových trendů a poskytují další užitečné tipy. Ve spolupráci s časopisy ADMIN Magazin a IT- Administrator již proto v průběhu času vyšla řada informativních odborných článků. Pro čtenáře zajímající se o tuto problematiku přinášíme tyto články v podobě kompaktního e-booku. Pro usnadnění orientace jsme tento e-book rozdělili na tři kapitoly: Na počátku se zabýváme vysvětlením technologie SSD disků, abychom již předem vyloučili případné nejasnosti. Ve druhé části e-booku naleznete informace k navýšení výkonu jednotlivých SSD disků a upozornění na problémy, se kterými se v této souvislosti můžete setkat. Vylepšení výkonu u SSD disků v polích RAID tvoří třetí a poslední kapitolu. Jako malý doplněk se na konci e-booku nachází i glosář s nejdůležitějšími hesly k tématu SSD. Tento e-book vznikl ve spolupráci s:

thomas-krenn.cz 4 Čerstvé čipy Tak fungují SSD disky První kapitola tohoto e-booku se zabývá principem fungování SSD disků. Současně objasňuje, odkdy se vyplatí takový SSD disk použít. SSD disky mají totiž s klasickými pevnými disky společnou jen jednu věc: Obě média ukládají data. SSD disky však uvnitř pracují zcela jinak než běžné pevné disky. Zatímco pevné disky zapisují data na několik magnetických kotoučů, využívají SSD disky k ukládání dat několik flashových paměťových čipů u kapacit kolem 200 GB mezi 10 a 20 kusy. Vzhledem k tomu, že u SSD disků se nepohybují žádné mechanické části jako u klasických disků, jsou zejména náhodné přístupy k datům podstatně rychlejší. Srovnání pevných disků Pro srovnání výkonu SSD disků s klasickými pevnými disky je nutné se nejprve podívat na vnitřní konstrukci klasických pevných disků, které ukládají data na několika rotujících magnetických discích. Data jsou prostřednictvím čtecích/zapisovacích hlav ukládána na tyto disky, resp. jsou z nich čtena. Pokud se tedy má přečíst náhodný sektor pevného disku, musí disk přesunout čtecí/zapisovací hlavu na správné místo (Seek Time), a poté čekat, až požadovaný sektor na rotujícím kotouči projede pod čtecí/zapisovací hlavou (Latency Time). Tento Latency Time (latenční čas) zahrnuje v průměru dobu, která je potřebná pro půl otáčky. Součet vyhledávacích a latenčních časů (Seek Time a Latency Time) se nazývá Random Access Time (průměrná přístupová doba). Ta se v závislosti na disku a jeho otáčkách pohybuje v rozsahu pět až 15 milisekund, což odpovídá 200 respektive 66 IOPS (I/O operacím za sekundu). SSD disky v porovnání s tím dosahují několik desítek tisíc náhodně rozdělených IOPS. U plynulých přenosů dat však klasický pevný disk drží krok mnohem lépe. V závislosti na typu dosahuje přenosové rychlosti v rozsahu 60 až 150 MB/s. SSD disky jsou sice na počátku schopny dosahovat rychlosti více než 250 MB/s, nicméně s tím, jak se zaplňuje jejich kapacita, tato hodnota klesá. Jak velký je tento pokles, to záleží mimo jiné i na algoritmech v SSD řadiči. Konstrukce Nejmenší jednotkou ve flash čipu u SSD disku je paměťová buňka. V závislosti na typu ukládá tato paměťová buňka jeden nebo několik bitů: _SLC (Single Level Cell) 1 bit _MLC (Multi Level Cell) 2 bity _TLC (Triple Level Cell) 3 bity Disk typu SLC rozlišuje dva stavy nabití, disk typu MLC čtyři a disk typu TLC osm. Napětí vznikající při zápisu do jedné paměťové buňky je ovšem pevné. Proto musí u typu MLC napětí pro zápis působit až čtyřikrát, aby bylo dosaženo maximálního stavu nabití. U disku typu SLC postačí nejvýše dva takové procesy výkon při zápisu je díky tomu vyšší. Disky typu TLC vyžadují až osminásobné napětí. V současné době SSD disky typu TLC pronikly již na podnikové trhy (např. Samsung PM835T).

thomas-krenn.cz 5 Při každém působení napětí dochází k malému opotřebení izolační vrstvy paměťové buňky. Vzhledem k tomu, že pro jeden jediný zápis na disku typu MLC je nutné aplikovat napětí častěji než u disku typu SLC, zvládne MLC menší počet zápisů (tzv. Program/Erase Cycles nebo také P/E cyklů). MLC vykazují nejčastěji životnost mezi 10 000 a 30 000 P/E cykly, SLC téměř 100 000 P/E cyklů. Modely typu TLC se pohybují na podstatně nižší úrovni v rozsahu cca 1 000 P/E cyklů. Několik paměťových buněk tvoří tzv. stránku. Ta je nejmenší strukturou, kterou je SSD řadič schopen číst nebo na ni zapisovat. Nicméně SSD řadič není schopen smazat nebo měnit obsah již popsané stránky. Tato stránka má zpravidla velikost čtyř kibibajtů (KiB) (= 4 096 bajtů). U MLC disků to odpovídá počtu 16 384 paměťových buněk. Flash čipy se šířkou výrobní struktury 25 nm mají stránky o velikosti osmi KiB. Několik takových stránek je sdruženo do bloků. Takový blok se například skládá ze 128 stránek a obsahuje díky tomu 512 kb dat. Bloky o výrobním rozměru 25 nm využívají 256 stránek à osm KiB, v součtu tedy 2 MiB. Jeden blok je nejmenší jednotka, kterou je SSD řadič schopen mazat, a to tak, že přivede mazací napětí na celý blok. Teprve po smazání bloku je SSD řadič schopen nového zápisu na jednotlivé stránky. 1 024 bloků tvoří jeden sektor. Čtyři sektory jsou např. umístěny na jednom plátu, jak je zobrazeno na obr. 1. Jeden plát je velký zhruba jako nehet (167 mm2). Ve výrobě se z jednoho waferu získá cca 200 až 300 plátů. V závislosti na požadované kapacitě nakonec skončí jeden až osm plátů v tzv. thin small outline package (TSOP) ano, to jsou ony černé čipy, které se nacházejí rovněž na paměťových modulech. Jeden SSD disk se nakonec skládá z jednoho až deseti TSOP a jednoho SSD řadiče. Obr. 1: Plát na flash čipu se 4 sektory. Zdroj: Intel https://download.intel.com/pressroom/images/25mm_die.jpg Techniky zápisu Popsaný princip interní funkce SSD disku vyžaduje speciální techniky zápisu, aby bylo dosaženo jak vysokého výkonu, tak i dlouhé životnosti SSD disku. Prvotní zápis na SSD disk je přitom ještě jednoduchý. Všechny bloky (a tím i všechny stránky) jsou smazané. Nová data zapisuje SSD řadič přímo na příslušné stránky. Horší je to ve chvíli, kdy se mají již existující data měnit.

thomas-krenn.cz 6 Bez přídavných mechanismů by SSD řadič musel veškeré stránky jednoho bloku nejprve načíst do cache, následně smazat celý blok, aby poté zapsal v mezipaměti uložená a změněná data zpět do bloku. Změna jednoho jediného bitu by tak čtením, smazáním a novým zápisem vytvořila 512 KiB dat. Tomu SSD řadič zabrání jednoduchým trikem. Pokud změní data jedné stránky, jednoduše nová data zapíše na jinou stránku, která je dosud smazaná. V interní tabulce přiřazení při tom SSD řadič poznamená, že data s logickou LBA adresou již nelze nalézt na stránce X, nýbrž na stránce Y. Původní stránku X označí jako neplatnou. Aby tato metoda fungovala, potřebuje SSD řadič dodatečnou paměťovou kapacitu. Jinak by totiž nemohl na zcela zaplněném SSD disku měnit žádná data. Z tohoto důvodu má každý SSD disk tzv. Spare Area (rezervní prostor). Typická velikost tohoto rezervního prostoru činí sedm až 41 procent (Intel DC S3700) jmenovité kapacity SSD disku. Jeden 200 GB SSD disk může tedy ve skutečnosti disponovat velikostí až 283 GB, nicméně 83,5 GB SSD disk před operačním systémem schová a využívá tuto kapacitu jako rezervní prostor. S postupem času se mění čím dál více existujících dat. Další a další stránky SSD řadič označuje jako neplatné. Jednotlivé bloky nyní obsahují 40 až 60 procent skutečných dat, zbývající stránky v nich jsou neplatné a nelze je zatím používat. Než se tedy rezervní prostor zcela vyčerpá, provede SSD řadič úklid. Během této tzv. Garbage Collection (sběr odpadků) zkopíruje SSD řadič dosud platné stránky jednoho bloku na volný blok, který tak bude naplněn jen zčásti. Zbylé stránky tohoto nového bloku zůstanou nepopsané a lze je využít pro další zápis. Původní blok poté SSD řadič smaže, a díky tomu jsou všechny stránky tohoto smazaného bloku schopné nového zápisu. Na obr. 2 je znázorněn příklad této funkce. Jak již bylo zmíněno v úvodu, je počet možných zápisů (P/E cyklů) na jednu paměťovou buňku omezený. Pokud je tedy nutné ukládat nová data, zapisuje je SSD řadič vždy nejprve na stránky, které jsou nejméně opotřebované. Tento proces je označován jako Dynamic Wear Leveling (dynamické rozdělení opotřebení). Dynamické proto, že jsou rozdělována jen nová nebo změněná data. V příkladu na obr. 2 je mnoho stránek neplatných, neboť jejich data byla změněna a uložena jinam. Při Garbage Collection se neplatné oblasti stanou znovu použitelnými. Tato metoda prodlužuje životnost SSD disku. Data, která se zapíší jen jednou a poté už se nemění, však na svých stránkách zůstanou. Static Wear Leveling jde pak ještě o krok dále a přesouvá periodicky i taková data na jiné stránky, které jsou již více opotřebované. Díky tomu se všechny stránky SSD disku skutečně opotřebovávají rovnoměrně a životnost SSD disku se znovu zvyšuje. Obr. 2: Řada stránek je neplatných, neboť jejich data byla změněna a uložena jinam. Při Garbage Collection se neplatné oblasti stanou znovu použitelnými.

thomas-krenn.cz 7 Write Amplification Prostřednictvím popsaných algoritmů se již zapsaná data, ačkoliv se nemění, kopírují do jiných stránek (buď funkcí Garbage Collection nebo Static Wear Leveling). Jeden zapsaný bajt tak může být SSD řadičem v průběhu času kopírován několikrát, a tím vést k několika procesům zápisu. Koeficient, který udává, jak často statisticky dochází k takovému kopírování, se označuje jako Write Amplification. Vysoká Write Amplification přirozeně vede k vysokému opotřebení, a tím i zkrácení životnosti. Některé SSD řadiče (např. od společnosti Sandforce) se prostřednictvím komprimace dat v SSD řadiči snaží snížit počet potřebných procesů zápisu, aby se tak snížilo i opotřebení SSD disku. Další možností je rozšíření rezervního prostoru. Tím sice klesne použitelná kapacita disku, ale prodlouží se jeho životnost, neboť proces Garbage Collection bude nutné provádět méně často. Životnost Životnost SSD disků je omezena životností paměťových buněk. S postupujícím používáním může docházet k výpadku většího počtu bloků. Pojem výpadek je však v tomto případě relativní. Čím více proběhne P/E cyklů, tím déle trvá smazání jednoho bloku. Pokud tato doba potřebná ke smazání překročí určitou hranici, označí SSD řadič tento blok jako Bad Block a namísto něho využije náhradní blok z rezervního prostoru. Tím sice nedojde ke ztrátě dat, nicméně klesne počet rezervních bloků. Může sice dojít ke vzniků jednotlivých chyb bitů (raw bit error rate, RBER), ty jsou však opraveny prostřednictvím ECC mechanismů. Až v případě velkého množství chyb bitů již ECC nemá možnost zasáhnout a dojde k neopravitelné chybě (uncorrectable bit error rate, UBER). Aby byla v budoucnu životnost různých SSD disků snadno porovnatelná, schválila JDEC Solid State Technology Association oba standardy JESD218 (SSD Requirements and Endurance Test Method) a JESD219 (SSD Endurance Workloads). Díky tomu mohou výrobci udávat životnost svých SSD disků v TBW (Terabytes written, zapsané terabajty). Některé SSD disky již nyní prostřednictvím funkce SMART poskytují informaci o zbývající životnosti (Media Wearout Indicator) [1]. Obecně je však očekávaná životnost SSD disků při běžných počtech zápisů v zásadě srovnatelná s životností pevných disků, a nezřídka je i vyšší, neboť u SSD disků nedochází k mechanickým výpadkům (jako např. kolize zapisovacích hlav s plotnou ).

thomas-krenn.cz 8 Oblasti použití SSD disky se díky svým vlastnostem hodí k použití v řadě oblastí. Následující seznam je setříděný podle stoupajících investičních nákladů. Již SSD disky s menší kapacitou v rozsahu mezi 40 a 80 GB přináší u stolního PC výrazné výhody, co se týče produktivity. Při nízkých investičních nákladech slouží vedle pevného disku, který obsahuje uživatelská data, jako instalační médium pro operační systém a programy. Start počítače se tím výrazně zrychlí, jednotlivé aplikace se spouštějí rychleji a práce na počítači je plynulejší. SSD disky o vyšších kapacitách od 160 GB mohou v počítači klasický pevný disk zcela nahradit. O něco vyšší pořizovací náklady jsou v současné době již zanedbatelné a větší SSD disk mimo jiné zrychlí i přístup k uživatelským datům. Další výhodou absence klasického pevného disku je i nepřítomnost jeho provozního hluku a výrazně nižší spotřeba elektrické energie. U notebooků tím lze prodloužit provozuschopnost baterie o 20 až 30 minut. Rovněž v serverech má použití SSD disků své opodstatnění. Zejména u databází s velkým počtem náhodných I/O přístupů se plně projeví výhody SSD disků. Zrcadlení SSD disků prostřednictvím RAID 1 chrání před ztrátou dat v případě výpadku jednoho SSD disku. SSD disky lze kromě toho využít i v diskovém poli RAID společně s klasickými pevnými disky jako zrychlenou paměť cache pro zápis/čtení. U Adaptecu se tato technologie nazývá maxcache a LSI ji označuje jako CacheCade. Shrnutí SSD disky jsou sice stále ještě spojeny s vyššími pořizovacími náklady, nicméně se díky svému vyššímu I/O výkonu velmi často rychle vyplatí. Pro dobrý výkon je však rozhodující kvalita, s jakou výrobce implementoval algoritmy do SSD řadiče. Poté, co jsme prošli základy SSD technologie, nám následující kapitola ukáže, jak lze pomocí AHCI, ATA TRIM, zvětšeného rezervního prostoru a správného přiřazení oddílů optimalizovat výkon SSD disku. 1 SMART Attribute u SSD disků společnosti Intel (https://www.thomas-krenn.com/de/wiki/smart_attribute_von_intel_ssds)

Optimalizace výkonu SSD disku Rychlost nejsou žádné čáry thomas-krenn.cz 9 SSD disky se stejně jako řada běžných pevných disků propojuje s počítačem přes rozhraní SATA. Pokud je počítač alespoň částečně aktuální, je schopen při startu SSD disk rozpoznat a je schopen jej ihned používat. Poté, co jsme se v předchozí kapitole seznámili se základy SSD disků, se nyní dočteme, jak lze před použitím SSD disku dosáhnout kontrolou několika nastavení jeho optimálního výkonu. Aktivace AHCI První krok na cestě k optimálnímu I/O výkonu SSD disku spočívá v tom, že se aktivuje režim Advanced Host Controller Interface (AHCI) v BIOSu. Ten na rozdíl od režimu IDE umožňuje Native Command Queuing (NCQ). Díky tomu dostává SSD disk od operačního systému hned několik I/O požadavků současně a nemusí po každém jednotlivém požadavku čekat na další. Vedení v SSD disku zůstává plné, SSD řadič může průběžně zpracovávat I/O požadavky, výkon stoupá. Kromě NCQ režim AHCI navíc nabízí i Device Initiated Power Management (DIPM) pro rozhraní SATA, jež významnou měrou redukuje spotřebu proudu SSD disků v režimu spánku. To sice nezvýší výkon, ale prodlouží dobu provozu na baterii notebooku. Funkce DIPM je podporována jak ovladačem MSAHCI od Microsoftu, tak i operačním systémem Linux od verze jádra 2.6.24. Ovladač MSAHCI standardně používá funkci DIPM pouze v režimu úspory elektrické energie. Prostřednictvím nástroje Windows»powercfg«lze využití DIPM aktivovat i v jiných režimech. Pod Linuxem lze DIPM aktivovat pomocí Sysfs (listing 1). Třetí výhodou AHCI je, že lze vyměňovat mechaniky za provozu v režimu Hot- Plug. Zvětšení Spare Area Jak již bylo zmíněno v první kapitole tohoto e-booku, není SSD řadič schopen měnit data již jednou popsané stránky (skládající se z několika paměťových buněk). Před opětovným zapsáním stránky by řadič musel vymazat celý blok, v němž se stránka nachází. Aby se tomu zabránilo, zapíše v takovém případě řadič změněná data jednoduše na jinou, dosud nepoužitou stránku, a odpovídajícím způsobem zaktualizuje svou interní tabulku přiřazení (obr. 3). Pokud je na SSD disku zpočátku uloženo málo dat, je množství volných stránek dostatečné. Kromě toho má každý SSD disk rezervní prostor, jehož stránky řadič pro tyto účely rovněž využije. Než se stránky zcela vyčerpají, provede SSD řadič pomocí nástroje Garbage Collector potřebný úklid. Při tom zkopíruje roztroušené obsazené stránky z různých bloků do dosud volných stránek. Takto uvolněné bloky pak může smazat. Tím získá k dispozici opět větší množství nepoužitých stránek. Tento sběr odpadků však stojí čas, a tím i výkon. Kromě toho se interním kopírováním zvyšuje počet zápisů do jednotlivých paměťových buněk (stoupá Write Amplification). V důsledku toho klesá životnost těchto paměťových buněk. Jednoduchým trikem lze častému vyvolání Garbage Collection zabránit: Pokud během prvního použití SSD disku dojde k rozdělení asi jen 90 procent disponibilní paměti (Over-Provisioning), nebude se na zbývajících deset procent provádět žádný zápis. Příslušné stránky zůstanou nepoužité a SSD řadič může tyto stránky použít jako stránky z rezervního prostoru. Průzkumy společnosti Intel ukazují, že při takové úspoře deseti procent datového množství stoupá náhodný I/O výkon na dvouapůlnásobek. [2] (obr. 4). 2 Zvětšení Spare Area (https://www.thomas-krenn.com/de/wiki/ssd_performance_optimieren)

thomas-krenn.cz 10 Listing 1: DIPM konfigurace v systému Linux root@ubuntu:~# hdparm -I /dev/sda grep Device-initiated Device-initiated interface power management root@ubuntu:~# echo min_power > /sys/class/scsi_host/host0/link_power_management_policy root@ubuntu:~# hdparm -I /dev/sda grep Device-initiated * Device-initiated interface power management Tabulka přiřazení: Obr. 3: Řada stránek (označené červeně) je neplatných, neboť jejich data byla změněna a uložena jinam. SSD řadič odpovídajícím způsobem zaktualizuje svou tabulku přiřazení. Secure Erase Jak již bylo vysvětleno, není SSD řadič schopen změnit data na již jednou popsané stránce, nýbrž musí napřed smazat celý blok s několika stránkami. Pro opětovné použití již jednou použitého SSD disku se proto doporučuje nejprve smazat všechny jeho bloky. U většiny SSD disků toho lze dosáhnout jednoduchou funkcí Secure Erase. [3] Takový způsob mazání má dle specifikace ATA zajistit bezpečné smazání všech dat uložených na datovém nosiči. U většiny SSD disků, jež funkci Secure Erase podporují, to vede k fyzickému smazání všech bloků na SSD disku. SSD disk pak lze opět využít s původním optimálním výkonem, neboť na všechny stránky lze znovu přímo zapisovat. U některých nových SSD disků však je funkce Secure Erase implementována jinak. Tyto SSD disky automaticky šifrují všechna zapisovaná data. V případě Secure Erase se pak jednoduše bezpečně smaže celý klíč data pak již nelze rozšifrovat, i když jsou stále ještě fyzicky přítomna. U takových SSD disků nedojde ke smazání všech bloků. V tomto případě musí být bloky smazány pomocí funkce TRIM, aby bylo dosaženo optimálního výkonu pro nové použití SSD disku. Windows 7 provádí funkci TRIM při formátování automaticky. V Linuxu k tomu sice»hdparm«nabízí volbu» trim sector ranges«-, stránka s manuálem pro hdparm 9.43 (Ubuntu 14.04) však od jejího použití stále ještě odrazuje. 3 SSD Secure Erase (https://www.thomas-krenn.com/de/wiki/ssd_secure_erase)

thomas-krenn.cz 11 Partition Alignment Pod pojmem Partition Alignment chápeme vyrovnání oddílů na určitých hranicích datového nosiče [4]. Správné přiřazení oddílů zaručuje optimální výkon přístupu k datům. Speciálně u SSD disků (s velikostí stránky o např. 4 096 nebo 8 192 bajtech), pevných disků se sektory po 4 KiB (4 096 bajtů) a RAID polí vede chybné vyrovnání oddílů ke sníženému výkonu. [5] V minulosti začínal první oddíl vždy na LBA adrese 63 (odpovídá 64. sektoru), aby byl kompatibilní se systémem DOS a starým adresováním CHS (Cylindr/ Hlava/Sektor). Velikost takového (logického) sektoru činí 512 bajtů. U běžných pevných disků (s fyzickou velikostí sektorů 512 bajtů) to s sebou nenese žádné nevýhody. Novější pevné disky s fyzickou velikostí sektorů 4 096 bajtů (4 KiB) sice směrem ven emulují velikost sektoru 512 bajtů, interně však pracují s 4 096 bajty. Také SSD disky pracují s velikostí stránky 4 KiB resp. 8 KiB. U těchto nových pevných a SSD disků je však proto rozdělení oddílů počínající na LBA adrese 63 velmi problematické. Pokud uživatel takový oddíl naformátuje typickou velikostí bloku po 4 KiB, nevejdou se 4 KiB bloky systému souborů přímo do stránek SSD disku o velikosti 4 KiB nebo 8 KiB (obr. 5). Při zápisu jednoho jediného 4 KiB bloku systému souborů pak je nutné změnit dvě 4 KiB stránky. Vše se ještě komplikuje tím, že příslušné sektory o velikosti 512 bajtů musí zůstat zachovány, a tím dochází k Read/Modify/ Write (Čtení/Modifikace/Zápis). Následkem je až o 25 násobek horší výkon při zápisu u malých přístupů k datům, jak ukazují analýzy společnosti IBM. [6] Aby se těmto problémům zabránilo, doporučuje se zarovnání na 1 MiB tím se zajistíme na dlouhou dobu. Při adresování logických sektorů o velikosti 512 bajtů to odpovídá 2 048 sektorům (obr. 6). Aktuální verze Windows (Windows 7, Windows 8) u oddílů větších než 4 GiB provádějí takové přiřazení na 1 MiB. Starší verze (Windows XP, Windows Server 2003) vyžadují ruční přiřazení. Aktuální distribuce Linuxu při instalaci rovněž používají přiřazení o velikosti 1 MiB. Při pozdějším zřizování oddílů pomocí příkazu»fdisk«jsou potřebné možnosti»c«(deaktivace režimu kompatibility se systémem DOS) a»u«(používá jako jednotky sektory namísto cylindrů), aby bylo dosaženo správného přiřazení. Pro kontrolu ukáže»fdisk l u«spouštěcí sektory všech oddílů. Pokud jsou tyto sektory dělitelné číslem 2 048, jsou všechny oddíly vyrovnány správně (listing 2). LVM verze od 2.02.73 používají díky patchi od Mike Snitzera rovněž přiřazení 1 MiB. [7] Obr. 4: O něco větší rezervní prostor má pozitivní účinky. Pokud se zvýší úroveň Over-Provisioningu o 20 %, vzroste I/O výkon o 2,5 násobek. Navýšení na 40 % však nepřinese žádný výrazný nárůst. 4 přiřazení oddílů (https://www.thomas-krenn.com/de/wiki/partition_alignment) 5 Ben Martin, RAID-Systeme unter Linux optimal konfigurieren (Optimální konfigurace RAID systémů pod Linuxem), ADMIN 02/2011, S. 80

thomas-krenn.cz 12 ATA TRIM Další funkcí k navýšení výkonu a prodloužení životnosti je ATA TRIM. Příkazem TRIM operační systém SSD disku sdělí, které datové oblasti (například datové oblasti smazaného souboru) již nepotřebuje. SSD řadič díky tomu může příslušné bloky smazat, což má podobně jako zvětšený rezervní prostor zvýšit výkon a použitelnost SSD disku. Aby funkce ATA TRIM fungovala, musí být podporována jak SSD diskem, tak i operačním a souborovým systémem. Windows 7 s NTFS nebo Linux od verze jádra 2.6.33 s Ext4 s opcí Discard tyto požadavky splňují. V případě Windows 8 je prostřednictvím automatické optimalizace Storage Optimizeru zaslán SSD disku příkaz TRIM a defragmentace se automaticky deaktivuje. Od verze jádra 2.6.38 podporují Ext4 a XFS navíc i Batched Discard s časovým posunem, jenž je důležitý u SSD disků s pomalou funkcí TRIM. Na skutečně získaný výkon díky použití funkce ATA TRIM panují různé názory. Pravdou však je, že funkci ATA TRIM lze použít jen pro jednotlivé SSD disky. RAID řadiče tuto funkci nepodporují. Mírně zvětšený rezervní prostor využitím 90 procent kapacity SSD disku pro jednotku RAID by v tomto případě měl absenci funkce TRIM vyrovnat. Listing 2: Přiřazení oddílů pomocí fdisk: root@ubuntu: ~# fdisk -l -u /dev/sda Disk /dev/sda: 240,1 GB, 240057409536 bajtů 255 hlav, 63 sektorů/stopu 29 185 cylindrů, celkem 468 862 128 sektorů jednotky = sektory po 1 512 = 512 bajtů Sector size (logical/physical): 512 bajtů / 512 bajtů I/O size (minimum/optimal): 512 bajtů / 512 bajtů Identifikace pevného disku: 0xf9ef975a Zařízení boot. Počátek Konec Bloky Id Systém /dev/sda1 * 2048 718847 358400 7 HPFS/NTFS/exFAT /dev/sda2 718848 468858879 234070016 7 HPFS/NTFS/exFAT LBA-Address Obr. 5: Oddíly kompatibilní s DOS, jež začínají na adrese LBA 63, mají za následek značné snížení výkonu u přístupů k datům. LBA-Address Obr. 6: Správně vyrovnaný oddíl přináší optimální výkon u operací spojených se zápisem a čtením. 6 Linux on 4KB-sector disks (https://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks) 7 LVM Alignment Patch (https://www.redhat.com/archives/linux-lvm/2011-july/msg00063.html

thomas-krenn.cz 13 Shrnutí Použití SSD disků nabízí mnoho možností úprav výkonu. Tato nastavení mohou přinést výrazné zlepšení rychlosti a prodloužení životnosti. Aby bylo možné si dlouhodobě užívat výhod SSD disků, jejichž pořizovací hodnota přepočtená na gigabajt je v porovnání s běžným HDD stále ještě dost vysoká, měli byste mít neustále na zřeteli správná nastavení. Třetí kapitola tohoto e-booku vysvětluje, jak lze optimálně provozovat SSD disky spojené do diskového pole RAID.

thomas-krenn.cz 14 Stohy flash pamětí s funkcí turbo Optimální výkon SSD disků v polích RAID V předchozích kapitolách jsme si vysvětlili stavbu a funkce SSD disku a optimalizování provozu jednotlivých SSDs. V této kapitole půjde o správná nastavení softwarového a hardvarového RAIDu pro optimální provoz s využitím SSD disků. SSDs a RAID řadiče Až do nedávné doby se v diskových polích RAID používaly výhradně klasické pevné disky. Hardwarové RAID řadiče tak byly dosud optimalizovány výlučně na I/O charakteristiky pevných disků. Odlišné vlastnosti I/O u SSD disků však vyžadují optimalizaci RAID řadiče a nastavení RAID. Jak získat optimální výkon SSD disků v polích RAID vám ukážeme v tomto workshopu. Běžné pevné disky ukládají data na jeden nebo několik magnetických disků, jež jsou popisovány a čteny zapisovací/čtecí hlavou. Na rozdíl od nich si SSD disky zcela vystačí bez mechanických součástí. Data se na nich ukládají do flashových paměťových buněk. Čipy s SLC (Single Level Cell) ukládají 1 bit do jedné paměťové buňky, čipy MLC (Multi Level Cell) 2 bity, a čipy s TLC (Triple Level Cell) ukládají 3 bity. Několik paměťových buněk je v jednom flash čipu sdruženo do podoby jedné stránky (například 8 KiB). Několik stránek pak tvoří blok (cca 2 MiB). Na této úrovni se již projevuje jedna zvláštnost flash pamětí: Nová data lze sice zapisovat do nepoužitých stránek dodatečná změna však není možná. To znovu funguje až tehdy, když SSD řadič nejprve smaže celý příslušný blok. Aby byl neustále k dispozici dostatečný počet nepoužitých stránek, disponují SSD disky dodatečnými paměťovými buňkami (rezervní prostor). V závislosti na SSD se velikost rezervního prostoru pohybuje v rozsahu 7 a 78 procent nominální kapacity. Funkce TRIM umožňuje sdělit SSD disku, které oblasti dat se již nepoužívají, a je tedy možné je smazat. V tomto případě operační systém SSD řadiči sdělí, které datové oblasti je možné smazat. Funkci TRIM lze jednoduše implementovat pro jednotlivý SSD disk, pro paritní RAID by však byla realizace značně náročná. Proto dosud žádný hardwarový RAID řadič funkci TRIM nepodporuje. Tento nedostatek však lze relativně snadno obejít: Většina Enterprise SSD disků je z výroby dodávána se srovnatelně velkým rezervním prostorem, a proto podpora funkce TRIM nehraje v podstatě žádnou roli. A pokud by někomu výkon stále ještě nestačil, má možnost dodatečně využít funkce Over-Provisioning k tomu si však řekneme víc později.

thomas-krenn.cz 15 Výkon: IOPS, latence a propustnost Při měření výkonu SSD jsou rozhodující především tři měřené veličiny: IOPS, latence a propustnost. Pojem IOPS (Input/Output Operations Per Second) popisuje počet vstupních/výstupních operací za sekundu. Čtecí IOPS se konkrétně týkají výstupů za sekundu, zápisové IOPS vstupů. Velikost takové I/O operace činí 4 KiB (není-li uvedeno jinak). IOPS se většinou měří v režimu random, tedy prostřednictvím náhodně rozdělených přístupů, aby byly zjištěny skutečně ty nejhorší možné hodnoty. Zatímco běžné pevné disky zvládnou jen cca 100 300 IOPS, nabízejí aktuální Enterprise SSD disky až 36 000 zápisových a 75 000 čtecích IOPS (například 800GB model Intel DC S3700 SSD). Latence popisuje čekací dobu v ms, než bude provedena jedna samostatná I/O operace. Typická průměrná latence se u SSD disků pohybuje v rozsahu 0,1 až 0,3 ms, u pevných disků mezi 5 a 10 ms. Zde je nutné si uvědomit, že výrobci pevných disků popisují latencí jen čas jedné poloviční otáčky plotny. Ke skutečné latenci, tedy průměrné přístupové době, je zde nutné připočíst i dobu změny stopy (Seek Time). A propustnost následně označuje přenosovou rychlost dat v megabajtech za sekundu (MB/s). Ta se obvykle měří pomocí větších a sekvenčních I/O operací. SSD disky zpravidla dosahují dvou- až trojnásobné propustnosti než pevné disky. U SSD disků s nižším počtem flash čipů (SSD disky s nižší kapacitou) je zapisovací výkon poněkud omezený a pohybuje se zhruba na úrovni pevných disků. Výkon SSD disku ovlivňují následující faktory: _Read/Write Mix: U SSD disků se na hardwarové úrovni operace čtení a zápisu značně liší. Na základě vyššího overhead řadiče pro zápisové operace dosahují SSD disky zpravidla vyššího počtu čtecích IOPS než zápisových IOPS. Tento rozdíl je zvlášť vysoký u SSD disků pro běžné spotřebitele. U profesionálních (Enterprise) SSD disků výrobci vylepšují zapisovací výkon prostřednictvím většího rezervního prostoru a optimalizovaného firmwaru řadiče. _Random/Sequential Mix: Počet možných IOPS závisí kromě toho na tom, zda jsou přístupy rozdělené na celou datovou oblast (oblast LBA) nebo zda se provádějí sekvenčně. U náhodných přístupů roste náročnost na management SSD řadiče a počet možných IOPS z tohoto důvodu klesá. _Queue Depth: Pojem Queue Depth označuje délku fronty v I/O cestě k SSD. V případě větší fronty (např. 8, 16 nebo 32) operační systém nakonfigurovaný počet I/O operací shrne, než je pošle do SSD řadiče. Větší Queue Depth zvyšuje počet možných IOPS, neboť SSD disk může své požadavky zasílat souběžně na flash čipy. Současně však zvyšuje průměrnou latenci, a tím i čekací dobu na jednu jedinou I/O operaci právě proto, že ne každá operace je ihned zaslána na SSD disk, nýbrž teprve tehdy, až se fronta naplní. _Spare Area: Velikost rezervního prostoru má přímý vliv na výkon náhodného zápisu (Random Write) SSD disku (a tím i na kombinaci výkonu čtení/zápisu). Čím větší je rezervní prostor, tím méně často musí SSD řadič provádět interní restrukturalizaci dat. SSD řadič tak má více času na požadavky hosta roste výkon Random Write.

thomas-krenn.cz 16 Měření výkonu pomocí FIO Propustnost čtení fio --name=readtp --rw=read --size=5g --bs=1024k direct=1 --refill_buffers Propustnost zápisu fio --name=writetp --rw=write --size=5g --bs=1024k direct=1 --refill_buffers IOPS čtení fio --name=readiops --rw=randread --size=1g --bs=4k direct=1 --refill_buffers IOPS zápisu fio --name=writeiops --rw=randwrite --size=1g --bs=4k direct=1 --refill_buffers IOPS Mixed Workload, 50 procent čtení a 50 procent zápisu fio --name=mixediops --rw=randrw --size=1g --bs=4k direct=1 --refill_buffers --ioengine=libaio --iodepth=16 --ioengine=libaio --iodepth=16 --ioengine=libaio --iodepth=16 --ioengine=libaio --iodepth=16 --ioengine=libaio --iodepth=16 Určení Baseline výkonu Výše uvedené vlastnosti SSD disků vyžadují speciálně vyladěné výkonnostní testy. Konkrétně pak určení stabilních hodnot výkonu ztěžuje jak FOB stav (Fresh out of the Box), tak i přechodové fáze mezi zatížením. Výsledné hodnoty jsou tak závislé na následujících faktorech: _Zapisující přístupy a předpříprava stav SSD disku před testem. _Workload Pattern I/O Pattern (Read/Write Mix, velikosti bloků) během testu. _Data Pattern zapisovaná data. Požadavky na testy SSD disků s vypovídající hodnotou dokonce přiměly organizaci SNIA k tomu, aby zveřejnila vlastní Enterprise Performance Test Specification (PTS). Ve většině případů však není dána možnost realizovat testy v takovém rozsahu. V první fázi často stačí určit pomocí několika prostředků tzv. Baseline Performance SSD disku. Jejím prostřednictvím obdržíte ve formě MB/s a IOPS parametry střižené na míru vašemu systému. Tabulka Měření výkonu pomocí FIO se podrobněji zabývá výkonnostním nástrojem Flexibilní IO tester (FIO). FIO je rozšířený především pod Linuxem, nicméně je k dispozici i pro Windows a VMware ESXi. Byl vyvinut zakladatelem Linux Block Layeru, Jensem Axboeem, a skrývá v sobě značné znalosti a funkce. Využijte tuto tabulku pro jednoduchý test výkonu vašeho SSD disku pod Linuxem. Uživatelé Windows musí odstranit parametry libaio a iodepth.

thomas-krenn.cz 17 Obr. 7: Overhead pro latence v HWR činí cca 0,04 ms. RAID 1 jako SWR zvyšuje latence na rozdíl od jednotlivého SSD disku jen minimálně. RAID 1, RAID 5 a RAID 10 s SSDs Naše analýza SSD disků spojených v diskovém poli RAID ukazuje, jak se vyvíjejí hodnoty výkonu v souvislosti s navyšováním počtu SSD disků. Kromě toho se testy soustřeďují i na různé charakteristiky jednotlivých úrovní polí RAID. Nastavení hardwaru pro testy RAID se skládá z SSD disku Intel řady DC S3500, RAID řadiče Avago (dříve LSI) MegaRAID 9365 a základní desky Supermicro X9SCM-F. Velikost SSD disku činí 80 GB. Mějte na paměti, že výkon SSD disku v rámci řady je závislý i na jeho kapacitě. Model o velikosti 240 GB vykazuje oproti modelu o kapacitě 80 GB vyšší výkon. Jako software pro měření výkonu používáme TKperf běžící na Ubuntu 14.04. Tkperf realizuje PTS organizace SNIA s využitím FIO. Od verze 2.0 vytváří disková RAID pole pod Linuxem (SWR) automaticky pomocí mdadm, hardwarová pole RAID (HWR) pro řadič Avago MegaRAID pomocí storcli. Plánovaná je také podpora pro RAID řadič od Adaptecu. RAID 1 RAID 1 je značně rozšířený díky existující odolnosti vůči výpadkům. V případě čtecích přístupů lze navíc profitovat z toho, že se přistupuje na oba SSD disky současně. Jak SWR, tak i HWR tuto domněnku potvrzují a při náhodném čtení pomocí bloků o velikosti 4 K poskytují 107 000 a 120 000 IOPS tedy přece jen více než 1,4 násobek oproti samostatnému SSD disku. Náhodné přístupy se zápisem by mělo diskové pole RAID zpracovat stejně rychle jako SSD disk. Testy však v oblasti SWR a HWR ukazují na pokles výkonu o cca 30 procent při náhodném zápisu a 50/50 Mixed Workloads. Potěšujících výsledků je dosaženo v testu latence pro SWR. Latence se u všech tří zatížení pohybují

thomas-krenn.cz 18 jen minimálně nad hodnotami samostatného SSD disku. Ve vztahu k HWR řadič RAID latenční čas zvyšuje. Konstantní overhead v rozsahu cca 0,04ms se zobrazuje u všech zatížení (obr. 7). RAID 5 Znakem RAID úrovně 5 jsou paritní data, jež při zápisu dat mají za následek zvýšenou náročnost. Ta se výrazným způsobem projevuje ve výsledcích testů IOPS. Diskové pole RAID 5 se třemi SSD disky dosahuje při náhodném zápisu prostřednictvím 4 K stejného počtu IOPS, jako samostatný SSD disk. Kdo věří tomu, že doplnění dalšího SSD disku do pole RAID 5 zvýší výkon zápisu, je vedle. Intel tuto okolnost podrobně analyzuje ve svém whitepaperu Intel SSD DC S3500 Series Workload Characterization in RAID Configurations. [8] Teprve při zapojení osmi SSD disků v poli RAID 5 je dosahováno dvojnásobných IOPS oproti třem SSD diskům. Při porovnání HWR a SWR jsou u obou výsledky se třemi SSD disky stejné. Sestava se čtyřmi SSD disky v poli RAID 5 má u SWR lepší výsledky. Mixed Workloads a čisté zápisy se 4 K leží cca 4 000 IOPS nad HWR. Obrázek 8 shrnuje výsledky jediného SSD disku, a dále HWR a SWR se třemi a čtyřmi SSD disky v poli RAID 5. Čím náročnější na čtení zátěž je, tím méně se projevují výpočty parity. HWR dodává se čtyřmi SSD disky v RAID 5 téměř 180 000 IOPS to je více než dvojnásobek jednotlivého SSD disku. SWR této úrovně nedosahuje a těsně překračuje hranici 150 000 IOPS. Test latence ještě více zdůrazňuje rozdíl mezi přístupy pro čtení a zápis. Od čtení přes 65/35 mixed k zápisu se v případě HW přičte ještě 0,12 ms. SWR vykazuje na jeden workload nárůst v rozsahu cca 0,10 ms. Žádné slabiny nevykazuje RAID 5 při propustnosti čtení prostřednictvím 1 024 K bloků. HWR zpracovává při čtyřech SSD v poli RAID 5 více než 1,2 Gbit/s, SWR jen mírně zaostává s hodnotou 1,1 GBit/s. Propustnost zápisu je omezena 80 GB modelem, který dle specifikace končí při zápisu na hranici 100 MBit/s. Čtyři SSD disky v poli RAID dosahují v testu HWR téměř 260 MBit/s, SWR zvládá 225 Mbit/s. Obr. 8: Nápadné jsou nízké hodnoty IOPS u náhodného zápisu v RAID 5. Ve srovnání HWR se SWR hraje workload roli. 8 Whitepaper k měření výkonu u SSD disků (http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/ssd-dc-s3500-workload-raid-paper.pdf)

thomas-krenn.cz 19 RAID 10 Jak již název naznačuje, je diskové pole RAID 10 kombinací polí RAID 1 a RAID 0. Díky nasazení čtyř SSD disků se nabízí přímé srovnání výkonu s polem RAID 5. Co se týče kapacity, je u diskového pole RAID 10 k dispozici sice jen 50 procent čisté kapacity, přináší ale vůči RAID 5 řadu výhod především pro uživatele, kteří mají mnoho náhodných zápisů. Obrázek 9 jednoznačně znázorňuje slabiny zápisu pole RAID 5 s ohledem na IOPS. Rovněž lze vidět i zvýšené latence u pole RAID 5 vznikající v důsledku potřebných výpočtů parity. RAID 10 naproti tomu dosahuje latencí, jež se řídí časy jednotlivých SSD disků. Komu na výkonu při zápisu a latencích nezáleží, může přesto s klidem vsadit na RAID 5. Obr. 9: Výkon polí RAID 5 a RAID 10 značnou měrou závisí na účelu použití. IOPS při náhodném čtení jsou u pole RAID 5 výrazně vyšší. Čím víc je náhodných zápisů, tím lepších výsledků dosahuje RAID 10. Latence na úrovni SSD získáte jen díky poli RAID 10. Účinná opatření ke zvýšení výkonu Při použití hardwarových řadičů RAID pro SSD disky v polích RAID platí následující doporučení: Používejte pokud možno aktuální řadiče RAID! Firmware novějších řadičů RAID je podstatně lépe optimalizován pro SSD disky než starší modely. V případě řadičů Avago MegaRAID mají například nové 12 GBit SAS řadiče nyní standardně integrovánu funkci k optimalizaci výkonu SSD disků v polích RAID (FastPath). Pro navýšení výkonu HDD disků v polích RAID byly v nedávné době hardwarové řadiče RAID vybaveny vyrovnávací pamětí. Aktuální řadiče disponují vyrovnávací pamětí v rozsahu 512 MB až 1 GB. Tu lze využít jak pro zápis (Write Cache), tak i pro čtení (Read Ahead). V případě SSD disků v polích RAID byste se však měli použití této vyrovnávací paměti z níže popsaných důvodů vyhnout. Deaktivace Write Cache V případě HDD disků v polích RAID poskytuje vyrovnávací paměť pro zápis (Write Back Policy) výrazný nárůst výkonu. Především malé a náhodné přístupy se zápisem je řadič RAID schopen optimálně ukládat do mezipaměti, než je zapíše na pomalé pevné disky. Počet možných zápisů IOPS stoupá odpovídajícím způsobem z několika málo set až na několik tisíc IOPS. Kromě toho citelně klesá latence z 5 až 10 ms na méně než 1 ms. V případě polí RAID 5 a 6 s disky typu HDD přináší vyrovnávací paměť pro zápis další výhodu: Bez mezipaměti by potřebná operace čtení pro výpočet parity (heslo Read-Modify-Write) představovala totiž dodatečné zpoždění.

thomas-krenn.cz 20 Díky mezipaměti se tak může stát s časovým odstupem. Aby v případě výpadku proudu nedošlo ke ztrátě dat, musí být použitá vyrovnávací paměť pro zápis chráněná modulem BBU nebo modulem pro ochranu flash paměti (LSI CacheVault nebo Adaptec ZMCP). V případě SSD disků je vše jinak: Jejich výkon je již tak vysoký, že vyrovnávací paměť pro zápis působí jako brzda. To potvrzují i naše výsledky měření na obrázku 10: U pole RAID 5 se čtyřmi SSD disky klesají zapisovací IOPS při aktivovaném Write Back ze 14 400 na 3 000 to je o téměř 80 procent méně IOPS. Jedinou výhodou vyrovnávací paměti pro zápis jsou nízké latence zápisu u sad diskových polí RAID 5. Vzhledem k tomu, že však jsou u polí RAID 1 (bez výpočtu parity a vyrovnávací paměti pro zápis) ještě nižší i tato výhoda velmi rychle odpadá. Doporučení proto zní: Provozovat SSD disky v polích RAID bez vyrovnávací paměti pro zápis (tedy Write-Through namísto Write-Back ). Tím můžete ušetřit cca 150 až 200 euro za modul BBU nebo modul flash ochrany. Obr. 10: Avago MegaRAID 9361 podává bez vyrovnávací paměti pro zápis a bez Read Ahead nejlepší IOPS výkon pro pole SSD RAID. Vypnutí Read Ahead Read Ahead tedy čtení datových bloků, jež se skrývají za aktuálně dotazovanými daty představuje rovněž optimalizací výkonu, jež přináší skutečné výhody pouze ve spojení s pevnými disky. U pole RAID 5 se čtyřmi SSD disky brzdí aktivovaný Read Ahead čtecí IOPS v našem testu o 20 procent (z původních 175 000 na 140 000 čtecích IOPS). U propustnosti nejsou při čtení pomocí 64 K nebo 1 024 K bloků žádné rozdíly ve výkonu. Jedině u propustnosti pomocí 8 K bloků vykazuje Read Ahead v našich testech výhody. Kromě toho může Read Ahead přinést výhody pouze u testů čtení jednotlivých vláken (například pomocí dd pod Linuxem). Oba vzory přístupů jsou však v provozu na serverech netypické. Naše doporučení proto zní: Provozujte SSD disky v polích RAID bez Read Ahead. Over-Provisioning Jak již bylo zmíněno, má velikost rezervního prostoru přímý vliv na výkon Random Write na SSD disku. Již malé zvětšení rezervního prostoru může výraznou měrou zvýšit výkon Random Write a trvanlivost (endurance) SSD disku. Toto doporučení z počátků éry SSD disků neztratilo svou platnost ani do dnešního dne. U aktuálních SSD disků je však jejich životnost již natolik dostačující, že zvětšení rezervního prostoru má smysl v první řadě z důvodů souvisejících s výkonem. Velikost rezervního prostoru můžete velmi snadno zvýšit ručně provedenou funkcí Over-Provisioning, a to tak, že pro sadu polí RAID nakonfigurujete pouze část kapacity SSD disku (cca 80 procent) a zbytek necháte volný. Pokud jste SSD disk používali již dříve, proveďte ještě Secure Erase tím vymažete veškeré flash buňky. Teprve pak může řadič SSD tyto volné oblasti využít jako rezervní prostor. Jak ukazuje obrázek 4, Write IOPS se při 20 procentech Over- Provisioningu téměř ztrojnásobí (na příkladu Intel DC S3500 800 GB SSD).

thomas-krenn.cz 21 Poznámka pod čarou: Over-Provisioning nemá vliv na čistý výkon čtení nebo sekvenční výkon zápisu přináší tedy výhodu výkonu pouze u náhodného zatížení mixed read/write nebo čistě zápisového. Použití pod Linuxem: Deadline I/O Scheduler U SSD disků a polí RAID s disky SSD přináší Deadline I/O Scheduler dle zkušeností nejvyšší výkon. Ubuntu od verze 12.10 Deadline Scheduler standardně používá. Ostatní distribuce zčásti sázejí na CFQ Scheduler, ten je však optimalizován především pro pevné disky. Pomocí jednoduchého cat /sys/ block/sda/queue/scheduler zkontrolujte, jaký plánovač (scheduler) (v tomto případě pro Device sda) bude použit. Až do dalšího restartu můžete v rootu nastavit Scheduler pomocí echo deadline > /sys/ block/sda/queue/scheduler na Deadline. Informace o permanentní změně plánovače naleznete v dokumentaci k použité distribuci Linuxu. Ve střednědobém horizontu nahradí mechanismus řazení do front Linux Multi-Queue Block IO (blk- mq) tradiční I/O plánovače pro SSD disky. Než však dojde na použití blk-mq i u distribucí Long-Term-Support Enterprise, bude to ještě nějakou dobu trvat. Sledování stavu SSD disků a polí RAID Flash buňky v SSD disku zvládnou jen omezený počet zapisovacích cyklů. Konečná životnost je dána interní konstrukcí paměťových buněk, jež během přístupů se zápisem podléhají tzv. cyklům Program/ Erase (P/E). Floating Gate v buňkách, jež se používá k zápisu do buňky, se s každým cyklem opotřebovává. Pokud opotřebení buňky překoná jistou mez, řadič SSD disku tuto buňku označí jako Bad Block a nahradí ji jiným blokem z rezervního prostoru. Z tohoto způsobu fungování SSDs je možné odvodit minimálně dva indikátory: Opotřebení flash buněk, tzv. Media Wearout Indicator. Počet zbývajících bloků rezervního prostoru, zvaný též Available Reserved Space. V ideálním případě výrobce tyto dva údaje poskytne uživateli prostřednictvím atributů SMART. Pro bezvadný dozor nad atributy je nezbytná podrobná specifikace SMART pro SSD disk. Důvodem je to, že interpretace hodnot není standardizovaná a u různých výrobců se liší. Jako příklad zde slouží Intel a Samsung. Jejich atributy se sice liší v oblasti ID a názvu, použitá hodnota je však přinejmenším stejná. Pomocí nástroje smartctl spuštěného v příkazovém řádku vyvolejte SMART atributy pro SSD disk, pomocí megaraid- a sg-devices také pro řadiče Avago MegaRAID a Adaptec: smartctl -a /dev/sda smartctl -a -d megaraid,6 /dev/sda smartctl -a -d sat /dev/sg1 To ukazuje, jak důležitá je výrobci poskytnutá specifikace pro spolehlivé sledování stavu. Společnost Intel je mimochodem u svých SSD disků pro datová centra vzorem a poskytuje detailní specifikaci včetně SMART atributů. Integrace SMART sledování do monitorovacího frameworku, jako je Icinga, je dalším krokem. V tomto případě musí zásuvný modul využít specifikace výrobců a správně interpretovat hodnoty atributů. Tým Thomas-Krenn za tím účelem pomocí check_smart_attributes [9] vyvinul zásuvný modul, jenž v databázi JSON zobrazuje specifikaci atributů. Od verze 1.1 tento zásuvný modul sleduje také SSD disky na řadičích RAID. SMART atributy jednoznačně určují opotřebení flash buněk, a z toho vyplývá životnost SSD disku. Další atributy doplňují kontrolu zdravotního stavu SSD disku pro použití ve firmách. U společnosti Intel je takovým příkladem atribut Power_Loss_Cap_Test pro funkčnost integrované ochrany mezipaměti SSD disku. Ochrana mezipaměti zajišťuje, že při přerušení napájení nedojde ke ztrátě dat. Tento atribut ukazuje, jak důležitá je kontrola SMART atributů SSD disku. V každém případě se proto ujistěte, že máte k dispozici podrobné informace o SMART atributech, než použijete SSD disky ve větším rozsahu. Kontrole stavu vašeho SSD disku pak již nestojí nic v cestě.

thomas-krenn.cz 22 Kontrola konzistence RAID Kromě kontroly SMART atributů jsou kontroly konzistence další součástí optimálního provozu diskového pole RAID. Výrobci hardwarových polí RAID používají pro kontrolu konzistence také pojem Verify. Linuxový software pro RAID tuto funkci vykonává prostřednictvím vlastního skriptu nazvaného checkarray. Bez ohledu na to, jakou technologii použijete, pravidelné kontroly konzistence odhalí nekonzistence dat nebo kontrolních součtů. Proto zajistěte, aby na vašich systémech pravidelně běžely kontroly konzistence: Mdadm ve většině případů zřídí Cronjob v /etc/ cron.d/mdadm. Úloha spustí každou první neděli v měsíci kontrolu konzistence pro všechna zřízená softwarová pole RAID. Ovšem pozor po kontrole je bezpodmínečně nutné prověřit, zda je příslušné počítadlo v sysfs rovno 0: $ cat sys/block/md0/md/ mismatch_cnt 0 Skript checkarray sice zkontroluje konzistenci pole RAID, nicméně sám od sebe neprovede žádné opravy. U diskových polí RAID úrovně 4, 5 a 6 jsou tzv. mismatches známkou problémů s hardwarem. RAID 1 a 10 za určitých okolností také produkují odchylky, aniž by došlo k chybě, zejména pokud se na nich nacházejí zařízení systému SWAP. V případě chyby skript mdadm zasílá e-maily jen tehdy, pokud v souboru mdadm.conf v položce MAILADDR uvedete správnou adresu. Megaraid Storage Manager (MSM) je u LSI prvním místem, kde se provádějí pravidelné kontroly konzistence. Jasnou výhodou je, že MSM běží pod Windows, Linuxem a VMware ESXi. Sekce Controller vede ke kartě Schedule Consistency Check. Zde určíte, kdy a jak často se má kontrola provádět. Nástroj příkazového řádku od Adaptecu umožňuje provést kontroly konzistence prostřednictvím příkazu datascrub. Data Scrubbing se často používá ve spojení s kontrolou konzistence, neboť označuje proces opravy chyb. Následující příklad zřídí pravidelnou kontrolu v rozmezí 30 dnů: $ arcconf datascrub 1 period 30 Kontrolní seznam pro SSD disky v polích RAID U hardwarového pole RAID použijte aktuální řadič pole RAID. Pod Linuxem použijte u hardwarového pole RAID a softwarového pole RAID Deadline I/O Scheduler. Nastavení mezipaměti HWR: Write-Through, žádný Read Ahead. Over-Provisioning u vyšších požadavků na Random Write. Použijte SSD disky, pro něž jsou SMART atributy veřejně zdokumentované. Write Endurance určuje životnost SSD disku, SMART atributy zobrazují aktuální stav.

thomas-krenn.cz 23 Shrnutí Aktuální řadiče RAID nemají problémy s SSD disky. Kromě toho se nemusíte bát srovnání výkonu s linuxovým softwarem pro disková pole RAID. Volba technologie RAID je proto především otázkou použitého operačního systému a osobních preferencí. Linux má však díky aktuálním jádrům a mdadm v každém případě pohromadě všechny nástroje pro SSD disky v polích RAID. Příznivci řadičů RAID si nemusí lámat hlavu s operačním systémem. Jedno je ale jasné: Mezipaměť řadiče a Read-Ahead nemají u SSD disků v polích RAID co dělat. Rovnou tak ušetříte i BBU nebo ochranné moduly založené na flash mezipaměti. Sami se však musíte rozhodnout pro správnou úroveň diskového pole RAID. Zde musíte i vy přiložit ruku k dílu a analyzovat své aplikace, resp. systémy. Provádíte ve vašem I/O systému převážně čtení nebo zápis? Pokud je prioritou náhodné čtení, pak je RAID 5 dobrá volba, u níž je omezení kapacity minimální. Klasický RAID 1 ani ve spojení s SSD disky nevyjde z módy. Slušné latence a o 40 procent více čtecích IOPS než u SSD hovoří samy za sebe. Ztráty u zapisovacích IOPS naleznete jak u RAID 5, tak u RAID 1. Pokud pořizujete SSD disky ve velkém stylu a chcete dosáhnout vyváženého výkonu, pak se neobejdete bez polí RAID 10. Výkon při zápisu, latence a čtecí IOPS u RAID 10 vám zrychlí tep.

thomas-krenn.cz 24 Glosář ATA TRIM Prostřednictvím příkazu ATA TRIM sděluje operační systém SSD disku, jaké datové oblasti již nejsou potřebné a díky tomu je možné je považovat za smazané. Tím řadič nebude zbytečně uchovávat na SSD data, jež byla v systému souborů smazána, nicméně stále fyzicky na SSD disku existují (neboť v systému souborů byl odstraněn Inode). Pokud jsou všechna data jednoho bloku stará, může řadič SSD disku tento blok ihned smazat a nemusí provádět delší Read-Modify-Write. Available Reserved Space SMART atributy SSD disku obsahují mimo jiné i atribut s názvem Available Reserved Space (disponibilní rezervní prostor). Ten udává počet zbývajících rezervních bloků. Pokud se však hodnota blíží nastavené mezní hodnotě, je nutné SSD disk vyměnit. Pomocí příkazu smartctl lze tuto hodnotu zobrazit. Blok Stránky jsou zase shrnuté do bloků. Většinou tvoří 128 stránek jeden blok (jenž tak obsahuje 512 KiB = 524 288 bajtů), u 25nm čipů od společnosti Intel/Micron tvoří 256 stránek po 8 KiB jeden blok o velikosti 2 MiB. Jeden blok je nejmenší jednotkou, kterou lze smazat. Tak je sice možné číst nebo zapisovat jednotlivé stránky, při mazání však je nutné smazat 128 resp. 256 stránek (1 blok) najednou. Garbage Collection Řada výrobců do řadičů SSD disků integruje funkci Garbage Collection (sběr odpadků). V časech bez I/O přístupů shrnuje řadič částečně popsané bloky do plných bloků. Uvolněné bloky následně vymaže. Konstrukce SSD disku SSD disk se skládá z čipu řadiče, několika flashových pamětí (většinou deset kusů) a zčásti i vyrovnávací paměti DRAM (cache). Řadič je schopen se s těmito flash pamětmi spojovat paralelně, a tím znásobit datovou propustnost v porovnání s USB diskem (jenž obsahuje jen jednu flash paměť). Over-Provisioning SSD disky mají tzv. Spare Area (rezervní prostor) tedy datovou oblast, která není pro operační systém přímo viditelná. Tento rezervní prostor používá SSD disk především pro Wear Leveling. Zvětšení rezervního prostoru (Over-Provisioning) může zvýšit výkon a prodloužit životnost SSD disku. Tím se sníží použitelná čistá kapacita SSD disku.