Erstmals veröffentlicht auf TECHNET am 11. August 2017

Hallo! Ich bin Cosmos. Folge mir auf Twitter @cosmosdarwin.

Hintergrund

Storage Spaces Direct in Windows Server 2016 und Windows Server 2019 bietet einen integrierten, persistenten Lese- und Schreibcache, um die Speicherleistung zu maximieren. Sie können alles darüber unter Understanding the cache in Storage Spaces Direct lesen. In All-Flash-Bereitstellungen werden NVMe-Laufwerke in der Regel für SATA/SAS-SSDs gecached; in hybriden Bereitstellungen werden NVMe- oder SATA/SAS-SSDs für HDDs gecached.

In jedem Fall werden die Cache-Laufwerke die überwältigende Mehrheit der IO bedienen, einschließlich 100 % der Schreibvorgänge. Dies ist eine wesentliche Voraussetzung für die unübertroffene Leistung von Storage Spaces Direct, unabhängig davon, ob Sie diese in Millionen von IOPS, Tb/s IO-Durchsatz oder konsistenten Latenzzeiten von unter einer Millisekunde messen.

Aber nichts ist umsonst: Diese Cache-Laufwerke können schnell verschleißen.

Rückblick: Was ist Flash-Verschleiß

Festkörperlaufwerke bestehen heute fast durchgängig aus NAND-Flash, das sich bei Gebrauch abnutzt. Jede Flash-Speicherzelle kann nur so oft beschrieben werden, bis sie unzuverlässig wird. (Es gibt zahlreiche großartige Online-Artikel, die alle blutigen Details abdecken – auch bei Wikipedia).
Sie können dies in Windows beobachten, indem Sie sich den Zähler für die Abnutzungszuverlässigkeit in PowerShell ansehen:
PS C:\> Get-PhysicalDisk | Get-StorageReliabilityCounter | Select Wear
Hier ist die Ausgabe von meinem Laptop – meine SSD ist nach zwei Jahren etwa 5 % abgenutzt.

Hinweis: Nicht alle Laufwerke melden diesen Wert genau an Windows. In einigen Fällen kann der Zähler leer sein. Erkundigen Sie sich bei Ihrem Hersteller, ob es proprietäre Tools gibt, mit denen Sie diesen Wert abrufen können.
Im Allgemeinen nutzen Lesevorgänge den NAND-Flash nicht ab.

Quantifizierung der Flash-Ausdauer

Die Messung der Abnutzung ist eine Sache, aber wie können wir die Langlebigkeit einer SSD vorhersagen?

Die „Ausdauer“ von Flash wird üblicherweise auf zwei Arten gemessen:

  • Laufwerkschreibvorgänge pro Tag (DWPD)
  • Geschriebene Terabytes (TBW)

Beide Ansätze basieren auf der Garantiezeit des Herstellers für das Laufwerk, der sogenannten „Lebensdauer“.

Drive Writes Per Day (DWPD)

Drive Writes Per Day (DWPD) misst, wie oft Sie die gesamte Größe des Laufwerks an jedem Tag seiner Lebensdauer überschreiben könnten. Angenommen, Ihr Laufwerk ist 200 GB groß und die Garantiezeit beträgt 5 Jahre. Wenn der DWPD-Wert 1 ist, bedeutet das, dass Sie in den nächsten fünf Jahren jeden Tag 200 GB (seine Größe, einmal) darauf schreiben können.

Multiplizieren Sie das, ergibt das 200 GB pro Tag × 365 Tage/Jahr × 5 Jahre = 365 TB an kumulativen Schreibvorgängen, bevor Sie es ersetzen müssen.

Wenn der DWPD-Wert 10 statt 1 wäre, würde das bedeuten, dass Sie jeden Tag 10 × 200 GB = 2 TB (seine Größe, zehnmal) darauf schreiben können. Das entspricht 3.650 TB = 3,65 PB an kumulativen Schreibvorgängen über 5 Jahre.

Terabytes Written (TBW)

Terabytes Written (TBW) misst direkt, wie viel Sie während der Lebensdauer des Laufwerks kumulativ darauf schreiben können. Im Wesentlichen beinhaltet es nur die Multiplikation, die wir oben in der Messung selbst vorgenommen haben.
Wenn Ihr Laufwerk beispielsweise für 365 TBW ausgelegt ist, bedeutet das, dass Sie 365 TB darauf schreiben können, bevor Sie es möglicherweise ersetzen müssen.
Wenn die Garantiezeit 5 Jahre beträgt, ergibt das 365 TB ÷ (5 Jahre × 365 Tage/Jahr) = 200 GB Schreibvorgänge pro Tag. Wenn Ihre Festplatte 200 GB groß war, entspricht das 1 DWPD. Wenn Ihr Laufwerk für 3,65 PBW = 3.650 TBW ausgelegt war, entspricht das 2 TB Schreibvorgängen pro Tag oder 10 DWPD.
Wie Sie sehen, können Sie, wenn Sie die Größe des Laufwerks und die Garantiezeit kennen, mit ein paar einfachen Multiplikationen oder Divisionen immer von DWPD auf TBW oder umgekehrt kommen. Die beiden Messungen sind wirklich sehr ähnlich.

Wo liegt der Unterschied?

