Schrijfversneller inschakelen

Van toepassing op: ✔️ Virtuele Linux-machines voor Windows-VM's ✔️ ✔️ Flexibele schaalsets Uniform-schaalsets ✔️

Write Accelerator is een schijfmogelijkheid voor virtuele machines uit de M-serie (VM's) in Premium Storage met uitsluitend Azure Managed Disks. Zoals de naam aangeeft, is het doel van de functionaliteit om de I/O-latentie van schrijfbewerkingen tegen Azure Premium Storage te verbeteren. Write Accelerator is ideaal wanneer updates van logboekbestanden vereist zijn om op een zeer performante manier op schijf te blijven staan voor moderne databases.

Write Accelerator is algemeen beschikbaar voor VM's uit de M-serie in de openbare cloud.

Planning voor het gebruik van Write Accelerator

Write Accelerator moet worden gebruikt voor de volumes die het transactielogboek bevatten of opnieuw uitvoeren van een DBMS. Het wordt niet aanbevolen om Write Accelerator te gebruiken voor de gegevensvolumes van een DBMS omdat de functie is geoptimaliseerd voor gebruik op logboekschijven.

Write Accelerator werkt alleen in combinatie met beheerde Azure-schijven.

Belangrijk

Als u Write Accelerator inschakelt voor de besturingssysteemschijf van de virtuele machine, wordt de VIRTUELE machine opnieuw opgestart.

Als u Write Accelerator wilt inschakelen naar een bestaande Azure-schijf die geen deel uitmaakt van een volume dat niet deel uitmaakt van meerdere schijven met Windows-schijf- of volumebeheerders, Windows Opslagruimten, Windows Scale-out bestandsserver (SOFS), Linux LVM of MDADM, moet de workload die toegang heeft tot de Azure-schijf, worden afgesloten. Databasetoepassingen die gebruikmaken van de Azure-schijf moeten worden afgesloten.

Als u Write Accelerator wilt in- of uitschakelen voor een bestaand volume dat is opgebouwd uit meerdere Azure Premium Storage-schijven en gestreept met Windows-schijf- of volumebeheerders, Windows Opslagruimten, Windows Scale-out bestandsserver (SOFS), Linux LVM of MDADM, moeten alle schijven die het volume bouwen, in afzonderlijke stappen worden ingeschakeld of uitgeschakeld voor Write Accelerator. Voordat u Write Accelerator in een dergelijke configuratie inschakelt of uitschakelt, moet u de Azure-VM afsluiten.

Het inschakelen van Write Accelerator voor besturingssysteemschijven moet niet nodig zijn voor SAP-gerelateerde VM-configuraties.

Beperkingen bij het gebruik van Write Accelerator

Wanneer u Write Accelerator gebruikt voor een Azure-schijf/VHD, zijn deze beperkingen van toepassing:

  • De Cache van Premium-schijven moet zijn ingesteld op 'Geen' of 'Alleen-lezen'. Alle andere cachemodi worden niet ondersteund.
  • Momentopnamen worden momenteel alleen ondersteund voor gegevensschijven met Write Accelerator en niet voor de besturingssysteemschijf. Tijdens de back-up wordt automatisch een back-up gemaakt van de Azure Backup-service en worden gegevensschijven met Write Accelerator beveiligd die zijn gekoppeld aan de virtuele machine.
  • Alleen kleinere I/O-grootten (<=64 KiB) nemen het versnelde pad. In workloadsituaties waarin gegevens bulksgewijs worden geladen of wanneer de transactielogboekbuffers van de verschillende DBMS's in een grotere mate worden gevuld voordat ze in de opslag worden opgeslagen, is de kans groot dat de I/O die naar de schijf wordt geschreven, niet het versnelde pad neemt.

Er zijn limieten van Azure Premium Storage-VHD's per VM die kunnen worden ondersteund door Write Accelerator. De huidige limieten zijn:

VM-SKU Aantal schrijfversnellerschijven Write Accelerator Disk IOPS per VM
M416ms_v2, M416s_8_v2, M416s_v2 16 20000
M208ms_v2, M208s_v2 8 10.000
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 10.000
M32ms, M32ls, M32ts, M32s, M32dms_v2, M32ms_v2 4 5000
M16ms, M16s 2 2500
M8ms, M8s 1 1250

De IOPS-limieten zijn per VM en niet per schijf. Alle Write Accelerator-schijven delen dezelfde IOPS-limiet per VM. Gekoppelde schijven mogen de IOPS-limiet voor de schrijfversneller voor een VIRTUELE machine niet overschrijden. Hoewel de gekoppelde schijven bijvoorbeeld 30.000 IOPS kunnen uitvoeren, staat het systeem niet toe dat de schijven hoger zijn dan 20.000 IOPS voor M416ms_v2.

Write Accelerator inschakelen op een bepaalde schijf

In de volgende secties wordt beschreven hoe Write Accelerator kan worden ingeschakeld op Azure Premium Storage-VHD's.

Vereisten

De volgende vereisten zijn van toepassing op het gebruik van Write Accelerator op dit moment:

  • De schijven waarop u Azure Write Accelerator wilt toepassen, moeten Azure Managed Disks zijn in Premium Storage.
  • U moet een VM uit de M-serie gebruiken

Azure Write Accelerator inschakelen met behulp van Azure PowerShell

De Azure PowerShell-module van versie 5.5.0 bevat de wijzigingen in de relevante cmdlets om Write Accelerator in of uit te schakelen voor specifieke Azure Premium Storage-schijven. Als u schijven wilt in- of implementeren die worden ondersteund door Write Accelerator, zijn de volgende PowerShell-opdrachten gewijzigd en uitgebreid om een parameter voor Write Accelerator te accepteren.

Er is een nieuwe switchparameter - WriteAccelerator toegevoegd aan de volgende cmdlets:

Notitie

Als u Write Accelerator inschakelt voor virtuele-machineschaalsets met de flexibele indelingsmodus, moet u deze inschakelen voor elk afzonderlijk exemplaar.

Als u de parameter niet opgeeft, wordt de eigenschap ingesteld op false en worden schijven geïmplementeerd die niet worden ondersteund door Write Accelerator.

Er is een nieuwe switchparameter - OsDiskWriteAccelerator toegevoegd aan de volgende cmdlets:

Als u de parameter niet opgeeft, wordt de eigenschap standaard ingesteld op onwaar, waardoor schijven worden geretourneerd die geen gebruikmaken van Write Accelerator.

Er is een nieuwe optionele Booleaanse parameter (niet-nullable) -OsDiskWriteAccelerator toegevoegd aan de volgende cmdlets:

Geef $true of $false op om de ondersteuning van Azure Write Accelerator met de schijven te beheren.

Voorbeelden van opdrachten kunnen er als volgt uitzien:

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

Er kunnen twee hoofdscenario's worden uitgevoerd, zoals wordt weergegeven in de volgende secties.

Een nieuwe schijf toevoegen die wordt ondersteund door Write Accelerator met behulp van PowerShell

U kunt dit script gebruiken om een nieuwe schijf toe te voegen aan uw VIRTUELE machine. De schijf die met dit script is gemaakt, maakt gebruik van Write Accelerator.

Vervang myVM, myWAVMs, , log001de grootte van de schijf en LunID van de schijf door waarden die geschikt zijn voor uw specifieke implementatie.

# 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

Write Accelerator inschakelen op een bestaande Azure-schijf met behulp van PowerShell

U kunt dit script gebruiken om Write Accelerator in te schakelen op een bestaande schijf. Vervang , myWAVMsen test-log001 door myVMwaarden die geschikt zijn voor uw specifieke implementatie. Het script voegt Write Accelerator toe aan een bestaande schijf waar de waarde voor $newstatus is ingesteld op '$true'. Als u de waarde '$false' gebruikt, wordt Write Accelerator op een bepaalde schijf uitgeschakeld.

#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

Notitie

Als u het bovenstaande script uitvoert, wordt de opgegeven schijf losgekoppeld, schakelt u Write Accelerator in op de schijf en koppelt u de schijf opnieuw

Write Accelerator inschakelen met behulp van de Azure-portal

U kunt Write Accelerator inschakelen via de portal waar u de instellingen voor schijfcaching opgeeft:

Write Accelerator on the Azure portal

Write Accelerator inschakelen met behulp van Azure CLI

U kunt de Azure CLI gebruiken om Write Accelerator in te schakelen.

Als u Write Accelerator wilt inschakelen op een bestaande schijf, gebruikt u az vm update. U kunt de volgende voorbeelden gebruiken als u de diskName, VMName en ResourceGroup vervangt door uw eigen waarden: az vm update -g group1 -n vm1 -write-accelerator 1=true

Als u een schijf wilt koppelen met Write Accelerator ingeschakeld , gebruikt u az vm disk attach. U kunt het volgende voorbeeld gebruiken als u uw eigen waarden vervangt: az vm disk attach -g group1 -vm-name vm1 -disk d1 --enable-write-accelerator

Als u Write Accelerator wilt uitschakelen, gebruikt u az vm update en stelt u de eigenschappen in op false: az vm update -g group1 -n vm1 -write-accelerator 0=false 1=false

Write Accelerator inschakelen met REST API's

Als u wilt implementeren via de Azure REST API, moet u de Azure armclient installeren.

Armclient installeren

Als u armclient wilt uitvoeren, moet u deze installeren via Chocolatey. U kunt het installeren via cmd.exe of PowerShell. Gebruik verhoogde rechten voor deze opdrachten (Uitvoeren als Beheer istrator).

Voer met behulp van cmd.exe de volgende opdracht uit: @"%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"

Voer met Behulp van PowerShell de volgende opdracht uit: Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

U kunt de armclient nu installeren met behulp van de volgende opdracht in cmd.exe of PowerShell choco install armclient

Uw huidige VM-configuratie verkrijgen

Als u de kenmerken van uw schijfconfiguratie wilt wijzigen, moet u eerst de huidige configuratie in een JSON-bestand ophalen. U kunt de huidige configuratie ophalen door de volgende opdracht uit te voeren: armclient GET /subscriptions/<<subscription-ID<</resourceGroups/<<ResourceGroup>>/providers/Microsoft.Compute/virtualMachines/<<virtualmachinename>>?api-version=2017-12-01 > <<filename.json>>

Vervang de termen in '<<>>' door uw gegevens, inclusief de bestandsnaam die het JSON-bestand moet hebben.

De uitvoer kan er als volgt uitzien:

{
  "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"

Werk vervolgens het JSON-bestand bij en schakel Write Accelerator in op de schijf met de naam 'log1'. Dit kan worden bereikt door dit kenmerk toe te voegen aan het JSON-bestand na de cachevermelding van de schijf.

        {
          "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
        }

Werk vervolgens de bestaande implementatie bij met deze opdracht: armclient PUT /subscriptions/<<subscription-ID<</resourceGroups/<<ResourceGroup>>/providers/Microsoft.Compute/virtualMachines/<<virtualmachinename>>?api-version=2017-12-01 @<<filename.json>>

De uitvoer moet er als volgt uitzien. U kunt zien dat Write Accelerator is ingeschakeld voor één schijf.

{
  "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"

Zodra u deze wijziging hebt aangebracht, moet het station worden ondersteund door Write Accelerator.