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ı, yalnızca Azure Yönetilen Diskler ile Premium Depolama üzerinde M Serisi Sanal Makineler (VM) için bir disk özelliğidir. Adından da belirtildiği gibi işlevin amacı, Azure Premium Depolama 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.

Yazma Hızlandırıcısı'nın kullanılması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. Özellik günlük disklerinde kullanılacak şekilde iyileştirildiğinden, DBMS'nin veri birimleri için Yazma Hızlandırıcısı kullanılması önerilmez.

Yazma Hızlandırıcısı yalnızca Azure tarafından yönetilen disklerle birlikte çalışır.

Ö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 birimin 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 Depolama diskten oluşturulmuş ve Windows disk veya birim yöneticileri, Windows Depolama Alanları, Windows Genişleme dosya sunucusu (SOFS), Linux LVM veya MDADM kullanılarak şeritli mevcut bir birim için Yazma Hızlandırıcısı'nı etkinleştirmek veya devre dışı bırakmak istiyorsanız, birimi oluşturan tüm diskler Ayrı adımlarda Yazma Hızlandırıcısı için etkinleştirilmelidir veya devre dışı bırakılmalıdır. Böyle bir yapılandırmada Yazma Hızlandırıcısı'nı etkinleştirmeden veya devre dışı bırakmadan önce Azure 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 önbelleği '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 işletim sistemi diskinde değil yalnızca Yazma Hızlandırıcısı özellikli veri diskleri için desteklenmektedir. 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.
  • Hızlandırılmış yolu yalnızca daha küçük G/Ç boyutları (<=64 KiB) alıyor. Verilerin toplu olarak yüklendiği veya farklı DBMS'nin işlem günlüğü arabelleklerinin depolama alanında kalıcı hale getirilmeden önce daha büyük bir dereceye kadar doldurulduğu iş yükü durumlarında, diske yazılan G/Ç'nin hızlandırılmış yolu almama olasılığı vardır.

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

VM SKU 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 Kategori 5000
M16ms, M16s 2 2500
M8ms, M8s 1 1250
Standard_M12s_v3, Standard_M12ds_v3 1 Kategori 5000
Standard_M24s_v3, Standard_M24ds_v3 2 Kategori 5000
Standard_M48s_1_v3, Standard_M48ds_1_v3 4 Kategori 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 Depolama VHD'lerinde nasıl etkinleştirilebileceği açıklanmaktadır.

Önkoşullar

Yazma Hızlandırıcısı'nın bu noktada kullanımı için aşağıdaki önkoşullar geçerlidir:

  • Azure Write Accelerator'ı uygulamak istediğiniz disklerin Premium Depolama üzerinde Azure tarafından yönetilen diskler olması gerekir.
  • M serisi VM kullanıyor olmanız gerekir

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 Depolama diskleri 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.

Parametresi 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 belirtilmemesi özelliği varsayılan olarak false olarak ayarlar ve Yazma Hızlandırıcısı'nı kullanmayan diskleri döndürür.

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

Disklerle Azure Yazma Hızlandırıcısı desteğini denetlemek için $true veya $false belirtin.

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

Aşağıdaki bölümlerde gösterildiği gibi iki ana senaryo betik oluşturulabilir.

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 , myWAVMs, log001, , boyutunu ve diskin LunID değerini kendi dağıtımınıza uygun değerlerle değiştirinmyVM.

# 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. , myWAVMsve test-log001 değerlerini kendi dağıtımınıza uygun değerlerle değiştirinmyVM. 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.

Mevcut bir diskte Yazma Hızlandırıcısı'nı etkinleştirmek için az vm update komutunu kullanın; diskName, VMName ve ResourceGroup değerlerini 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

Geçerli VM yapılandırmanızı 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 sürücü Yazma Hızlandırıcısı tarafından desteklenmelidir.