Freigeben über


Grundlegendes zum Speicherpoolcache

Direkte Speicherplätze, die grundlegende Speichervirtualisierungstechnologie hinter Azure Local und Windows Server, bietet einen integrierten serverseitigen Cache, um die Speicherleistung zu maximieren und gleichzeitig die Kosten zu reduzieren. Es handelt sich um einen großen, persistenten, echtzeitbasierten Lese- und Schreibcache, der bei der Bereitstellung automatisch konfiguriert wird. In den meisten Fällen ist keine manuelle Verwaltung erforderlich. Die Funktionsweise des Caches hängt von den vorhandenen Laufwerktypen ab.

Antriebstypen und Bereitstellungsoptionen

Storage Spaces Direct funktioniert derzeit mit vier Laufwerkstypen.

Laufwerkstyp Description
PMem PMem bezieht sich auf beständigen Speicher, einen neuen Typ von geringer Latenz, hochleistungsfähigem Speicher.
NVMe NVMe (Non-Volatile Memory Express) bezieht sich auf Festkörperlaufwerke, die sich direkt auf dem PCIe-Bus befinden. Häufige Formfaktoren sind 2,5 Zoll U.2, PCIe Add-In-Card (AIC) und M.2. NVMe bietet einen höheren IOPS- und E/A-Durchsatz mit geringerer Latenz als jede andere Art von Laufwerk, die wir heute außer PMem unterstützen.
SSD SSD bezieht sich auf Solid-State-Laufwerke, die über herkömmliche SATA- oder SAS-Verbindungen herstellen.
HDD HDD bezieht sich auf rotationale, magnetische Festplattenlaufwerke, die große Speicherkapazität zu geringen Kosten bieten.

Diese können auf verschiedene Arten kombiniert werden, die wir in zwei Kategorien gruppieren: "All-Flash" und "Hybrid". Bereitstellungen mit allen HDD werden nicht unterstützt.

Note

In diesem Artikel werden Cachekonfigurationen mit NVMe, SSD und HDD behandelt. Informationen zur Verwendung des beständigen Speichers als Cache finden Sie unter Grundlegendes und Bereitstellen des beständigen Speichers.

Optionen bei Nur-Flash-Bereitstellungen

All-Flash-Bereitstellungen zielen darauf ab, die Speicherleistung zu maximieren und keine HDD einzuschließen.

Das Diagramm zeigt All-Flash-Bereitstellungen, einschließlich NVMe für Speicher, NVMe als Cache mit SSD für Speicher sowie SSD für Speicher.

Optionen bei Hybridbereitstellungen

Hybridbereitstellungen zielen auf ein ausgewogenes Verhältnis von Leistung und Kapazität oder auf eine Maximierung der Kapazität ab und umfassen Festplattenlaufwerke.

Das Diagramm zeigt Hybridbereitstellungen, einschließlich NVMe für Cache mit HDD für Kapazität, SSD für Cache mit HDD für Kapazität und NVMe für Cache mit HDD plus SSD für Kapazität.

Note

Die Hybridbereitstellung wird in der Konfiguration mit nur einem Server nicht unterstützt. Alle flachen Einzelspeichertyp-Konfigurationen (z. B. all-NVMe oder all-SSD) sind der einzige unterstützte Speichertyp für einen einzelnen Server.

Cachelaufwerke werden automatisch ausgewählt

Bei Bereitstellungen mit mehreren Laufwerktypen verwendet "Direkte Speicherplätze" automatisch alle Laufwerke des schnellsten Typs für die Zwischenspeicherung. Alle weiteren Datenträger werden zur Bereitstellung der Kapazität verwendet.

Welcher Typ "am schnellsten" ist, wird gemäß der folgenden Hierarchie bestimmt.

Diagramm zeigt Datenträgertypen, die schneller und langsamer angeordnet sind, in der Reihenfolge NVMe, SSD, nicht bezeichneter Datenträger, der HDD darstellt.

Wenn Sie beispielsweise über NVMe-Laufwerke und SSDs verfügen, wird auf den NVMe-Laufwerken die Zwischenspeicherung für die SSDs durchgeführt.

Wenn Sie SSDs und HDDs haben, dienen die SSDs als Cache für die HDDs.

Note

Cachelaufwerke tragen nicht zur verwendbaren Speicherkapazität für den Cluster bei. Alle im Cache gespeicherten Daten sind auch an anderen Orten gespeichert. Dies ist spätestens nach dem De-Staging der Fall. Dies bedeutet, dass die gesamte rohe Speicherkapazität Ihres Clusters nur die Summe Ihrer Kapazitätslaufwerke ist.

