Freigeben über


Konfigurieren von Speicherplätzen mit NVDIMM-N-Zurückschreibcache

Gilt für: SQL Server

Windows Server 2016 führte die Unterstützung für NVDIMM-N-Geräte ein, die extrem schnelle Eingabe-/Ausgabevorgänge (E/A-Vorgänge) ermöglicht. Eine hervorragende Möglichkeit der Verwendung solcher Geräte ist ein Zurückschreibcache, um niedrige Schreiblatenzen zu erreichen. In diesem Artikel wird erläutert, wie ein gespiegelter Speicherplatz mit einem gespiegelten NVDIMM-N-Rückschreibcache als virtuelles Laufwerk eingerichtet werden kann, um das SQL Server-Transaktionsprotokoll zu speichern. Wenn Sie den Speicherplatz auch dazu verwenden möchten, Datentabellen oder andere Daten zu speichern, können Sie weitere Datenträger in den Speicherpool aufnehmen oder, wenn Isolation wichtig ist, mehrere Pools erstellen.

Identifizieren der richtigen Datenträger

Ein Einrichten von Speicherplätzen in Windows Server 2016, insbesondere mit erweiterten Funktionen wie Zurückschreibcaches, lässt sich am einfachsten über PowerShell erledigen. Der erste Schritt besteht darin, zu ermitteln, welche Datenträger zu dem Speicherplätzepool gehören sollen, aus dem der virtuelle Datenträger erstellt wird. NVDIMM-Ns haben den Medientyp und Bustyp SCM (Storage Class Memory), der über das PowerShell-Cmdlet Get-PhysicalDisk abgefragt werden kann.

Get-PhysicalDisk | Select FriendlyName, MediaType, BusType  

Screenshot eines Windows PowerShell-Fensters mit der Ausgabe des Get-PhysicalDisk-Cmdlets

Hinweis

Mit NVDIMM-N-Geräten ist es nicht mehr erforderlich, dass Sie speziell die Geräte auswählen, die Ziele für einen Zückschreibcache sein können.

Um einen gespiegelten virtuellen Datenträger mit gespiegeltem Rückschreibcache zu erstellen, sind mindestens zwei NVDIMM-Ns und zwei weitere Datenträger erforderlich. Die Vorgehensweise lässt sich vereinfachen, indem die gewünschten physischen Datenträger einer Variablen zugeordnet werden.

$pd =  Get-PhysicalDisk | Select FriendlyName, MediaType, BusType | WHere-Object {$_.FriendlyName -like 'MK0*' -or $_.FriendlyName -like '2c80*'}  

Der Screenshot zeigt die Variable „$pd“ sowie die zwei SSDs und zwei NVDIMM-Ns, denen sie zugewiesen ist und mit dem folgenden PowerShell-Cmdlet zurückgegeben wurde:

$pd | Select FriendlyName, MediaType, BusType  

Screenshot eines Windows PowerShell-Fensters mit der Ausgabe des $pd-Cmdlets

Erstellen des Speicherpools

Über die Variable „$pd“, die die physischen Datenträger enthält, ist es einfach, den Speicherpool mit dem PowerShell-Cmdlet New-StoragePool zu erstellen.

New-StoragePool -StorageSubSystemFriendlyName "Windows Storage*" -FriendlyName NVDIMM_Pool -PhysicalDisks $pd  

Screenshot eines Windows PowerShell-Fensters mit der Ausgabe des New-StoragePool-Cmdlets

Erstellen des virtuellen Datenträgers und Volumes

Nachdem ein Pool erstellt wurde, besteht der nächste Schritt darin, einen virtuellen Datenträger anzulegen und diesen zu formatieren. In diesem Fall wird nur ein virtueller Datenträger erstellt, und das PowerShell-Cmdlet New-Volume kann verwendet werden, um diesen Prozess zu optimieren:

New-Volume -StoragePool (Get-StoragePool -FriendlyName NVDIMM_Pool) -FriendlyName Log_Space -Size 300GB -FileSystem NTFS -AccessPath S: -ResiliencySettingName Mirror  

Screenshot eines Windows PowerShell-Fensters mit der Ausgabe des New-Volume-Cmdlets

Der virtuelle Datenträger wurde erstellt, initialisiert und mit NTFS formatiert. Der folgende Screenshot zeigt, dass der Datenträger eine Größe von 300 GB und eine Schreibcachegröße von 1 GB hat, die auf den NVDIMM-Ns gehostet wird.

Screenshot eines Windows PowerShell-Fensters mit der Ausgabe des Get-VirtualDisk-Cmdlets

Sie können dieses neue Volume jetzt auf dem Server sehen. Dieses Laufwerk können Sie nun für Ihr SQL Server-Transaktionsprotokoll verwenden.

Screenshot eines Datei-Explorer-Fensters auf der Seite „Dieser PC“ mit dem Log_Space-Laufwerk

Nächste Schritte