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 Storage med Azure Managed Disks exklusivt. Som namnet anger är syftet med funktionen att förbättra I/O-svarstiden för skrivningar mot Azure Premium Storage. 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.
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. Vi rekommenderar inte att du använder Write Accelerator för datavolymerna i en DBMS eftersom funktionen har optimerats för att användas mot loggdiskar.
Skrivacceleratorn fungerar endast tillsammans med Azure-hanterade diskar.
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 Storage Spaces, 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 Skrivaccelerator för en befintlig volym som är byggd av flera Azure Premium Storage-diskar och som är randig med Windows-disk eller volymhanterare, Windows Storage Spaces, Windows Scale-out-filserver (SOFS), Linux LVM eller MDADM, måste alla diskar som skapar volymen aktiveras eller inaktiveras för skrivacceleratorn i separata steg. Stäng av den virtuella Azure-datorn innan du aktiverar eller inaktiverar skrivaacceleratorn i en sådan konfiguration.
Aktivering av skrivaccelerator för OS-diskar bör inte vara nödvändigt 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 virtuella Azure Premium Storage-hårddiskar 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 skrivaccelerator 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 skrivacceleratorn kan aktiveras på virtuella Azure Premium Storage-hårddiskar.
Förutsättningar
Följande krav gäller för användningen av skrivacceleratorn vid den här tidpunkten:
- De diskar som du vill använda Azure Write Accelerator mot måste vara Azure-hanterade diskar på Premium Storage.
- Du måste använda en virtuell dator i M-serien
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 Storage-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.