Yazma Hızlandırıcısı'nı etkinleştirme

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Windows VM'leri ✔️ Esnek ölçek kümeleri ✔️ Tekdüzen ölçek kümeleri

Yazma Hızlandırıcısı, Premium SSD ile yönetilen disklerde M Serisi Sanal Makineler (VM) için bir disk özelliğidir. Adından da belirtildiği gibi, işlevselliğin amacı Premium SSD'lere karşı yazmaların G/Ç gecikme süresini geliştirmektir. Yazma Hızlandırıcısı, modern veritabanları için yüksek performanslı bir şekilde diskte kalıcı olması için günlük dosyası güncelleştirmelerinin gerekli olduğu durumlarda idealdir.

Yazma Hızlandırıcısı genel olarak Genel Bulut'taki M serisi VM'ler için kullanılabilir.

Önkoşullar

  • Yalnızca Premium SSD yönetilen disklerle desteklenir
  • Yalnızca M serisi VM'ler tarafından desteklenir

Yazma Hızlandırıcısı Kullanımını Planlama

Yazma Hızlandırıcısı, bir DBMS'nin işlem günlüğünü veya yineleme günlüklerini içeren birimler için kullanılmalıdır. DBMS'nin veri birimleri için Yazma Hızlandırıcısı'nı kullanmamalısınız, çünkü bu özellik günlük diskleri için optimize edilmiştir.

Önemli

VM'nin işletim sistemi diski için Yazma Hızlandırıcısı'nın etkinleştirilmesi VM'yi yeniden başlatır.

Windows disk veya birim yöneticileri, Windows Depolama Alanları, Windows Genişleme dosya sunucusu (SOFS), Linux LVM veya MDADM ile birden çok diskten oluşan bir birim derlemesinin parçası olmayan mevcut bir Azure diskinde Yazma Hızlandırıcısı'nı etkinleştirmek için Azure diskine erişen iş yükünün kapatılması gerekir. Azure diskini kullanan veritabanı uygulamaları kapatılmalıdır.

Birden çok Azure Premium SSD'den oluşturulmuş ve Windows disk veya birim yöneticileri, Windows Depolama Alanları, Windows Genişletim dosya sunucusu (SOFS), Linux LVM veya MDADM kullanılarak şeritli hale getirilmiş mevcut bir birimde Yazma Hızlandırıcısı'nı etkinleştirmek veya devre dışı bırakmak için, tüm disklerin ayrı adımlarda Yazma Hızlandırıcısı için etkinleştirilmesi veya devre dışı bırakılması gereklidir. Böyle bir yapılandırmada Yazma Hızlandırıcısı'nı etkinleştirmeden veya devre dışı bırakmadan önce VM'yi kapatın.

İŞLETIM sistemi diskleri için Yazma Hızlandırıcısı'nın etkinleştirilmesi, SAP ile ilgili VM yapılandırmaları için gerekli olmamalıdır.

Yazma Hızlandırıcısı kullanımına yönelik kısıtlamalar

Azure disk/VHD için Yazma Hızlandırıcısı kullanılırken şu kısıtlamalar geçerlidir:

  • Premium disk önbellekleme 'Yok' veya 'Salt Okunur' olarak ayarlanmalıdır. Diğer tüm önbelleğe alma modları desteklenmez.
  • Anlık görüntüler şu anda yalnızca Yazma Hızlandırıcısı özellikli veri diskleri için desteklenmektedir, işletim sistemi diskleri için değil. Yedekleme sırasında Azure Backup hizmeti vm'ye bağlı Yazma Hızlandırıcısı özellikli veri disklerini otomatik olarak yedekler ve korur.
  • Yalnızca daha küçük G/Ç boyutları (<=64 KiB), hızlandırılmış yolu kullanıyor. Veri çoğunlukla yüklendiği veya farklı DBMS'nin işlem günlüğü arabelleklerinin depolama alanına kalıcı hale getirilmeden önce daha büyük ölçüde doldurulduğu iş yükü durumlarında, diske yazılan Giriş/Çıkış’ın hızlandırılmış yolu izlememesi olasılığı vardır.

