Pierwsza publikacja w serwisie TECHNET 11 sierpnia 2017

Cześć, jestem Cosmos. Follow me on Twitter @cosmosdarwin.

Tło

Storage Spaces Direct w Windows Server 2016 i Windows Server 2019 posiada wbudowaną, trwałą, pamięć podręczną odczytu i zapisu, aby zmaksymalizować wydajność pamięci masowej. Możesz przeczytać wszystko o tym na stronie Zrozumienie pamięci podręcznej w Storage Spaces Direct . We wdrożeniach typu all-flash dyski NVMe zazwyczaj buforują dyski SSD SATA/SAS; we wdrożeniach hybrydowych dyski SSD NVMe lub SATA/SAS buforują dyski HDD.

W każdym przypadku dyski pamięci podręcznej będą obsługiwać przytłaczającą większość operacji wejścia/wyjścia, w tym 100% zapisów. Jest to niezbędne do zapewnienia bezkonkurencyjnej wydajności pamięci masowej Storage Spaces Direct, niezależnie od tego, czy mierzy się ją w milionach operacji wejścia/wyjścia na sekundę (IOPS), przepustowości operacji wejścia/wyjścia na sekundę (Tb/s) czy stałych opóźnieniach poniżej milisekundy.

Ale nic nie jest za darmo: te dyski pamięci podręcznej mogą się szybko zużyć.

Recenzja: Czym jest zużycie pamięci flash

Dyski półprzewodnikowe składają się dziś niemal powszechnie z pamięci flash NAND, która zużywa się wraz z użytkowaniem. Każda komórka pamięci flash może być zapisana tylko tyle razy, zanim stanie się niewiarygodna. (Istnieje wiele świetnych artykułów online, które opisują wszystkie krwawe szczegóły – także w Wikipedii).
Możesz obserwować, jak to się dzieje w systemie Windows, patrząc na licznik niezawodności zużycia w PowerShell:
PS C:™9419> Get-PhysicalDisk | Get-StorageReliabilityCounter | Select Wear
Oto dane wyjściowe z mojego laptopa – mój dysk SSD jest zużyty w około 5% po dwóch latach.

Uwaga: Nie wszystkie dyski dokładnie zgłaszają tę wartość do systemu Windows. W niektórych przypadkach licznik może być pusty. Sprawdź u swojego producenta, czy ma własne narzędzia, których możesz użyć, aby uzyskać tę wartość.
Generalnie, odczyty nie zużywają pamięci flash NAND.

Ilościowe określanie wytrzymałości pamięci flash

Mierzenie zużycia to jedno, ale jak możemy przewidzieć długowieczność dysku SSD?

Wytrzymałość” pamięci flash jest powszechnie mierzona na dwa sposoby:

  • Drive Writes Per Day (DWPD)
  • Terabytes Written (TBW)

Oba podejścia opierają się na okresie gwarancji producenta na dysk, tak zwanym „okresie eksploatacji”.

Drive Writes Per Day (DWPD)

Drive Writes Per Day (DWPD) określa, ile razy można nadpisać cały rozmiar dysku w ciągu każdego dnia jego eksploatacji. Załóżmy na przykład, że dysk ma pojemność 200 GB, a jego okres gwarancji wynosi 5 lat. Jeśli jego DWPD wynosi 1, oznacza to, że można na nim zapisywać 200 GB (jego rozmiar, jeden raz) każdego dnia przez następne pięć lat.

Jeśli pomnożymy to razy, otrzymamy 200 GB dziennie × 365 dni w roku × 5 lat = 365 TB skumulowanych zapisów, zanim konieczna będzie jego wymiana.

Jeśli DWPD wynosi 10 zamiast 1, oznacza to, że można na nim zapisywać 10 × 200 GB = 2 TB (jego rozmiar, dziesięć razy) każdego dnia. Odpowiednio daje to 3650 TB = 3,65 PB skumulowanych zapisów w ciągu 5 lat.

Terabajty zapisane (TBW)

Terabajty zapisane (TBW) bezpośrednio określają, ile można zapisać na dysku w sposób skumulowany w całym okresie jego eksploatacji. Zasadniczo obejmuje on po prostu mnożenie, które wykonaliśmy powyżej, w samym pomiarze.
Na przykład, jeśli dysk jest oceniany na 365 TBW, oznacza to, że można zapisać 365 TB do niego przed może trzeba będzie go wymienić.
Jeśli okres gwarancji wynosi 5 lat, daje to 365 TB ÷ (5 lat × 365 dni/rok) = 200 GB zapisów dziennie. Jeśli wielkość dysku wynosi 200 GB, odpowiada to 1 DWPD. Odpowiednio, jeśli dysk miał pojemność 3,65 PBW = 3 650 TBW, daje to 2 TB zapisów dziennie, czyli 10 DWPD.
Jak widać, jeśli znasz rozmiar dysku i okres gwarancji, zawsze możesz przejść od DWPD do TBW lub odwrotnie za pomocą kilku prostych mnożeń lub podziałów. Te dwa pomiary są naprawdę bardzo podobne.

Jaka jest różnica?

