Aktivera skrivningsaccelerator
Gäller för: ✔️ Virtuella Linux-datorer ✔️ med virtuella Windows-datorer ✔️ – flexibla skalningsuppsättningar ✔️ Enhetliga skalningsuppsättningar
Write Accelerator är en diskfunktion för virtuella datorer i M-serien (VM) på Premium SSD-hanterade diskar. Som namnet anger är syftet med funktionen att förbättra I/O-svarstiden för skrivningar mot Premium SSD-diskar. Skrivaccelerator passar perfekt där loggfilsuppdateringar krävs för att bevara till disk på ett mycket högpresterande sätt för moderna databaser.
Skrivacceleratorn är allmänt tillgänglig för virtuella datorer i M-serien i det offentliga molnet.
Förutsättningar
- Stöds endast med Premium SSD-hanterade diskar
- Stöds endast av virtuella datorer i M-serien
Planera för att använda skrivaccelerator
Skrivacceleratorn ska användas för de volymer som innehåller transaktionsloggen eller göra om loggarna för en DBMS. Du bör inte använda Write Accelerator för datavolymerna i en DBMS eftersom funktionen är optimerad för att användas mot loggdiskar.
Viktigt!
Om du aktiverar skrivacceleratorn för den virtuella datorns operativsystemdisk startas den virtuella datorn om.
Om du vill aktivera Write Accelerator till en befintlig Azure-disk som inte ingår i en volymversion av flera diskar med Windows-disk- eller volymhanterare, Windows Lagringsutrymmen, Windows Scale-out-filserver (SOFS), Linux LVM eller MDADM, måste arbetsbelastningen som kommer åt Azure-disken stängas av. Databasprogram som använder Azure-disken måste stängas av.
Om du vill aktivera eller inaktivera skrivacceleratorn för en befintlig volym som är byggd av flera Azure Premium SSD-diskar och randiga med Windows-disk eller volymhanterare, Windows Lagringsutrymmen, Windows Scale-out-filserver (SOFS), Linux LVM eller MDADM, måste alla diskar som skapar volymen aktiveras eller inaktiveras för Write Accelerator i separata steg. Stäng av den virtuella datorn Innan du aktiverar eller inaktiverar skrivacceleratorn i en sådan konfiguration.
Det bör inte vara nödvändigt att aktivera skrivaccelerator för OS-diskar för SAP-relaterade VM-konfigurationer.
Begränsningar när skrivningsacceleratorer används
När du använder Write Accelerator för en Azure-disk/VHD gäller följande begränsningar:
- Cachelagring av Premium-diskar måste vara inställt på "Ingen" eller "Skrivskyddad". Alla andra cachelagringslägen stöds inte.
- Ögonblicksbilder stöds för närvarande endast för skrivacceleratoraktiverade datadiskar och inte os-disken. Under säkerhetskopieringen säkerhetskopierar Azure Backup-tjänsten automatiskt och skyddar skrivacceleratoraktiverade datadiskar som är anslutna till den virtuella datorn.
- Endast mindre I/O-storlekar (<=64 KiB) tar den accelererade sökvägen. I arbetsbelastningssituationer där data massinläses eller där transaktionsloggbuffertarna för de olika DBMS fylls i i större utsträckning innan de sparas i lagringen är chansen stor att I/O som skrivits till disken inte tar den accelererade sökvägen.
Det finns gränser för Azure Premium SSD-diskar per virtuell dator som kan stödjas av Write Accelerator. De aktuella gränserna är:
VM-SKU | Antal skrivacceleratordiskar | IOPS för skrivningsacceleratordisk per virtuell dator |
---|---|---|
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 | 5000 |
M16ms, M16s | 2 | 2500 |
M8ms, M8s | 1 | 1250 |
Standard_M12s_v3, Standard_M12ds_v3 | 1 | 5000 |
Standard_M24s_v3, Standard_M24ds_v3 | 2 | 5000 |
Standard_M48s_1_v3, Standard_M48ds_1_v3 | 4 | 5000 |
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 |
IOPS-gränserna är per virtuell dator och inte per disk. Alla write accelerator-diskar har samma IOPS-gräns per virtuell dator. Anslutna diskar får inte överskrida IOPS-gränsen för skrivacceleratorer för en virtuell dator. Även om de anslutna diskarna till exempel kan göra 30 000 IOPS tillåter systemet inte att diskarna överskrider 20 000 IOPS för M416ms_v2.
Aktivera skrivningsacceleratorer på en specifik disk
I de kommande avsnitten beskrivs hur skrivaccelerator kan aktiveras på virtuella Azure Premium SSD-hårddiskar.
Aktivera Azure Write Accelerator med Azure PowerShell
Azure PowerShell-modulen från version 5.5.0 innehåller ändringarna i relevanta cmdletar för att aktivera eller inaktivera skrivaccelerator för specifika Azure Premium SSD-diskar. För att aktivera eller distribuera diskar som stöds av Write Accelerator ändrades följande PowerShell-kommandon och utökades för att acceptera en parameter för Write Accelerator.
En ny växelparameter, -WriteAccelerator , har lagts till i följande cmdletar:
Kommentar
Om du aktiverar Skrivaccelerator på VM-skalningsuppsättningar med flexibelt orkestreringsläge måste du aktivera den på varje enskild instans.
Att inte ge parametern anger egenskapen till false och distribuerar diskar som inte har något stöd av Write Accelerator.
En ny växelparameter, -OsDiskWriteAccelerator , lades till i följande cmdletar:
Om du inte anger parametern anges egenskapen till false som standard, vilket returnerar diskar som inte använder skrivaccelerator.
En ny valfri boolesk parameter (ej nullbar) , -OsDiskWriteAccelerator , lades till i följande cmdletar:
Ange antingen $true
eller $false
för att styra stödet för Azure Write Accelerator med diskarna.
Exempel på kommandon kan se ut så här:
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
Två huvudscenarier kan skriptas enligt följande avsnitt.
Lägga till en ny disk som stöds av skrivacceleratorn med PowerShell
Du kan använda det här skriptet för att lägga till en ny disk i den virtuella datorn. Disken som skapas med det här skriptet använder Skrivaccelerator.
Ersätt myVM
, myWAVMs
, log001
, storleken på disken och LunID för disken med värden som är lämpliga för din specifika distribution.
# 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
Aktivera skrivaccelerator på en befintlig Azure-disk med PowerShell
Du kan använda det här skriptet för att aktivera skrivaccelerator på en befintlig disk. Ersätt myVM
, myWAVMs
och test-log001
med värden som är lämpliga för din specifika distribution. Skriptet lägger till Write Accelerator till en befintlig disk där värdet för $newstatus är inställt på "$true". Om du använder värdet "$false" inaktiveras skrivacceleratorn på en viss disk.
#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
Kommentar
Om du kör skriptet ovan kopplas den angivna disken bort, skrivacceleratorn aktiveras mot disken och sedan kopplas disken igen
Aktivera Azure Write Accelerator med Azure-portalen
Du kan aktivera skrivacceleratorn via portalen där du anger inställningarna för diskcachelagring:
Aktivera Azure Write Accelerator med Azure CLI
Du kan använda Azure CLI för att aktivera skrivaccelerator.
Om du vill aktivera Write Accelerator på en befintlig disk använder du az vm update. Du kan använda följande exempel om du ersätter diskName
, VMName
och ResourceGroup
med dina egna värden: az vm update -g group1 -n vm1 -write-accelerator 1=true
Om du vill ansluta en disk med skrivacceleratorn aktiverad med az vm disk attach kan du använda följande exempel om du ersätter med dina egna värden: az vm disk attach -g group1 -vm-name vm1 -disk d1 --enable-write-accelerator
Om du vill inaktivera skrivacceleratorn använder du az vm update och anger egenskaperna till false: az vm update -g group1 -n vm1 -write-accelerator 0=false 1=false
Aktivera skrivningsaccelerator med hjälp av REST-API:er
Om du vill distribuera via Azure REST API måste du installera Azure-armclienten.
Installera armclient
Om du vill köra armclient måste du installera den via Chocolatey. Du kan installera den via cmd.exe eller PowerShell. Använd utökade rättigheter för dessa kommandon ("Kör som administratör").
Kör följande kommando med cmd.exe: @"%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"
Kör följande kommando med hjälp av PowerShell: Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Nu kan du installera armclienten med hjälp av följande kommando i antingen cmd.exe eller PowerShell choco install armclient
Hämta din aktuella VM-konfiguration
Om du vill ändra attributen för diskkonfigurationen måste du först hämta den aktuella konfigurationen i en JSON-fil. Du kan hämta den aktuella konfigurationen genom att köra följande kommando: armclient GET /subscriptions/<<subscription-ID<</resourceGroups/<<ResourceGroup>>/providers/Microsoft.Compute/virtualMachines/<<virtualmachinename>>?api-version=2017-12-01 > <<filename.json>>
Ersätt termerna i "<<>>" med dina data, inklusive det filnamn som JSON-filen ska ha.
Utdata kan se ut så här:
{
"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"
Uppdatera sedan JSON-filen och aktivera Skrivaccelerator på disken med namnet "log1". Detta kan åstadkommas genom att lägga till det här attributet i JSON-filen efter cacheposten på disken.
{
"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
}
Uppdatera sedan den befintliga distributionen med det här kommandot: armclient PUT /subscriptions/<<subscription-ID<</resourceGroups/<<ResourceGroup>>/providers/Microsoft.Compute/virtualMachines/<<virtualmachinename>>?api-version=2017-12-01 @<<filename.json>>
Utdata bör se ut som det nedan. Du kan se att Skriva acceleratorn är aktiverad för en disk.
{
"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"
När du har gjort den här ändringen bör enheten stödjas av skrivaacceleratorn.