Aktivera Skrivningsaccelerator

Gäller för: ✔️ Virtuella Linux-datorer ✔️ Windows VM:heavy_check_mark: Flexibla skalningsuppsättningar:heavy_check_mark: Enhetliga skalningsuppsättningar

Skrivningsaccelerator är en diskfunktion för M-seriens Virtual Machines (VM) på Premium Storage med Azure Managed Disks exklusivt. Som namnet säger är syftet med funktionen att förbättra I/O-svarstiden för skrivningar mot Azure Premium Storage. Skrivningsaccelerator passar perfekt där loggfilsuppdateringar krävs för att bevaras på disk på ett mycket effektivt sätt för moderna databaser.

Skrivningsaccelerator är allmänt tillgänglig för virtuella datorer i M-serien i det offentliga molnet.

Planera för att använda Skrivningsaccelerator

Skrivningsaccelerator ska användas för de volymer som innehåller transaktionsloggen eller göra om loggar för en DBMS. Vi rekommenderar inte att Skrivningsaccelerator för datavolymer i en DBMS eftersom funktionen har optimerats för att användas mot loggdiskar.

Skrivningsaccelerator fungerar bara tillsammans med Azure Managed Disks.

Viktigt

Om du Skrivningsaccelerator för den virtuella datorns operativsystemdisk startas den virtuella datorn om.

Om du vill aktivera Skrivningsaccelerator till en befintlig Azure-disk som INTE är en del av en volym som bygger ut från flera diskar med Windows-disk eller volymhanterare, Windows Lagringsutrymmen, Windows skalbara filserver (SOFS), Linux LVM eller MDADM, måste arbetsbelastningen som har åtkomst till Azure-disken stängas av. Databasprogram som använder Azure-disken MÅSTE stängas av.

Om du vill aktivera eller inaktivera Skrivningsaccelerator för en befintlig volym som är byggd av flera Azure Premium Storage-diskar och stripe med Windows-disk eller volymhanterare, Windows Lagringsutrymmen, Windows skalbara filservrar (SOFS), Linux LVM eller MDADM, kan alla diskar som skapar volymen måste vara aktiverad eller inaktiverad för Skrivningsaccelerator i separata steg. Innan du aktiverar eller inaktiverar Skrivningsaccelerator i en sådan konfiguration ska du stänga av den virtuella Azure-datorn.

Aktivering av Skrivningsaccelerator 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 Skrivningsaccelerator för en Azure-disk/VHD gäller följande begränsningar:

  • Den Premium diskcachelagringen måste vara inställd på "Ingen" eller "Skrivskyddade". Alla andra cachelagringslägen stöds inte.
  • Ögonblicksbilder stöds för närvarande endast för Skrivningsaccelerator-aktiverade datadiskar och inte OS-disken. Under säkerhetskopieringen säkerhetskopierar Azure Backup-tjänsten automatiskt och skyddar Skrivningsaccelerator-aktiverade datadiskar som är anslutna till den virtuella datorn.
  • Endast mindre I/O-storlekar (<=512 KiB) tar den accelererade vägen. I arbetsbelastningssituationer där data massinlästes eller där transaktionsloggbuffertarna för olika DBMS fylls i större utsträckning innan de bevaras i lagringen är det risk att I/O som skrivs till disk inte tar den accelererade sökvägen.

Det finns begränsningar för virtuella Azure Premium Storage-hårddiskar per virtuell dator som kan stödjas av Skrivningsaccelerator. De aktuella gränserna är:

VM-SKU Antal Skrivningsaccelerator diskar Skrivningsaccelerator disk-IOPS per virtuell dator
M416ms_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

IOPS-gränserna gäller per virtuell dator och inte per disk. Alla Skrivningsaccelerator diskar delar samma IOPS-gräns per virtuell dator. Anslutna diskar får inte överskrida skrivningsacceleratorns IOPS-gräns för en virtuell dator. Även om anslutna diskar kan göra 30 000 IOPS tillåter systemet till exempel inte att diskarna går över 20 000 IOPS för M416ms_v2.

