تمكين Write Accelerator
ينطبق على: ✔️ أجهزة ظاهرية بنظام التشغيل Linux ✔️ أجهزة ظاهرية بنظام التشغيل Windows ✔️ مجموعات التوسعة المرنة ✔️ مجموعات التوسعة الموحدة
Write Accelerator هي إمكانية قرص للأجهزة الظاهرية M-Series (VMs) على الأقراص المدارة Premium SSD. كما يذكر الاسم، الغرض من الوظيفة هو تحسين زمن انتقال الإدخال/الإخراج للكتابات مقابل أقراص Premium SSD. "مسرع الكتابة" ملائم بشكل مثالي عند طلب تحديثات ملف السجل الاستمرار مع القرص بطريقة عالية الأداء من أجل قواعد البيانات الحديثة.
يتوفر Write Accelerator بشكل عام للأجهزة الظاهرية من الفئة M في السحابة العامة.
المتطلبات الأساسية
- مدعوم فقط مع الأقراص المدارة Premium SSD
- مدعوم فقط من قبل الأجهزة الظاهرية من سلسلة M
التخطيط لاستخدام Write Accelerator
يجب استخدام Write Accelerator لوحدات التخزين التي تحتوي على سجل المعاملات أو سجلات الإعادة لنظام DBMS. يجب عدم استخدام Write Accelerator لوحدات تخزين البيانات ل DBMS حيث تم تحسين الميزة لاستخدامها مقابل أقراص السجل.
هام
يؤدي تمكين Write Accelerator لقرص نظام التشغيل للجهاز الظاهري إلى إعادة تشغيل الجهاز الظاهري.
لتمكين Write Accelerator إلى قرص Azure موجود ليس جزءا من بنية وحدة تخزين من أقراص متعددة مع إدارة قرص Windows أو وحدات التخزين أو مساحات تخزين Windows أو خادم ملفات توسيع نطاق Windows (SOFS) أو Linux LVM أو MDADM، يجب إيقاف تشغيل حمل العمل الذي يصل إلى قرص Azure. يجب إيقاف تشغيل تطبيقات قاعدة البيانات التي تستخدم قرص Azure.
لتمكين أو تعطيل Write Accelerator لوحدة تخزين موجودة تم إنشاؤها من عدة أقراص Azure Premium SSD ومجردة باستخدام إدارة قرص Windows أو وحدة التخزين ومساحات تخزين Windows وخادم ملفات توسيع نطاق Windows (SOFS) أو Linux LVM أو MDADM، يجب تمكين جميع الأقراص التي تنشئ وحدة التخزين أو تعطيلها ل Write Accelerator في خطوات منفصلة. قم بإيقاف تشغيل الجهاز الظاهري قبل تمكين أو تعطيل Write Accelerator في مثل هذا التكوين.
لا يجب أن يكون تمكين Write Accelerator لأقراص نظام التشغيل ضروريا لتكوينات الجهاز الظاهري المتعلقة ب SAP.
القيود عند استخدام Write Accelerator
عند استخدام Write Accelerator لقرص Azure/القرص الصلب الظاهري تنطبق هذه القيود التالية:
- يجب تعيين التخزين المؤقت لقرص Premium إلى 'لا' أو 'للقراءة فقط'. جميع أوضاع التخزين المؤقت الأخرى غير مدعومة.
- يتم دعم اللقطات حالياً لأقراص البيانات التي تدعم Write Accelerator فقط، وليس قرص نظام التشغيل. أثناء النسخ الاحتياطي، تستبعد Azure Backup service تلقائياً الأقراص الممكّنة لـ Write Accelerator المرفقة بالجهاز الظاهري.
- فقط أحجام الإدخال/الإخراج الأصغر (<=64 كيلو بايت) تأخذ المسار السريع. في حالات حمل العمل حيث يتم الحصول على البيانات تحميل مجمع أو حيث يتم تعبئة مخازن سجل المعاملة DBMS مختلفة إلى درجة أكبر قبل الحصول على استمرار إلى التخزين، وهناك احتمالات أن الإدخال/إخراج مكتوبة على القرص لا يأخذ المسار المتسارع.
هناك حدود لأقراص Azure Premium SSD لكل جهاز ظاهري يمكن دعمها بواسطة Write Accelerator. الحدود الحالية هي:
VM SKU | عدد أقراص Write Accelerator | Write Accelerator Disk IOPS لكل جهاز ظاهري |
---|---|---|
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 لكل جهاز ظاهري وليس لكل قرص. تشترك جميع أقراص Write Accelerator في نفس حد IOPS لكل جهاز ظاهري. لا يمكن أن تتجاوز الأقراص المرفقة حد IOPS لمسرع الكتابة لجهاز ظاهري. على سبيل المثال، على الرغم من أن الأقراص المرفقة يمكنها إجراء 30,000 عملية إدخال/إخراج في الثانية، فإن النظام لا يسمح للأقراص بتجاوز 20,000 IOPS M416ms_v2.
تمكين Write Accelerator على قرص معين
تصف الأقسام القليلة التالية كيفية تمكين Write Accelerator على Azure Premium SSD VHDs.
تمكين Azure Write Accelerator باستخدام Azure PowerShell
تتضمن الوحدة النمطية Azure PowerShell من الإصدار 5.5.0 التغييرات على أوامر cmdlets ذات الصلة لتمكين أو تعطيل Write Accelerator لأقراص Azure Premium SSD معينة. لتمكين الأقراص المدعومة من Write Accelerator أو نشرها، تم تغيير أوامر PowerShell التالية وتوسيعها لقبول معلمة ل Write Accelerator.
تمت إضافة معلمة تبديل جديدة، -WriteAccelerator إلى cmdlets التالية:
إشعار
إذا كان تمكين Write Accelerator على مجموعات مقياس الجهاز الظاهري باستخدام وضع التنسيق المرن، فأنت بحاجة إلى تمكينه على كل مثيل فردي.
يؤدي عدم إعطاء المعلمة إلى تعيين الخاصية إلى false وسيقوم بنشر الأقراص التي ليس لها دعم بواسطة Write Accelerator.
تمت إضافة معلمة تبديل جديدة، -OsDiskWriteAccelerator إلى cmdlets التالية:
يؤدي عدم تحديد المعلمة إلى تعيين الخاصية إلى خطأ بشكل افتراضي، مما يؤدي إلى إرجاع الأقراص التي لا تستخدم Write Accelerator.
تمت إضافة معلمة منطقية اختيارية جديدة (غير قابلة للإبطال)، -OsDiskWriteAccelerator إلى cmdlets التالية:
حدد إما $true
أو $false
للتحكم في دعم Azure Write Accelerator باستخدام الأقراص.
تبدو أمثلة الأوامر كما يلي:
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
يمكن كتابة سيناريوهين رئيسيين كما هو موضح في الأقسام التالية.
إضافة قرص جديد يدعمه Write Accelerator باستخدام PowerShell
يمكنك استخدام هذا البرنامج النصي لإضافة قرص جديد إلى الجهاز الظاهري. يستخدم القرص الذي تم إنشاؤه باستخدام هذا البرنامج النصي Write Accelerator.
استبدل myVM
، myWAVMs
، وحجم القرص، و log001
LunID للقرص بقيم مناسبة للنشر المحدد.
# 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 على قرص Azure موجود باستخدام PowerShell
يمكنك استخدام هذا البرنامج النصي لتمكين Write Accelerator على قرص موجود. استبدل myVM
، وmyWAVMs
، وtest-log001
بقيم مناسبة للنشر المحدد. يضيف البرنامج النصي Write Accelerator إلى قرص موجود حيث يتم تعيين قيمة $newstatus إلى $true. سيؤدي استخدام القيمة "$false" إلى تعطيل Write Accelerator على قرص معين.
#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
إشعار
سيؤدي تنفيذ البرنامج النصي أعلاه إلى فصل القرص المحدد، وتمكين Write Accelerator مقابل القرص، ثم إرفاق القرص مرة أخرى
تمكين Write Accelerator باستخدام مدخل Azure
يمكنك تمكين Write Accelerator عبر البوابة الإلكترونية حيث يمكنك تحديد إعدادات التخزين المؤقت للقرص:
تمكين Write Accelerator باستخدام Azure CLI
يمكنك استخدام Azure CLI لتمكين Write Accelerator.
لتمكين Write Accelerator على قرص موجود، استخدم az vm update، يمكنك استخدام الأمثلة التالية إذا قمت باستبدال diskName
، VMName
و بالقيم ResourceGroup
الخاصة بك: az vm update -g group1 -n vm1 -write-accelerator 1=true
لإرفاق قرص مع تمكين Write Accelerator استخدم إرفاق قرص az vm، يمكنك استخدام المثال التالي إذا قمت بالاستعاضة عن القيم الخاصة بك: az vm disk attach -g group1 -vm-name vm1 -disk d1 --enable-write-accelerator
لتعطيل Write Accelerator، استخدم az vm update، مع تعيين الخصائص إلى false: az vm update -g group1 -n vm1 -write-accelerator 0=false 1=false
تمكين Write Accelerator باستخدام واجهات برمجة تطبيقات REST
للنشر من خلال Azure REST API، تحتاج إلى تثبيت Azure armclient.
تثبيت armclient
لتشغيل armclient، تحتاج إلى تثبيته من خلال Chocolatey. يمكنك تثبيته من خلال cmd.exe أو PowerShell. استخدم الحقوق الرفيعة لهذه الأوامر ("تشغيل كمسؤول").
باستخدام cmd.exe، قم بتشغيل الأمر التالي: @"%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، قم بتشغيل الأمر التالي: Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
الآن يمكنك تثبيت armclient باستخدام الأمر التالي إما في cmd.exe أو PowerShell choco install armclient
الحصول على تكوين الجهاز الظاهري (VM) الحالي الخاص بك
لتغيير سمات تكوين القرص، تحتاج أولاً إلى الحصول على التكوين الحالي في ملف JSON. يمكنك الحصول على التكوين الحالي بتنفيذ الأمر التالي: armclient GET /subscriptions/<<subscription-ID<</resourceGroups/<<ResourceGroup>>/providers/Microsoft.Compute/virtualMachines/<<virtualmachinename>>?api-version=2017-12-01 > <<filename.json>>
استبدل المصطلحات الواردة ضمن "<<>>" ببياناتك، بما في ذلك اسم الملف الذي يجب أن يحتوي عليه ملف JSON.
سيبدو الناتج كما يلي:
{
"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"
بعد ذلك، قم بتحديث ملف JSON وتمكين Write Accelerator على القرص المسمى "log1". يمكن تحقيق ذلك عن طريق إضافة هذه السمة إلى ملف JSON بعد إدخال ذاكرة التخزين المؤقت للقرص.
{
"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
}
ثم قم بتحديث النشر الموجود باستخدام هذا الأمر: armclient PUT /subscriptions/<<subscription-ID<</resourceGroups/<<ResourceGroup>>/providers/Microsoft.Compute/virtualMachines/<<virtualmachinename>>?api-version=2017-12-01 @<<filename.json>>
يجب أن يبدو الناتج كواحد مما يلي. يمكنك أن ترى أن Write Accelerator مُمكّن لقرص واحد.
{
"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"
بمجرد إجراء هذا التغيير، يجب أن يكون محرك الأقراص مدعوماً بواسطة Write Accelerator.