Activer l’Accélérateur des écritures
S’applique aux : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Groupes identiques flexibles ✔️ Groupes identiques uniformes
L’Accélérateur d’écriture est une fonctionnalité de disque pour les machines virtuelles (VM) de la série M sur les disques managés SSD Premium. Comme son nom l’indique, cette fonctionnalité a pour but d’améliorer la latence d’E/S des écritures sur les disques SSD Premium. L’Accélérateur des écritures est particulièrement adapté lorsque les mises à jour du fichier journal doivent être conservées sur disque dans un système à hautes performances pour répondre aux besoins des bases de données modernes.
L’Accélérateur des écritures est généralement disponible pour les machines virtuelles Série M dans le cloud public.
Prérequis
- Uniquement pris en charge avec les disques managés SSD Premium
- Uniquement pris en charge par les machines virtuelles de la série M
Planification de l’utilisation de l’Accélérateur des écritures
Utilisez l’Accélérateur des écritures pour les volumes qui stockent le journal des transactions ou les journaux d’activité de restauration d’un SGBD (système de gestion de base de données). Vous ne devez pas utiliser l’Accélérateur d’écriture pour les volumes de données d’un système de gestion de base de données (SGBD), car cette fonctionnalité est optimisée pour être utilisée avec les disques de journal.
Important
L’activation de l’Accélérateur d’écriture pour le disque du système d’exploitation de la machine virtuelle entraîne son redémarrage.
La charge de travail qui accède au disque Azure doit être éteinte pour activer l’Accélérateur d’écriture sur un disque Azure existant qui ne fait pas partie d’une build de volume constituée de plusieurs disques avec des gestionnaires de disques ou de volumes Windows, d’espaces de stockage Windows, de serveurs de fichiers Windows avec montée en puissance parallèle (SOFS), de LVM Linux ou de MDADM. Les applications de base de données qui utilisent le disque Azure doivent être arrêtées.
Tous les disques qui constituent le volume doivent être activés ou désactivés pour l’Accélérateur d’écriture lors d’étapes distinctes, afin d’activer ou de désactiver l’Accélérateur d’écriture pour un volume existant créé à partir de plusieurs disques Azure SSD Premium, et dont les partitions sont gérées à l’aide de gestionnaires de disques ou de volumes Windows, d’espaces de stockage Windows, de serveurs de fichiers Windows avec montée en puissance parallèle (SOFS), de LVM Linux ou de MDADM. Dans une telle configuration, avant d’activer ou de désactiver l’Accélérateur d’écriture, vous devez arrêter la machine virtuelle.
Pour les configurations de machines virtuelles liées à SAP, il ne devrait pas être nécessaire d’activer l’Accélérateur d’écriture pour les disques du système d’exploitation.
Restrictions relatives à l’utilisation de l’Accélérateur des écritures
Quand vous utilisez l’Accélérateur des écritures sur un disque/disque dur virtuel Azure, les restrictions suivantes s’appliquent :
- La mise en cache du disque Premium doit être définie sur Aucune ou Lecture seule. Tous les autres modes de mise en cache ne sont pas pris en charge.
- Les instantanés sont actuellement pris en charge uniquement pour les disques de données avec accélérateur d’écriture, et non pour le disque du système d’exploitation. Lors de la sauvegarde, le service Sauvegarde Azure sauvegarde et protège automatiquement les disques de données avec accélérateur d’écriture attachés à la machine virtuelle.
- Seules les tailles d’E/S plus petites (<=64 Kio) prennent le chemin accéléré. Dans les cas de charge de travail où les données sont chargées en bloc ou les tampons de journal des transactions des différents systèmes de gestion de base de données (SGBD) sont davantage remplis avant d’être conservés dans le stockage, les E/S écrites sur le disque risquent de ne pas prendre le chemin d’accès accéléré.
Le nombre de disques Azure SSD Premium par machine virtuelle qui peuvent être pris en charge par l’Accélérateur d’écriture est limité. Les limites actuelles sont :
Référence de la machine virtuelle | Nombre de disques avec Accélérateur des écritures | IOPS du disque Accélérateur d’écriture par machine virtuelle |
---|---|---|
M416ms_v2, M416s_8_v2, M416s_v2 | 16 | 20000 |
M208ms_v2, M208s_v2 | 8 | 10000 |
M192ids_v2, M192idms_v2, M192is_v2, M192ims_v2, | 16 | 20000 |
M128ms, M128s, M128ds_v2, M128dms_v2, M128s_v2, M128ms_v2 | 16 | 20000 |
M64ms, M64ls, M64s, M64ds_v2, M64dms_v2, M64s_v2, M64ms_v2 | 8 | 10000 |
M32ms, M32ls, M32ts, M32s, M32dms_v2, M32ms_v2 | 4 | 5 000 |
M16ms, M16s | 2 | 2 500 |
M8ms, M8s | 1 | 1250 |
Standard_M12s_v3, Standard_M12ds_v3 | 1 | 5 000 |
Standard_M24s_v3, Standard_M24ds_v3 | 2 | 5 000 |
Standard_M48s_1_v3, Standard_M48ds_1_v3 | 4 | 5 000 |
Standard_M96s_1_v3, Standard_M96ds_1_v3, Standard_M96s_2_v3, Standard_M96ds_2_v3 | 8 | 10000 |
Standard_M176s_3_v3, Standard_M176ds_3_v3, Standard_M176s_4_v3, Standard_M176ds_4_v3 | 16 | 20000 |
Les limites d’IOPS s’entendent par machine virtuelle et non par disque. Tous les disques avec Accélérateur des écritures partagent la même limite d’IOPS par machine virtuelle. Les disques attachés ne peuvent pas dépasser la limite d’IOPS de l’accélérateur d’écriture pour une machine virtuelle. Par exemple, même si les disques connectés peuvent effectuer 30 000 IOPS, le système n’autorise pas les disques à dépasser 20 000 IOPS pour M416ms_v2.
Activation de l’Accélérateur des écritures sur un disque spécifique
Les sections suivantes décrivent comment l’Accélérateur d’écriture peut être activé sur les disques durs virtuels Azure SSD Premium.
Activation de l’Accélérateur des écritures Azure à l’aide d’Azure PowerShell
Le module Azure PowerShell de la version 5.5.0 inclut les modifications apportées aux cmdlets qui permettent d’activer ou de désactiver l’Accélérateur d’écriture pour des disques Azure SSD Premium spécifiques. Pour permettre l’activation ou le déploiement de disques pris en charge par l’Accélérateur d’écriture, les commandes PowerShell suivantes ont été modifiées et étendues avec un paramètre pour l’accélérateur.
Le nouveau paramètre de commutateur -WriteAccelerator a été ajouté aux applets de commande suivantes :
Remarque
Si vous activez l’Accélérateur d’écriture sur des groupes de machines virtuelles identiques à l’aide du mode d’orchestration flexible, vous devez l’activer sur chaque instance individuelle.
Si le paramètre n’est pas spécifié, la propriété est définie sur false, et les disques déployés ne sont pas pris en charge par l’Accélérateur des écritures.
Le nouveau paramètre de commutateur -OsDiskWriteAccelerator a été ajouté aux applets de commande suivantes :
Si le paramètre n’est pas spécifié, la propriété prend la valeur false par défaut, ce qui retourne les disques qui n’utilisent pas l’Accélérateur d’écriture.
Le nouveau paramètre booléen -OsDiskWriteAccelerator (paramètre facultatif et qui n’accepte pas les valeurs Null) a été ajouté aux applets de commande suivantes :
Indiquez soit $true
, soit $false
pour contrôler la prise en charge de l’Accélérateur d’écriture Azure par les disques.
Exemples de commandes :
New-AzVMConfig | Set-AzVMOsDisk | Add-AzVMDataDisk -Name "datadisk1" | Add-AzVMDataDisk -Name "logdisk1" -WriteAccelerator | New-AzVM
Get-AzVM | Update-AzVM -OsDiskWriteAccelerator $true
New-AzVmssConfig | Set-AzVmssStorageProfile -OsDiskWriteAccelerator | Add-AzVmssDataDisk -Name "datadisk1" -WriteAccelerator:$false | Add-AzVmssDataDisk -Name "logdisk1" -WriteAccelerator | New-AzVmss
Get-AzVmss | Update-AzVmss -OsDiskWriteAccelerator:$false
Les scripts montrés dans les sections suivantes correspondent à deux scénarios courants.
Ajout d’un nouveau disque pris en charge par l’Accélérateur des écritures à l’aide de PowerShell
Vous pouvez utiliser ce script pour ajouter un nouveau disque à votre machine virtuelle. Le disque créé avec ce script utilise l’Accélérateur des écritures.
Remplacez myVM
, myWAVMs
, log001
, la taille du disque et le LunID du disque par les valeurs appropriées pour votre déploiement spécifique.
# Specify your VM Name
$vmName="myVM"
#Specify your Resource Group
$rgName = "myWAVMs"
#data disk name
$datadiskname = "log001"
#LUN Id
$lunid=8
#size
$size=1023
#Pulls the VM info for later
$vm=Get-AzVM -ResourceGroupName $rgname -Name $vmname
#add a new VM data disk
Add-AzVMDataDisk -CreateOption empty -DiskSizeInGB $size -Name $vmname-$datadiskname -VM $vm -Caching None -WriteAccelerator:$true -lun $lunid
#Updates the VM with the disk config - does not require a reboot
Update-AzVM -ResourceGroupName $rgname -VM $vm
Activation de l’Accélérateur des écritures sur un disque Azure existant à l’aide de PowerShell
Vous pouvez utiliser ce script pour activer l’Accélérateur des écritures sur un disque existant. Remplacez myVM
, myWAVMs
, et test-log001
par les valeurs appropriées pour votre déploiement spécifique. Le script ajoute l’Accélérateur des écritures à un disque existant si le paramètre $newstatus est défini sur « $true ». Si ce paramètre est défini sur $false, l’Accélérateur des écritures est désactivé sur le disque.
#Specify your VM Name
$vmName="myVM"
#Specify your Resource Group
$rgName = "myWAVMs"
#data disk name
$datadiskname = "test-log001"
#new Write Accelerator status ($true for enabled, $false for disabled)
$newstatus = $true
#Pulls the VM info for later
$vm=Get-AzVM -ResourceGroupName $rgname -Name $vmname
#add a new VM data disk
Set-AzVMDataDisk -VM $vm -Name $datadiskname -Caching None -WriteAccelerator:$newstatus
#Updates the VM with the disk config - does not require a reboot
Update-AzVM -ResourceGroupName $rgname -VM $vm
Notes
L’exécution du script ci-dessus détache le disque spécifié, active l’Accélérateur des écritures sur le disque, puis réattache le disque
Activation de l’Accélérateur des écritures à l’aide du Portail Azure
Vous pouvez activer l’Accélérateur des écritures sur le portail, en spécifiant vos paramètres de mise en cache du disque :
Activation de l’Accélérateur des écritures à l’aide de Azure CLI
Vous pouvez utiliser Azure CLI pour activer l’accélérateur d’écriture.
Pour activer l’Accélérateur d’écriture sur un disque existant, utilisez az vm update. Vous pouvez utiliser les exemples suivants si vous remplacez diskName
, VMName
, et ResourceGroup
par vos propres valeurs : az vm update -g group1 -n vm1 -write-accelerator 1=true
Pour attacher un disque avec l’Accélérateur d’écriture activé, utilisez la commande az vm disk attach. Vous pouvez utiliser l’exemple suivant si vous indiquez vos propres valeurs : az vm disk attach -g group1 -vm-name vm1 -disk d1 --enable-write-accelerator
Pour désactiver l’Accélérateur des écritures, utilisez la commande az vm update et définissez les propriétés sur false : az vm update -g group1 -n vm1 -write-accelerator 0=false 1=false
Activation de l’Accélérateur d’écriture à l’aide d’API REST
Pour effectuer le déploiement à l’aide de l’API REST Azure, vous devez installer Azure armclient.
Installer armclient
Pour pouvoir utiliser armclient, installez-le via Chocolatey, à l’aide de cmd.exe ou PowerShell. Exécutez ces commandes avec des droits élevés (« Exécuter en tant qu’administrateur »).
Avec cmd.exe, exécutez la commande suivante : @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Exécutez la commande suivante avec PowerShell : Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Vous pouvez maintenant installer armclient à l’aide de la commande suivante dans cmd.exe ou PowerShell choco install armclient
Obtenir la configuration actuelle de votre machine virtuelle
Pour changer les attributs de configuration du disque, vous devez d’abord obtenir la configuration actuelle et l’enregistrer dans un fichier JSON. Pour cela, exécutez la commande suivante : armclient GET /subscriptions/<<subscription-ID<</resourceGroups/<<ResourceGroup>>/providers/Microsoft.Compute/virtualMachines/<<virtualmachinename>>?api-version=2017-12-01 > <<filename.json>>
Remplacez le contenu entre les balises <<>> par vos propres données, dont le nom souhaité pour le fichier JSON.
Le résultat doit être semblable à ceci :
{
"properties": {
"vmId": "2444c93e-f8bb-4a20-af2d-1658d9dbbbcb",
"hardwareProfile": {
"vmSize": "Standard_M64s"
},
"storageProfile": {
"imageReference": {
"publisher": "SUSE",
"offer": "SLES-SAP",
"sku": "12-SP3",
"version": "latest"
},
"osDisk": {
"osType": "Linux",
"name": "mylittlesap_OsDisk_1_754a1b8bb390468e9b4c429b81cc5f5a",
"createOption": "FromImage",
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/mylittlesap_OsDisk_1_754a1b8bb390468e9b4c429b81cc5f5a"
},
"diskSizeGB": 30
},
"dataDisks": [
{
"lun": 0,
"name": "data1",
"createOption": "Attach",
"caching": "None",
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/data1"
},
"diskSizeGB": 1023
},
{
"lun": 1,
"name": "log1",
"createOption": "Attach",
"caching": "None",
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/data2"
},
"diskSizeGB": 1023
}
]
},
"osProfile": {
"computerName": "mylittlesapVM",
"adminUsername": "pl",
"linuxConfiguration": {
"disablePasswordAuthentication": false
},
"secrets": []
},
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Network/networkInterfaces/mylittlesap518"
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true,
"storageUri": "https://mylittlesapdiag895.blob.core.windows.net/"
}
},
"provisioningState": "Succeeded"
},
"type": "Microsoft.Compute/virtualMachines",
"location": "westeurope",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/virtualMachines/mylittlesapVM",
"name": "mylittlesapVM"
Ensuite, mettez à jour le fichier JSON et à activer l’Accélérateur des écritures sur le disque appelé « log1 ». Ce peut être effectué en ajoutant cet attribut après l’entrée du cache du disque dans le fichier JSON.
{
"lun": 1,
"name": "log1",
"createOption": "Attach",
"caching": "None",
"writeAcceleratorEnabled": true,
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/data2"
},
"diskSizeGB": 1023
}
Ensuite, mettez à jour le déploiement existant avec cette commande : armclient PUT /subscriptions/<<subscription-ID<</resourceGroups/<<ResourceGroup>>/providers/Microsoft.Compute/virtualMachines/<<virtualmachinename>>?api-version=2017-12-01 @<<filename.json>>
Le résultat doit ressembler à l’exemple ci-dessous. Vous pouvez voir que l’Accélérateur des écritures est activé pour un seul disque.
{
"properties": {
"vmId": "2444c93e-f8bb-4a20-af2d-1658d9dbbbcb",
"hardwareProfile": {
"vmSize": "Standard_M64s"
},
"storageProfile": {
"imageReference": {
"publisher": "SUSE",
"offer": "SLES-SAP",
"sku": "12-SP3",
"version": "latest"
},
"osDisk": {
"osType": "Linux",
"name": "mylittlesap_OsDisk_1_754a1b8bb390468e9b4c429b81cc5f5a",
"createOption": "FromImage",
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/mylittlesap_OsDisk_1_754a1b8bb390468e9b4c429b81cc5f5a"
},
"diskSizeGB": 30
},
"dataDisks": [
{
"lun": 0,
"name": "data1",
"createOption": "Attach",
"caching": "None",
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/data1"
},
"diskSizeGB": 1023
},
{
"lun": 1,
"name": "log1",
"createOption": "Attach",
"caching": "None",
"writeAcceleratorEnabled": true,
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/disks/data2"
},
"diskSizeGB": 1023
}
]
},
"osProfile": {
"computerName": "mylittlesapVM",
"adminUsername": "pl",
"linuxConfiguration": {
"disablePasswordAuthentication": false
},
"secrets": []
},
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Network/networkInterfaces/mylittlesap518"
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true,
"storageUri": "https://mylittlesapdiag895.blob.core.windows.net/"
}
},
"provisioningState": "Succeeded"
},
"type": "Microsoft.Compute/virtualMachines",
"location": "westeurope",
"id": "/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/mylittlesap/providers/Microsoft.Compute/virtualMachines/mylittlesapVM",
"name": "mylittlesapVM"
Une fois ce changement effectué, le disque est normalement pris en charge par l’Accélérateur des écritures.