Wenn alle Laufwerke denselben Typ aufweisen, wird kein Cache automatisch konfiguriert. Sie haben die Möglichkeit, Laufwerke mit höherer Lebensdauer manuell so zu konfigurieren, dass sie für Laufwerke mit geringerer Lebensdauer desselben Typs zwischengespeichert werden. Weitere Informationen finden Sie im Abschnitt " Manuelle Konfiguration ", um zu erfahren, wie das geht.

Tip

In einigen Fällen ist die Verwendung des Speicherpoolcaches nicht sinnvoll. Beispielsweise kann in all-NVMe- oder all-SSD-Bereitstellungen, vor allem bei sehr kleinen Installationen, das Fehlen von für den Cache verwendeten Laufwerken die Speichereffizienz verbessern und die Leistung maximieren. Ebenso verfügen kleine Remote- oder Zweigstellenbereitstellungen möglicherweise über begrenzten Speicherplatz für Cachelaufwerke.

Das Cacheverhalten wird automatisch festgelegt.

Das Verhalten des Caches wird automatisch basierend auf den Laufwerkstypen bestimmt, für die gecached wird. Beim Zwischenspeichern für Flashlaufwerke (z. B. NVMe-Zwischenspeicherung für SSDs) werden nur Schreibvorgänge zwischengespeichert. Beim Zwischenspeichern für drehbare Datenträgerlaufwerke (z. B. SSDs-Zwischenspeicherung für HDDs) werden Lese- und Schreibvorgänge zwischengespeichert.

Diagramm, das die Zwischenspeicherung für All-Flash vergleicht, bei der Schreibvorgänge zwischengespeichert werden und Lesevorgänge nicht, mit Hybrid, bei dem sowohl Lese- als auch Schreibvorgänge zwischengespeichert werden.

Lesegeschützte Zwischenspeicherung für reine Flash-Bereitstellungen

Zwischenspeichern kann in einem Szenario mit allen Flashs verwendet werden, z. B. mithilfe von NVMe als Cache, um die Leistung von SSDs zu beschleunigen. Beim Zwischenspeichern für alle Flash-Bereitstellungen werden nur Schreibvorgänge zwischengespeichert. Dies reduziert den Verschleiß der Kapazitätslaufwerke, da viele Schreib- und Umschreibvorgänge im Cache zusammengeführt werden und dann nur bei Bedarf entladen werden können, wodurch der kumulative Verkehr zu den Kapazitätslaufwerken vermindert und ihre Lebensdauer verlängert wird. Aus diesem Grund empfehlen wir die Auswahl höherer Dauer, schreiboptimierter Laufwerke für den Cache. Die Kapazitätslaufwerke verfügen in Bezug auf Schreibvorgänge ggf. über eine kürzere Lebensdauer.

Da Lesevorgänge die Lebensdauer von Flash nicht erheblich beeinträchtigen und SSDs universell eine niedrige Leselatenz bieten, werden Lesevorgänge nicht zwischengespeichert: Sie werden direkt von den Kapazitätslaufwerken bereitgestellt (außer wenn die Daten so kürzlich geschrieben wurden, dass sie noch nicht destagiert wurden). Auf diese Weise kann der Cache vollständig für Schreibvorgänge reserviert werden, wodurch seine Effektivität maximiert wird.

Dies führt zu Schreibeigenschaften, z. B. schreiblatenz, die von den Cachelaufwerken diktiert werden, während die Leseeigenschaften von den Kapazitätslaufwerken bestimmt werden. Beide sind konsistent, vorhersehbar und einheitlich.

Zwischenspeicherung von Lese-/Schreibvorgängen für Hybridbereitstellungen

Beim Zwischenspeichern für HDD werden sowohl Lese- als auch Schreibvorgänge zwischengespeichert, um flashähnliche Latenz (oft ~10x besser) für beide bereitzustellen. Der Lesecache speichert kürzlich und häufig gelesene Daten für schnellen Zugriff und minimiert den zufälligen Datenverkehr an die HDDs. (Aufgrund von Such- und Drehverzögerungen ist die Latenz und die verlorene Zeit, die durch zufälligen Zugriff auf eine HDD entsteht, erheblich.) Schreibvorgänge werden zwischengespeichert, um Bursts zu absorbieren und wie zuvor Schreib- und Neuschreibungen zusammenzupacken und den kumulativen Datenverkehr auf die Kapazitätslaufwerke zu minimieren.