Yazma Hızlandırıcısı tarafından desteklenecek VM başına Azure Premium SSD'lerin sınırları vardır. Geçerli sınırlar şunlardır:

VM Ürün Kodu Yazma Hızlandırıcısı disklerinin sayısı VM başına Yazma Hızlandırıcı Disk IOPS'si
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 sınırları disk başına değil VM başınadır. Tüm Yazma Hızlandırıcısı diskleri VM başına aynı IOPS sınırını paylaşır. Ekli diskler vm için yazma hızlandırıcısı IOPS sınırını aşamaz. Örneğin, bağlı diskler 30.000 IOPS gerçekleştirebilse de sistem, disklerin M416ms_v2 için 20.000 IOPS'nin üzerine gitmesine izin vermez.

Yazma Hızlandırıcısını belirli bir diskte etkinleştirme

Sonraki birkaç bölümde Yazma Hızlandırıcısı'nın Azure Premium SSD VHD'lerinde nasıl etkinleştirilebileceği açıklanmaktadır.

Azure Yazma Hızlandırıcısını Azure PowerShell ile etkinleştirme

5.5.0 sürümündeki Azure PowerShell modülü, belirli Azure Premium SSD'ler için Yazma Hızlandırıcısı'nı etkinleştirmek veya devre dışı bırakmak için ilgili cmdlet'lerde yapılan değişiklikleri içerir. Yazma Hızlandırıcısı tarafından desteklenen diskleri etkinleştirmek veya dağıtmak için aşağıdaki PowerShell komutları değiştirildi ve Yazma Hızlandırıcısı için bir parametre kabul etmek üzere genişletildi.

Aşağıdaki cmdlet'lere -WriteAccelerator adlı yeni bir anahtar parametresi eklendi:

Not

Esnek Düzenleme Modu'nu kullanarak Sanal Makine Ölçek Kümeleri'da Yazma Hızlandırıcısı'nı etkinleştiriyorsanız, her bir örnekte etkinleştirmeniz gerekir.

Parametrenin verilmemesi, özelliği false olarak ayarlar ve Yazma Hızlandırıcısı tarafından desteklenmeyen diskleri dağıtır.

Aşağıdaki cmdlet'lere -OsDiskWriteAccelerator adlı yeni bir anahtar parametresi eklendi:

parametresi belirtilmediğinden özelliği varsayılan olarak false olarak ayarlanır ve Yazma Hızlandırıcısı kullanmayan diskler döndürülür.

Aşağıdaki cmdlet'lere isteğe bağlı yeni bir Boole (null atanamaz) parametresi olan -OsDiskWriteAccelerator eklendi:

Ya $true ya da $false belirtilerek disklerle Azure Yazma Hızlandırıcısı desteği denetlenebilir.

Komut örnekleri şöyle görünebilir:

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

İki ana senaryo, aşağıdaki bölümlerde gösterildiği gibi tasarlanabilir.

PowerShell kullanarak Yazma Hızlandırıcısı tarafından desteklenen yeni bir disk ekleme

Vm'nize yeni bir disk eklemek için bu betiği kullanabilirsiniz. Bu betikle oluşturulan disk Yazma Hızlandırıcısı'nı kullanır.

Diskin , myVM, myWAVMs, , boyutunu ve diskin LunID değerini kendi dağıtımınıza uygun değerlerle değiştirinlog001.

# 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

PowerShell kullanarak mevcut bir Azure diskinde Yazma Hızlandırıcısı'nın etkinleştirilmesi

Var olan bir diskte Yazma Hızlandırıcısı'nı etkinleştirmek için bu betiği kullanabilirsiniz. , myVMve myWAVMs değerlerini kendi dağıtımınıza uygun değerlerle değiştirintest-log001. Betik, $newstatus değerinin '$true ' olarak ayarlandığı mevcut bir diske Yazma Hızlandırıcısı ekler. '$false' değerinin kullanılması, belirli bir diskte Yazma Hızlandırıcısı'nı devre dışı bırakır.

