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. , myWAVMs
ve 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:
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.