Storage Spaces Direct implementiert einen Algorithmus, der die zufällige Reihenfolge der Schreibvorgänge vor ihrem De-Staging entfernt, um ein E/A-Muster auf die Festplatte zu emulieren, das sequenziell wirkt, auch wenn die Workload (z. B. virtuelle Computer) die E/A-Vorgänge in zufälliger Reihenfolge übermittelt. Dadurch werden die IOPS und der Durchsatz auf die HDDs maximiert.

Zwischenspeichern in Bereitstellungen mit NVMe, SSDs und HDDs

Wenn Laufwerke aller drei Typen vorhanden sind, bieten die NVMe-Laufwerke Cache sowohl für die SSDs als auch für die HDDs. Das Verhalten ist wie oben beschrieben: Nur Schreibvorgänge werden für die SSDs zwischengespeichert, und sowohl Lese- als auch Schreibvorgänge werden für die HDDs zwischengespeichert. Die Belastung der Zwischenspeicherung für die HDDs wird gleichmäßig auf die Cachelaufwerke verteilt.

Summary

In dieser Tabelle wird zusammengefasst, welche Laufwerke für die Zwischenspeicherung verwendet werden, welche für die Kapazität verwendet werden und welches Zwischenspeicherungsverhalten für jede Bereitstellungsmöglichkeit besteht.

Deployment Cachelaufwerke Kapazitätslaufwerke Cacheverhalten (Standard)
Alle NVMe Keine (Optional: manuell konfigurieren) NVMe Lesegeschützt (falls konfiguriert)
Alle SSD Keine (Optional: manuell konfigurieren) SSD Lesegeschützt (falls konfiguriert)
NVMe und SSD NVMe SSD Write-only
NVMe und HDD NVMe HDD Lesen/Schreiben
SSD und HDD SSD HDD Lesen/Schreiben
NVMe und SSD und HDD NVMe SSD und HDD Lese- und Schreibzugriff für HDD, Nur-Schreibzugriff für SSD

Serverseitige Architektur

Der Cache wird auf Laufwerksebene implementiert: Einzelne Cachelaufwerke innerhalb eines Servers sind an ein oder mehrere Kapazitätslaufwerke innerhalb desselben Servers gebunden.

Da sich der Cache unterhalb der restlichen Elemente des softwaredefinierten Speicherstapels von Windows befindet, verfügt er nicht über ein „Konzeptbewusstsein“, z. B. in Bezug auf Speicherplätze oder Fehlertoleranz, und benötigt dies auch nicht. Sie können sich dies als das Erstellen von Hybridlaufwerken (teilweise Flash, teilweise Festplatte) vorstellen, die dann dem Betriebssystem präsentiert werden. Wie bei einem tatsächlichen Hybridlaufwerk ist die Echtzeitbewegung von Heiß- und Kaltdaten zwischen den schnelleren und langsameren Teilen der physischen Medien für den Außenbereich nahezu unsichtbar.

Da die Resilienz in "Direkte Speicherplätze" mindestens auf Serverebene liegt (d. h. Datenkopien werden immer auf unterschiedliche Server geschrieben; höchstens eine Kopie pro Server), profitieren Daten im Cache von der gleichen Resilienz wie Daten, die sich nicht im Cache befinden.

Das Diagramm stellt drei Server dar, die mit einer Drei-Wege-Spiegelung in einer Speicherspeicherebene verbunden sind, die auf eine Cacheebene von NVMe-Laufwerken zugreift, die auf nicht bezeichnete Kapazitätslaufwerke zugreifen.

Bei Verwendung der Drei-Wege-Spiegelung werden beispielsweise drei Kopien aller Daten auf verschiedene Server geschrieben, auf denen sie im Cache landen. Unabhängig davon, ob sie später entfernt werden oder nicht, gibt es immer drei Kopien.

Laufwerkbindungen sind dynamisch

Die Bindung zwischen Cache- und Kapazitätslaufwerken kann ein beliebiges Verhältnis aufweisen, von 1:1 bis 1:12 und darüber hinaus. Dieses Verhältnis wird jeweils dynamisch angepasst, wenn Laufwerke hinzugefügt oder entfernt werden, z. B. beim zentralen Hochskalieren oder nach Ausfällen. Dies bedeutet, dass Sie Cachelaufwerke oder Kapazitätslaufwerke unabhängig voneinander hinzufügen können, wann immer Sie möchten.

Animiertes Diagramm zeigt zwei NVMe-Cachelaufwerke, die dynamisch den ersten vier, dann sechs und dann acht Kapazitätslaufwerken zugeordnet werden.

