Poprvé publikováno na TECHNETu 11. srpna 2017
Ahoj! Jsem Cosmos. Sledujte mě na Twitteru @cosmosdarwin.
Pozadí
Storage Spaces Direct v systémech Windows Server 2016 a Windows Server 2019 obsahuje vestavěnou trvalou mezipaměť pro čtení a zápis, která maximalizuje výkon úložiště. Vše o ní si můžete přečíst na stránce Understanding the cache in Storage Spaces Direct . V nasazeních typu all-flash disky NVMe obvykle využívají mezipaměť pro disky SSD SATA/SAS; v hybridních nasazeních disky SSD NVMe nebo SATA/SAS využívají mezipaměť pro disky HDD.
V každém případě budou disky cache obsluhovat drtivou většinu IO, včetně 100 % zápisů. To je zásadní pro zajištění bezkonkurenčního výkonu služby Storage Spaces Direct, ať už jej měříte miliony IOPS , propustností IO v Tb/s nebo konzistentní submilisekundovou latencí.
Nic však není zadarmo: tyto disky cache se mohou rychle opotřebovat.
Recenze: Co je to opotřebení flash paměti
Tvrdé disky jsou dnes téměř univerzálně tvořeny pamětí NAND flash, která se používáním opotřebovává. Každou buňku paměti flash lze zapsat jen tolikrát, než se stane nespolehlivou. (Na internetu je řada skvělých článků, které popisují všechny krvavé detaily – včetně Wikipedie.)
Tento jev můžete sledovat v systému Windows tak, že se podíváte na čítač spolehlivosti opotřebení v prostředí PowerShell:
PS C:\> Get-PhysicalDisk | Get-StorageReliabilityCounter | Select Wear
Tady je výstup z mého notebooku – můj SSD je po dvou letech opotřebovaný asi na 5 %.
Poznámka: Ne všechny disky tuto hodnotu přesně hlásí systému Windows. V některých případech může být počítadlo prázdné. Informujte se u svého výrobce, zda nemá vlastní nástroje, které můžete použít k získání této hodnoty.
Obecně platí, že čtení neopotřebovává paměť NAND flash.
Kvantifikace výdrže paměti flash
Měření opotřebení je jedna věc, ale jak můžeme předpovědět životnost disku SSD?
„Výdrž“ flash pamětí se běžně měří dvěma způsoby:
- Drive Writes Per Day (DWPD)
- Terabytes Written (TBW)
Oba přístupy vycházejí ze záruční doby, kterou výrobce na disk poskytuje, z jeho takzvané „životnosti“.
Drive Writes Per Day (DWPD)
Drive Writes Per Day (DWPD) měří, kolikrát byste mohli přepsat celou velikost disku každý den jeho životnosti. Předpokládejme například, že váš disk má kapacitu 200 GB a jeho záruční doba je 5 let. Pokud je jeho DWPD 1, znamená to, že do něj můžete zapisovat 200 GB (jeho velikost, jednou) každý den po dobu následujících pěti let.
Pokud to vynásobíte, je to 200 GB denně × 365 dní/rok × 5 let = 365 TB kumulativních zápisů, než jej budete muset vyměnit.
Pokud by jeho DWPD bylo 10 místo 1, znamenalo by to, že do něj můžete zapisovat 10 × 200 GB = 2 TB (jeho velikost, desetkrát) každý den. Odpovídajícím způsobem to znamená 3 650 TB = 3,65 PB kumulativního zápisu za 5 let.
Zapsané terabajty (TBW)
Zapsané terabajty (TBW) přímo měří, kolik můžete na disk kumulativně zapsat za dobu jeho životnosti. V podstatě jen zahrnuje násobení, které jsme provedli výše, do samotného měření.
Příklad pokud je váš disk dimenzován na 365 TBW, znamená to, že do něj můžete zapsat 365 TB, než jej možná budete muset vyměnit.
Pokud je jeho záruční doba 5 let, vychází to 365 TB ÷ (5 let × 365 dní/rok) = 200 GB zápisu za den. Pokud měl váš disk velikost 200 GB, odpovídá to 1 DWPD. Pokud byl váš disk dimenzován na 3,65 PBW = 3 650 TBW, odpovídá to 2 TB zápisů za den nebo 10 DWPD.
Jak vidíte, pokud znáte velikost disku a záruční dobu, můžete se vždy dostat z DWPD na TBW nebo naopak pomocí několika jednoduchých násobení nebo dělení. Obě měření jsou si opravdu velmi podobná.
Jaký je v tom rozdíl?
Jediný skutečný rozdíl je v tom, že DWPD závisí na velikosti disku, zatímco TBW nikoli.
Uvažujme například SSD disk, který po dobu své pětileté životnosti zvládne 1000 TB zápisů.
Předpokládejme, že SSD má 200 GB:
1 000 TB ÷ (5 let × 365 dní/rok × 200 GB) = 2,74 DWPD
Nyní předpokládejme, že SSD má 400 GB:
1 000 TB ÷ (5 let × 365 dní/rok × 400 GB) = 1,37 DWPD
Výsledný DWPD je jiný! Co to znamená?
Na jedné straně může větší disk s kapacitou 400 GB provádět za dobu své životnosti přesně stejné kumulativní zápisy jako menší disk s kapacitou 200 GB. Při pohledu na TBW je to zcela jasné – oba disky jsou dimenzovány na 1 000 TBW. Ale při pohledu na DWPD se zdá, že větší disk má jen poloviční výdrž! Můžete namítnout, že protože při stejném pracovním zatížení bude výkon „stejný“, je použití TBW lepší.
Na druhou stranu můžete namítnout, že disk s kapacitou 400 GB může poskytnout úložiště pro větší pracovní zátěž, protože je větší, a proto se jeho 1 000 TBW rozprostře více, a má skutečně jen poloviční výdrž! Podle této úvahy je použití DWPD lepší.
Pointa
Můžete použít měření, které vám vyhovuje. Na technických listech disků se dnes téměř běžně objevuje jak TBW, tak DWPD. V závislosti na vašich předpokladech existuje přesvědčivý argument pro jednu z nich.
Doporučení pro Storage Spaces Direct
Naše minimální doporučení pro Storage Spaces Direct je uvedeno na stránce Hardwarové požadavky. Od poloviny roku 2017 pro jednotky cache:
- Pokud se rozhodnete měřit v DWPD, doporučujeme 3 nebo více.
- Pokud se rozhodnete měřit v TBW, doporučujeme 4 TBW za den životnosti. Specifikační listy často uvádějí TBW kumulativně, což budete muset vydělit jeho životností. Pokud má například váš disk záruční dobu 5 let, pak 4 TB × 365 dní/rok × 5 let = 7 300 TBW = 7,3 PBW celkem.
Často vyjde jedno z těchto měření o něco méně přísné než druhé.
Můžete použít kterékoli měření, kterému dáváte přednost.
Neexistuje žádné minimální doporučení pro kapacitní disky.
Dodatek: Zesílení zápisu
Můžete být v pokušení uvažovat o výdrži z čísel IOPS, pokud je znáte. Pokud například vaše pracovní zátěž generuje (v průměru) 100 000 IOPS, což jsou (v průměru) 4 KiB, z nichž (v průměru) 30 % tvoří zápis, můžete si myslet:
100 000 × 30 % × 4 KiB = 120 MB/s zápisů
120 MB/s × 60 s/min × 60 min/hod × 24 hodin = přibližně 10 TBW/den
Pokud máte čtyři servery se dvěma disky cache každý, je to:
10 TBW/den ÷ (celkem 8 jednotek cache) = přibližně 1,25 TBW/den na jednotku
Zajímavé! Méně než 4 TBW/den!
Naneštěstí je to chybná matematika, protože nezohledňuje zesílení zápisu.
Zesílení zápisu je, když se z jednoho zápisu (na uživatelské nebo aplikační vrstvě) stane více zápisů (na fyzické vrstvě zařízení). Zesílení zápisu je nevyhnutelné v každém úložném systému, který zaručuje odolnost a/nebo konzistenci při pádu. Nejkřiklavějším příkladem ve Storage Spaces Direct je třícestné zrcadlení: vše se zapisuje třikrát, na tři různé jednotky.
Existují i další zdroje zesílení zápisu: opravné úlohy generují další IO; deduplikace dat generuje další IO; souborový systém a mnoho dalších komponent generuje další IO tím, že uchovávají svá metadata a struktury protokolu; atd. Ve skutečnosti i samotný disk generuje zesílení zápisu z interních činností, jako je vybírání odpadu! (Pokud vás to zajímá, podívejte se na metodiku standardu JESD218, jak toto zohlednit ve výpočtech výdrže.)
To vše je nutné a dobré, ale ztěžuje to konzistentní odvození IO aktivity na úrovni jednotky ve spodní části zásobníku od IO aktivity na úrovni aplikace v horní části zásobníku. Proto na základě našich zkušeností zveřejňujeme doporučení pro minimální DWPD a TBW.
Dejte nám vědět, co si o tom myslíte! 🙂