Dela via


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, myWAVMsoch 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:

Skriva accelerator på Azure-portalen

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.