Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 bezieht sich auf beständigen Speicher, einen neuen Typ von geringer Latenz, hochleistungsfähigem Speicher. |
|
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 bezieht sich auf Solid-State-Laufwerke, die über herkömmliche SATA- oder SAS-Verbindungen herstellen. |
|
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.
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.
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.
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.
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.
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.
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.
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:
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.
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: