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
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
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
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
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.
Sie können dieses neue Volume jetzt auf dem Server sehen. Dieses Laufwerk können Sie nun für Ihr SQL Server-Transaktionsprotokoll verwenden.