#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

Not

Yukarıdaki betiğin yürütülmesi belirtilen diski ayırır, diske Yazma Hızlandırıcısı'nı etkinleştirir ve diski yeniden ekler

Yazma Hızlandırıcısını Azure portal ile etkinleştirme

Yazma Hızlandırıcısı'nı disk önbelleğe alma ayarlarınızı belirttiğiniz portal aracılığıyla etkinleştirebilirsiniz:

Azure portalında Yazma Hızlandırıcısı

Yazma Hızlandırıcısını Azure CLI ile etkinleştirme

Yazma Hızlandırıcısı'nı etkinleştirmek için Azure CLI'yi kullanabilirsiniz.

Var olan bir diskte Yazma Hızlandırıcısı'nı etkinleştirmek için az vm update komutunu kullanın; diskName, VMName ve ResourceGroup öğelerini kendi değerlerinizle değiştirirseniz aşağıdaki örnekleri kullanabilirsiniz:az vm update -g group1 -n vm1 -write-accelerator 1=true

Yazma Hızlandırıcısı etkin bir disk eklemek için az vm disk attach komutunu kullanın, kendi değerlerinizi kullanırsanız aşağıdaki örneği kullanabilirsiniz:az vm disk attach -g group1 -vm-name vm1 -disk d1 --enable-write-accelerator

Yazma Hızlandırıcısı'nı devre dışı bırakmak için az vm update komutunu kullanın ve özellikleri false olarak ayarlayın:az vm update -g group1 -n vm1 -write-accelerator 0=false 1=false

REST API'lerini kullanarak Yazma Hızlandırıcısını etkinleştirme

Azure REST API aracılığıyla dağıtmak için Azure armclient'ı yüklemeniz gerekir.

armclient yükleme

armclient çalıştırmak için Chocolatey aracılığıyla yüklemeniz gerekir. cmd.exe veya PowerShell aracılığıyla yükleyebilirsiniz. Bu komutlar için yükseltilmiş hakları kullanın ("Yönetici Olarak Çalıştır").

cmd.exe kullanarak aşağıdaki komutu çalıştırın: @"%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"

PowerShell'i kullanarak aşağıdaki komutu çalıştırın: Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Artık cmd.exe veya PowerShell'de aşağıdaki komutu kullanarak armclient'ı yükleyebilirsiniz choco install armclient

VM'nizin geçerli yapılandırmasını alma

Disk yapılandırmanızın özniteliklerini değiştirmek için önce geçerli yapılandırmayı bir JSON dosyasına almanız gerekir. Aşağıdaki komutu yürüterek geçerli yapılandırmayı alabilirsiniz: armclient GET /subscriptions/<<subscription-ID<</resourceGroups/<<ResourceGroup>>/providers/Microsoft.Compute/virtualMachines/<<virtualmachinename>>?api-version=2017-12-01 > <<filename.json>>

JSON dosyasının sahip olması gereken dosya adı da dahil olmak üzere '<<>>' içindeki terimleri verilerinizle değiştirin.

Çıkış şöyle görünebilir:

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

Ardından JSON dosyasını güncelleştirin ve 'log1' adlı diskte Yazma Hızlandırıcısı'nı etkinleştirin. Bu, bu özniteliği diskin önbellek girdikten sonra JSON dosyasına ekleyerek gerçekleştirilebilir.

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

Ardından mevcut dağıtımı şu komutla güncelleştirin: armclient PUT /subscriptions/<<subscription-ID<</resourceGroups/<<ResourceGroup>>/providers/Microsoft.Compute/virtualMachines/<<virtualmachinename>>?api-version=2017-12-01 @<<filename.json>>

Çıktı aşağıdaki gibi görünmelidir. Yazma Hızlandırıcısı'nın bir disk için etkinleştirildiğini görebilirsiniz.

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

Bu değişikliği yaptıktan sonra disk Yazma Hızlandırıcısı tarafından desteklenmelidir.