Configuration des espaces de stockage avec un cache en écriture différée NVDIMM-N
S’applique à : SQL Server
Windows Server 2016 a introduit la prise en charge des appareils NVDIMM-N qui permettent des opérations d’entrée/sortie (E/S) extrêmement rapides. Une façon intéressante d’utiliser ces périphériques consiste à en faire un cache en écriture différée pour obtenir des latences d’écriture faibles. Cet article explique comment configurer un espace de stockage mis en miroir avec un cache en écriture différée NVDIMM-N mis en miroir en tant que lecteur virtuel pour stocker le journal des transactions SQL Server. Si vous cherchez à l’utiliser pour également stocker des tables de données ou d’autres données, vous pouvez inclure davantage de disques dans le pool de stockage, ou créer plusieurs pools, si l’isolation est importante.
Identifier les disques appropriés
L’installation des espaces de stockage dans Windows Server 2016, surtout avec des fonctionnalités avancées, telles que les caches en écriture différée, se réalise très facilement via PowerShell. La première étape consiste à identifier les disques devant faire partie du pool d’espaces de stockage à partir duquel sera créé le disque virtuel. Les NVDIMM-N ont un type de support et un type de bus SCM (Storage Class Memory, mémoire de classe de stockage) qui peut être interrogé via l’applet de commande PowerShell Get-PhysicalDisk
.
Get-PhysicalDisk | Select FriendlyName, MediaType, BusType
Remarque
Avec les périphériques NVDIMM-N, vous n’avez plus besoin de sélectionner les périphériques précis qui peuvent être des cibles de cache en écriture différée.
Pour créer un disque virtuel mis en miroir avec un cache en écriture différée mis en miroir, vous avez besoin d’au moins deux NVDIMM-N et de deux autres disques. Assigner les disques physiques voulus à une variable avant de créer le pool facilite le processus.
$pd = Get-PhysicalDisk | Select FriendlyName, MediaType, BusType | WHere-Object {$_.FriendlyName -like 'MK0*' -or $_.FriendlyName -like '2c80*'}
La capture d’écran montre la variable $pd ainsi que les deux disques SSD et les deux NVDIMM-N auxquels son retour est affecté en utilisant l’applet de commande PowerShell suivante :
$pd | Select FriendlyName, MediaType, BusType
Créer le pool de stockage
En utilisant la variable $pd contenant les disques physiques, il est facile de créer le pool de stockage avec l’applet de commande PowerShell New-StoragePool
.
New-StoragePool -StorageSubSystemFriendlyName "Windows Storage*" -FriendlyName NVDIMM_Pool -PhysicalDisks $pd
Créer le disque virtuel et le volume
Maintenant qu’un pool a été créé, l’étape suivante consiste à extraire un disque virtuel et à le formater. Ici, un seul disque virtuel est créé et l’applet de commande PowerShell New-Volume
peut être utilisée pour fluidifier ce processus :
New-Volume -StoragePool (Get-StoragePool -FriendlyName NVDIMM_Pool) -FriendlyName Log_Space -Size 300GB -FileSystem NTFS -AccessPath S: -ResiliencySettingName Mirror
Le disque virtuel est créé, initialisé et formaté avec NTFS. La capture d’écran ci-dessous montre que sa taille s’élève à 300 Go et que celle de son cache d’écriture s’élève à 1 Go, le tout hébergé sur les NVDIMM-N.
Vous pouvez désormais voir ce nouveau volume sur votre serveur. Vous pouvez utiliser ce lecteur pour votre journal des transactions SQL Server.