Jedyną prawdziwą różnicą jest to, że DWPD zależy od rozmiaru dysku, natomiast TBW nie.
Na przykład rozważmy dysk SSD, który może przyjąć 1000 TB zapisów w ciągu 5-letniego okresu eksploatacji.
Załóżmy, że dysk SSD ma 200 GB:
1 000 TB ÷ (5 lat × 365 dni/rok × 200 GB) = 2,74 DWPD
Załóżmy teraz, że dysk SSD ma 400 GB:
1 000 TB ÷ (5 lat × 365 dni/rok × 400 GB) = 1,37 DWPD
Wynikowe DWPD jest inne! Co to oznacza?
Z jednej strony, większy dysk o pojemności 400 GB może wykonać dokładnie taką samą liczbę skumulowanych zapisów w całym okresie eksploatacji, jak mniejszy dysk o pojemności 200 GB. Patrząc na TBW, jest to bardzo jasne – oba dyski są oceniane na 1000 TBW. Jednak patrząc na współczynnik DWPD, okazuje się, że większy dysk ma tylko o połowę mniejszą wytrzymałość! Można argumentować, że ponieważ przy tym samym obciążeniu pracą będą one działać „tak samo”, użycie TBW jest lepsze.
Z drugiej strony, można argumentować, że dysk o pojemności 400 GB może zapewnić pamięć masową dla większego obciążenia, ponieważ jest większy, a zatem jego 1000 TBW rozkłada się bardziej równomiernie i naprawdę ma tylko połowę wytrzymałości! Zgodnie z tym rozumowaniem używanie DWPD jest lepsze.

Najważniejsze

Możesz użyć preferowanej miary. Obecnie niemal powszechnie na kartach specyfikacji dysków widnieją zarówno wartości TBW, jak i DWPD. W zależności od Twoich założeń istnieją przekonujące argumenty przemawiające za jednym z nich.

Zalecenie dla Storage Spaces Direct

Nasze minimalne zalecenie dla Storage Spaces Direct jest wymienione na stronie Wymagania sprzętowe. Od połowy 2017 roku, dla dysków pamięci podręcznej:

    • Jeśli zdecydujesz się mierzyć w DWPD, zalecamy 3 lub więcej.
    • Jeśli zdecydujesz się mierzyć w TBW, zalecamy 4 TBW na dzień okresu eksploatacji. W kartach specyfikacji często podaje się TBW w ujęciu skumulowanym, które należy podzielić przez czas eksploatacji. Na przykład, jeśli okres gwarancji dysku wynosi 5 lat, wówczas 4 TB × 365 dni/rok × 5 lat = 7 300 TBW = 7,3 PBW łącznie.

Często jedna z tych miar jest nieco mniej rygorystyczna niż druga.

Możesz użyć dowolnej miary, którą preferujesz.

Nie ma minimalnej rekomendacji dla dysków pojemnościowych.

Uzupełnienie: Wzmocnienie zapisu

Możesz mieć pokusę, aby wnioskować o wytrzymałości na podstawie liczb IOPS, jeśli je znasz. Na przykład, jeśli twoje obciążenie generuje (średnio) 100 000 IOPS, które są (średnio) 4 KiB każde, z których (średnio) 30% to zapisy, możesz pomyśleć:
100 000 × 30% × 4 KiB = 120 MB/s zapisów
120 MB/s × 60 sek/min × 60 min/godzinę × 24 godziny = ok. 10 TBW/dzień
Jeśli masz cztery serwery z dwoma dyskami cache każdy, to jest:
10 TBW/dzień ÷ (8 łącznych dysków cache) = ok. 1,25 TBW/dzień na dysk
Interesujące! Mniej niż 4 TBW/dzień!
Niestety, jest to błędna matematyka, ponieważ nie uwzględnia wzmocnienia zapisu.
Wzmocnienie zapisu jest wtedy, gdy jeden zapis (w warstwie użytkownika lub aplikacji) staje się wieloma zapisami (w warstwie urządzenia fizycznego). Wzmocnienie zapisu jest nieuniknione w każdym systemie pamięci masowej, który gwarantuje odporność i/lub spójność awaryjną. Najbardziej rażącym przykładem w Storage Spaces Direct jest mirror trójstronny: zapisuje wszystko trzy razy, na trzy różne dyski.
Są też inne źródła wzmocnienia zapisu: zadania naprawy generują dodatkowe operacje wejścia/wyjścia, deduplikacja danych generuje dodatkowe operacje wejścia/wyjścia, system plików i wiele innych komponentów generuje dodatkowe operacje wejścia/wyjścia, utrzymując swoje metadane i struktury dziennika itp. W rzeczywistości, sam dysk generuje wzmocnienie zapisu z wewnętrznych działań, takich jak zbieranie śmieci! (Jeśli jesteś zainteresowany, sprawdź metodologię standardu JESD218, aby dowiedzieć się, jak uwzględnić to w obliczeniach wytrzymałości).
To wszystko jest konieczne i dobre, ale utrudnia wyprowadzenie aktywności IO na poziomie dysku w dolnej części stosu z aktywności IO na poziomie aplikacji w górnej części stosu w jakikolwiek spójny sposób. Dlatego właśnie, bazując na naszym doświadczeniu, publikujemy rekomendację minimalnego DWPD i TBW.
Daj nam znać, co myślisz! 🙂

admin

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

lg