Aktivera skrivningsacceleratorer på en specifik disk

I följande avsnitt beskrivs hur du Skrivningsaccelerator aktiveras på virtuella Azure Premium Storage-hårddiskar.

Förutsättningar

Följande krav gäller för användning av Skrivningsaccelerator vid den här tidpunkten:

  • De diskar som du vill tillämpa Azure Skrivningsaccelerator 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 Power Shell-modulen från version 5.5.0 innehåller ändringar i relevanta cmdlets för att aktivera eller inaktivera Skrivningsaccelerator för specifika Azure Premium Storage diskar. För att aktivera eller distribuera diskar som stöds av Skrivningsaccelerator har följande Power Shell-kommandon ändrats och utökats för att godkänna en parameter för Skrivningsaccelerator.

En ny växelparameter, -WriteAccelerator, har lagts till i följande cmdlets:

Att inte ge parametern anger egenskapen till false och distribuerar diskar som inte har stöd av Skrivningsaccelerator.

En ny växelparameter, -OsDiskWriteAccelerator, har lagts till i följande cmdlets:

Om du inte anger parametern anges egenskapen till false som standard, vilket returnerar diskar som inte utnyttjar Skrivningsaccelerator.

En ny valfri boolesk (icke-nullbar) parameter, -OsDiskWriteAccelerator, har lagts till i följande cmdlets:

Ange antingen $true eller $false för att styra stödet för Azure Skrivningsaccelerator 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 Skrivningsaccelerator powershell

Du kan använda det här skriptet för att lägga till en ny disk till den virtuella datorn. Disken som skapas med det här skriptet använder Skrivningsaccelerator.

Ersätt myVM , , storleken på disken och myWAVMs log001 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 Skrivningsaccelerator en befintlig Azure-disk med Hjälp av PowerShell

Du kan använda det här skriptet för att Skrivningsaccelerator på en befintlig disk. Ersätt myVM , och med värden som är lämpliga för din specifika myWAVMs test-log001 distribution. Skriptet lägger Skrivningsaccelerator till en befintlig disk där värdet för $newstatus är inställt på "$true". Om du använder värdet "$false" inaktiveras Skrivningsaccelerator 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

Anteckning

Om du kör skriptet ovan kopplar du bort den angivna disken, Skrivningsaccelerator mot disken och kopplar sedan disken igen

Aktivera Azure Write Accelerator med Azure-portalen

Du kan aktivera Skrivningsaccelerator via portalen där du anger inställningarna för diskcachelagring:

Skrivningsaccelerator på Azure Portal

Aktivera Azure Write Accelerator med Azure CLI

Du kan använda Azure CLI för att aktivera Skrivningsaccelerator.

Om du Skrivningsaccelerator 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 koppla en disk Skrivningsaccelerator aktiverad använder du az vm disk attach, du kan använda följande exempel om du ersätter i dina egna värden: az vm disk attach -g group1 -vm-name vm1 -disk d1 --enable-write-accelerator

Om du Skrivningsaccelerator inaktiverar du az vm updateoch anger egenskaperna till false: az vm update -g group1 -n vm1 -write-accelerator 0=false 1=false

Aktivera Skrivningsaccelerator rest-API:er

Om du vill distribuera via Azure Rest API måste du installera Azure armclient.

Installera armclient

Om du vill köra armclient måste du installera det via Chocolatey. Du kan installera det via cmd.exe eller PowerShell. Använd utökade rättigheter för dessa kommandon ("Kör som administratör").

Med cmd.exe kör du följande kommando: @"%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"

Använd Power Shell och kör följande kommando: Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Nu kan du installera armclient 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 filnamnet 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 Skrivningsaccelerator på disken med namnet "log1". Detta kan åstadkommas genom att lägga till det här attributet i JSON-filen efter diskens cachepost.

        {
          "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 nedan. Du kan se att Skrivningsaccelerator har aktiverats 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 Skrivningsaccelerator.