Wir empfehlen Ihnen, aus Symmetriegründen als Anzahl von Kapazitätslaufwerken ein Vielfaches der Anzahl von Cachelaufwerken zu wählen. Wenn Sie z. B. über vier Cachelaufwerke verfügen, erleben Sie eine gleichmäßigere Leistung mit 8 Kapazitätslaufwerken (Verhältnis 1:2) als bei 7 oder 9.

Vorgehensweise bei Ausfällen von Cachelaufwerken

Wenn ein Cachelaufwerk fehlschlägt, gehen alle Schreibvorgänge, die noch nicht destagiert wurden, an den lokalen Server verloren, was bedeutet, dass sie nur auf den anderen Kopien (auf anderen Servern) vorhanden sind. Wie nach anderen Laufwerksausfällen auch, ist für Speicherplätze eine automatische Wiederherstellung möglich und wird auch durchgeführt, indem die intakten Kopien herangezogen werden.

Für kurze Zeit werden die Kapazitätslaufwerke, die an das ausgefallene Cachelaufwerk gebunden waren, als fehlerhaft angezeigt. Sobald die Cache-Neubindung erfolgt ist (automatisch) und die Datenreparatur abgeschlossen wurde (automatisch), werden sie wieder als fehlerfrei angezeigt.

In diesem Szenario sind mindestens zwei Cachelaufwerke pro Server erforderlich, um die Leistung zu erhalten.

Animiertes Diagramm zeigt zwei SSD-Cachelaufwerke, die sechs Kapazitätslaufwerken zugeordnet sind, bis ein Cachelaufwerk fehlschlägt. Dies bewirkt, dass alle sechs Laufwerke dem verbleibenden Cachelaufwerk zugeordnet werden.

Anschließend können Sie das Cachelaufwerk wie jedes andere Laufwerk austauschen.

Note

Unter Umständen müssen Sie den Computer ausschalten, um ein NVMe-Laufwerk sicher austauschen zu können, bei dem es sich um eine Add-In-Karte (AIC) oder ein Gerät mit M.2-Formfaktor handelt.

Beziehung zu anderen Caches

Im softwaredefinierten Windows-Speicherstapel gibt es mehrere andere nicht verknüpfte Caches. Beispiele hierfür sind der Speicherplätze-Zurückschreibcache und der Cache für In-Memory-Lesevorgänge des freigegebenen Clustervolumes (Cluster Shared Volume, CSV).

Bei Azure Local sollte der Cache für Speicherplätze nicht aus dem Standardverhalten geändert werden. Parameter wie "-WriteCacheSize " im Cmdlet "New-Volume " sollten z. B. nicht verwendet werden.

Sie können den CSV-Cache verwenden oder nicht – es liegt an Ihnen. Es ist standardmäßig in Azure Local aktiviert, aber es ist nicht mit dem in diesem Thema beschriebenen Cache in irgendeiner Weise in Konflikt. In bestimmten Szenarien kann es wertvolle Leistungsgewinne bieten. Weitere Informationen finden Sie unter Verwenden des CSV-Speicherlesecaches mit Azure Local.

Manuelle Konfiguration

Für die meisten Bereitstellungen ist keine manuelle Konfiguration erforderlich. Falls Sie dies benötigen, lesen Sie die folgenden Abschnitte.

Wenn Sie nach dem Setup Änderungen am Cachegerätemodell vornehmen müssen, bearbeiten Sie das Supportkomponentendokument des Integritätsdiensts, wie in der Übersicht über den Integritätsdienst beschrieben.

Angeben des Cachelaufwerkmodells

In Bereitstellungen, bei denen alle Laufwerke vom gleichen Typ sind, z. B. alle NVMe- oder alle SSD-Bereitstellungen, wird kein Cache konfiguriert, da Windows keine Merkmale wie das automatische Schreiben zwischen Laufwerken desselben Typs unterscheiden kann.

Zum Zwischenspeichern von Laufwerken mit höherer Lebensdauer für Laufwerke mit niedrigerer Lebensdauer desselben Typs können Sie angeben, welches Laufwerkmodell mit dem Parameter "-CacheDeviceModel" des Cmdlets "Enable-ClusterS2D" verwendet werden soll. Alle Laufwerke dieses Modells werden für die Zwischenspeicherung verwendet.

Tip

Achten Sie darauf, die Modellzeichenfolge genau so abzugleichen, wie sie in der Ausgabe von "Get-PhysicalDisk" angezeigt wird.

Example