Der einzige wirkliche Unterschied ist, dass DWPD von der Größe des Laufwerks abhängt, TBW dagegen nicht.
Betrachten wir zum Beispiel eine SSD, die während ihrer fünfjährigen Lebensdauer 1.000 TB an Schreibvorgängen aufnehmen kann.
Angenommen, die SSD ist 200 GB groß:
1.000 TB ÷ (5 Jahre × 365 Tage/Jahr × 200 GB) = 2,74 DWPD
Nun nehmen wir an, die SSD ist 400 GB groß:
1.000 TB ÷ (5 Jahre × 365 Tage/Jahr × 400 GB) = 1,37 DWPD
Der resultierende DWPD ist anders! Was hat das zu bedeuten?
Einerseits kann das größere 400-GB-Laufwerk während seiner Lebensdauer genau die gleichen kumulativen Schreibvorgänge durchführen wie das kleinere 200-GB-Laufwerk. Betrachtet man die TBW, so ist dies sehr deutlich – beide Laufwerke sind für 1.000 TBW ausgelegt. Betrachtet man jedoch die DWPD, so scheint das größere Laufwerk nur halb so viel Ausdauer zu haben! Man könnte argumentieren, dass die TBW besser ist, weil sie bei gleicher Arbeitslast „die gleiche Leistung“ erbringt.
Andererseits könnte man argumentieren, dass das 400-GB-Laufwerk mehr Arbeitslast speichern kann, weil es größer ist und sich daher seine 1.000 TBW dünner verteilen und es wirklich nur die Hälfte der Ausdauer hat! Nach dieser Argumentation ist die Verwendung von DWPD besser.

Fazit

Sie können die von Ihnen bevorzugte Messung verwenden. Heutzutage werden in den technischen Datenblättern von Laufwerken fast immer sowohl TBW als auch DWPD angegeben. Je nach Ihren Annahmen gibt es überzeugende Argumente für eines von beiden.

Empfehlung für Storage Spaces Direct

Unsere Mindestempfehlung für Storage Spaces Direct ist auf der Seite mit den Hardwareanforderungen aufgeführt. Ab Mitte 2017, für Cache-Laufwerke:

    • Wenn Sie sich für die Messung in DWPD entscheiden, empfehlen wir 3 oder mehr.
    • Wenn Sie sich für die Messung in TBW entscheiden, empfehlen wir 4 TBW pro Tag der Lebensdauer. In den technischen Datenblättern werden oft kumulative TBW angegeben, die Sie durch die Lebensdauer dividieren müssen. Wenn Ihr Laufwerk beispielsweise eine Garantiezeit von 5 Jahren hat, dann sind 4 TB × 365 Tage/Jahr × 5 Jahre = 7.300 TBW = 7,3 PBW insgesamt.

Oftmals wird eine dieser Messungen etwas weniger streng sein als die andere.

Sie können das Maß verwenden, das Sie bevorzugen.

Es gibt keine Mindestempfehlung für Kapazitätslaufwerke.

Zusatz: Schreibverstärkung

Sie könnten versucht sein, die Ausdauer anhand der IOPS-Zahlen zu bestimmen, wenn Sie diese kennen. Wenn Ihre Arbeitslast beispielsweise (im Durchschnitt) 100.000 IOPS erzeugt, die (im Durchschnitt) jeweils 4 KiB umfassen, von denen (im Durchschnitt) 30 % Schreibvorgänge sind, könnten Sie denken:
100.000 × 30% × 4 KiB = 120 MB/s an Schreibvorgängen
120 MB/s × 60 Sek./Min. × 60 Min./Stunde × 24 Stunden = ca. 10 TBW/Tag
Wenn Sie vier Server mit je zwei Cache-Laufwerken haben, sind das:
10 TBW/Tag ÷ (8 Cache-Laufwerke insgesamt) = ca. 1,25 TBW/Tag pro Laufwerk
Interessant! Weniger als 4 TBW/Tag!
Unglücklicherweise ist diese Rechnung fehlerhaft, weil sie die Schreibverstärkung nicht berücksichtigt.
Schreibverstärkung liegt vor, wenn ein Schreibvorgang (auf der Benutzer- oder Anwendungsebene) zu mehreren Schreibvorgängen (auf der physischen Geräteebene) führt. Schreibverstärkung ist in jedem Speichersystem, das Ausfallsicherheit und/oder Crash-Konsistenz garantiert, unvermeidlich. Das eklatanteste Beispiel in Storage Spaces Direct ist die Drei-Wege-Spiegelung: Sie schreibt alles dreimal, auf drei verschiedene Laufwerke.
Es gibt auch noch andere Quellen der Schreibverstärkung: Reparaturaufträge erzeugen zusätzliche IO; die Datendeduplizierung erzeugt zusätzliche IO; das Dateisystem und viele andere Komponenten erzeugen zusätzliche IO, indem sie ihre Metadaten und Protokollstrukturen persistieren; usw. Sogar das Laufwerk selbst erzeugt eine Schreibverstärkung durch interne Aktivitäten wie die Garbage Collection! (Wenn Sie daran interessiert sind, sehen Sie sich die Methodik des JESD218-Standards an, um herauszufinden, wie man dies in die Lebensdauerberechnungen einbezieht).
Das alles ist notwendig und gut, aber es macht es schwierig, die IO-Aktivität auf Laufwerksebene am unteren Ende des Stapels von der IO-Aktivität auf Anwendungsebene am oberen Ende des Stapels auf konsistente Weise abzuleiten. Aus diesem Grund veröffentlichen wir auf der Grundlage unserer Erfahrungen die Empfehlung für ein Minimum an DWPD und TBW.
Lassen Sie uns wissen, was Sie denken! 🙂

admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

lg