Configurazione di spazi di archiviazione con una cache write-back NVDIMM-N
Si applica a: SQL Server
Windows Server 2016 presenta i supporti per i dispositivi NVDIMM N che consentono operazioni di input/output (I/O) estremamente veloci. Un uso interessante di tali dispositivi è come cache write-back per ottenere latenze di scrittura ridotte. Questo articolo illustra come configurare uno spazio di archiviazione con mirroring con una cache write-back NVDIMM-N con mirroring come unità virtuale per archiviare il log delle transazioni di SQL Server. Se si vuole usare lo spazio anche per archiviare tabelle di dati o altri dati, è possibile includere più dischi nel pool di archiviazione o creare più pool, se l'isolamento è importante.
Identificare i dischi appropriati
Il modo più semplice per configurare gli spazi di archiviazione in Windows Server 2016, soprattutto con funzionalità avanzate come le cache write-back, consiste nell'usare PowerShell. Il primo passaggio consiste nell'identificare i dischi che dovranno far parte del pool di spazi di archiviazione dal quale verrà creato il disco virtuale. I dispositivi NVDIMM-N hanno un tipo di supporto e un tipo di bus SCM (Storage Class Memory) per i quali è possibile eseguire query tramite il cmdlet Get-PhysicalDisk
.
Get-PhysicalDisk | Select FriendlyName, MediaType, BusType
Nota
Con i dispositivi NVDIMM-N non è più necessario selezionare appositamente i dispositivi che possono essere destinazioni di cache write-back.
Per creare un disco virtuale con mirroring con cache write-back con mirroring sono necessari almeno due dispositivi NVDIMM-N e due altri dischi. L'assegnazione dei dischi fisici a una variabile prima di creare il pool semplifica il processo.
$pd = Get-PhysicalDisk | Select FriendlyName, MediaType, BusType | WHere-Object {$_.FriendlyName -like 'MK0*' -or $_.FriendlyName -like '2c80*'}
Lo screenshot mostra la variabile $pd e le due unità SSD e i due dispositivi NVDIMM-N cui è assegnata restituiti dal cmdlet PowerShell seguente.
$pd | Select FriendlyName, MediaType, BusType
Creare il pool di archiviazione
Con la variabile $pd contenente i dischi fisici è facile creare il pool di archiviazione usando il cmdlet di PowerShell New-StoragePool
.
New-StoragePool -StorageSubSystemFriendlyName "Windows Storage*" -FriendlyName NVDIMM_Pool -PhysicalDisks $pd
Creare disco virtuale e volume
Dopo aver creato un pool, il passaggio successivo consiste nel creare e formattare un disco virtuale. In questo caso verrà creato un solo disco virtuale ed è possibile usare il cmdlet di PowerShell New-Volume
per semplificare questo processo:
New-Volume -StoragePool (Get-StoragePool -FriendlyName NVDIMM_Pool) -FriendlyName Log_Space -Size 300GB -FileSystem NTFS -AccessPath S: -ResiliencySettingName Mirror
Il disco virtuale è stato creato, inizializzato e formattato con NTFS. La schermata seguente indica che il disco ha una dimensione di 300 GB e una cache di scrittura di 1 GB che verrà ospitata nei dispositivi NVDIMM-N.
È ora possibile visualizzare il nuovo volume nel server. È possibile usare questa unità per il log delle transazioni di SQL Server.