Rufen Sie zunächst eine Liste der physischen Datenträger ab:

Get-PhysicalDisk | Group Model -NoElement

Hier ist eine Beispielausgabe:

Count Name
----- ----
    8 FABRIKAM NVME-1710
   16 CONTOSO NVME-1520

Geben Sie dann den folgenden Befehl ein, und geben Sie das Cachegerätemodell an:

Enable-ClusterS2D -CacheDeviceModel "FABRIKAM NVME-1710"

Sie können überprüfen, ob die von Ihnen beabsichtigten Laufwerke für die Zwischenspeicherung verwendet werden, indem Sie Get-PhysicalDisk in PowerShell ausführen und überprüfen, ob die Verwendungseigenschaft"Journal" lautet.

Optionen bei manuellen Bereitstellungen

Die manuelle Konfiguration ermöglicht die folgenden Bereitstellungsmöglichkeiten:

Das Diagramm zeigt Bereitstellungsmöglichkeiten, einschließlich NVMe für Cache und Kapazität, SSD für Cache und Kapazität sowie SSD für Cache und gemischte SSD und HDD für Kapazität.

Festlegen des Cacheverhaltens

Es ist möglich, das Standardverhalten des Caches außer Kraft zu setzen. Sie können beispielsweise festlegen, dass auch in einer All-Flash-Bereitstellung Lesevorgänge zwischengespeichert werden. Es wird davon abgeraten, das Verhalten zu ändern, es sei denn, Sie sind sicher, dass die Standardeinstellung Ihrer Workload nicht entspricht.

Verwenden Sie das Cmdlet "Set-ClusterStorageSpacesDirect " und dessen Parameter "-CacheModeSSD " und "-CacheModeHDD" , um das Verhalten außer Kraft zu setzen. Der Parameter CacheModeSSD legt das Cacheverhalten beim Zwischenspeichern für SSD fest. Der Parameter CacheModeHDD legt das Cacheverhalten beim Zwischenspeichern für HDD fest.

Mit Get-ClusterStorageSpacesDirect können Sie überprüfen, ob das Verhalten festgelegt ist.

Example

Rufen Sie zuerst die Einstellungen für „Direkte Speicherplätze“ ab:

Get-ClusterStorageSpacesDirect

Hier ist eine Beispielausgabe:

CacheModeHDD : ReadWrite
CacheModeSSD : WriteOnly

Gehen Sie dann wie folgt vor:

Set-ClusterStorageSpacesDirect -CacheModeSSD ReadWrite

Get-ClusterS2D

Hier ist eine Beispielausgabe:

CacheModeHDD : ReadWrite
CacheModeSSD : ReadWrite

Dimensionierung der Cachegröße

Der Cache sollte so angepasst werden, dass der Arbeitssatz (die Daten, die zu einem bestimmten Zeitpunkt aktiv gelesen oder geschrieben werden) Ihrer Anwendungen und Arbeitsauslastungen berücksichtigt werden.

Dies ist besonders wichtig bei Hybridbereitstellungen mit Festplattenlaufwerken. Wenn der aktive Arbeitssatz die Größe des Caches überschreitet oder der aktive Arbeitssatz zu schnell driftet, steigt die Anzahl der Lesecache-Fehler und das De-Staging der Schreibvorgänge muss aggressiver erfolgen. Das beeinträchtigt die Gesamtleistung.

Sie können das integrierte Hilfsprogramm Performance Monitor (PerfMon.exe) in Windows verwenden, um die Rate von Cachefehlern zu überprüfen. Insbesondere können Sie den Wert für Cachefehlerlesedaten/Sekunde aus dem Zählersatz für das Clusterspeicher-Hybridlaufwerk mit den allgemeinen Lese-IOPS Ihrer Bereitstellung vergleichen. Jeder „Hybriddatenträger“ entspricht einem Kapazitätslaufwerk.

Beispielsweise ergeben 2 Cachelaufwerke, die an vier Kapazitätslaufwerke gebunden sind, 4 "Hybrid Disk"-Objektinstanzen pro Server.

Performance-Monitor.

Es gibt keine universelle Regel, aber wenn zu viele Lesevorgänge den Cache verfehlen, ist er möglicherweise zu klein, und Sie sollten erwägen, Cache-Laufwerke hinzuzufügen, um den Cache zu erweitern. Sie können Cachelaufwerke oder Kapazitätslaufwerke unabhängig voneinander hinzufügen, wenn Sie möchten.

Nächste Schritte

Weitere Speicherkenntnisse finden Sie auch unter: