تحويل نوع القرص للقرص المدار من Azure

ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ Windows

هناك خمسة أنواع من الأقراص المدارة من Azure: Azure Ultra Disks وPremium SSD v2 وPremium SSD وStandard SSD وStandard HDD. يمكنك التبديل بسهولة بين Premium SSD وStandard SSD وStandard HDD استنادا إلى احتياجات الأداء الخاصة بك. كما يتوفر Premium SSD وSSD القياسي مع التخزين المتكرر في المنطقة. في معظم الحالات، لا يمكنك التبديل من أو إلى Ultra Disk أو Premium SSD v2، يجب نشر قرص جديد مع لقطة من قرص موجود. ومع ذلك، يمكنك التبديل من الأقراص الموجودة إلى Premium SSD v2. راجع تحويل أقراص Premium SSD v2 للحصول على التفاصيل.

هذه الوظيفة غير مدعومة للأقراص غير المدارة. ولكن يمكنك بسهولة تحويل قرص غير مدار إلى قرص مدار باستخدام CLI أو PowerShell لتتمكن من التبديل بين أنواع الأقراص.

قبل البدء

نظرا لأن التحويل يتطلب إعادة تشغيل الجهاز الظاهري (VM)، فجدولة ترحيل القرص أثناء نافذة صيانة موجودة مسبقا.

القيود

  • يمكنك تغيير نوع القرص مرتين فقط في اليوم.
  • يمكنك فقط تغيير نوع القرص للأقراص المدارة. إذا كان القرص غير مدار، فحوله إلى قرص مدار باستخدام CLI أو PowerShell للتبديل بين أنواع الأقراص.

تغيير نوع قرص مدار فردي

بالنسبة لحمل عمل التطوير/الاختبار، قد تحتاج إلى مزيج من أقراص Standard وPremium لتقليل التكاليف. يمكنك اختيار ترقية الأقراص التي تحتاج إلى أداء أفضل فقط. يوضح هذا المثال كيفية تحويل قرص جهاز ظاهري واحد من التخزين Standard إلى التخزين Premium. ومع ذلك، عن طريق تغيير متغير $storageType في هذا المثال، يمكنك تحويل نوع أقراص الجهاز الظاهري إلى SSD قياسي أو محرك أقراص ثابت قياسي. لاستخدام أقراص Premium المدارة، يجب أن يستخدم الجهاز الظاهري حجم جهاز ظاهري يدعم التخزين Premium. يمكنك أيضا استخدام هذه الأمثلة لتغيير قرص من قرص التخزين المكرر محليا (LRS) إلى قرص تخزين متكرر في المنطقة (ZRS) أو العكس. يوضح هذا المثال أيضًا كيفية التبديل إلى حجم يدعم مساحة تخزين Premium:

إشعار

يمكنك تغيير نوع قرص موجود إلى قرص Premium SSD v2 بنفس الطريقة التي تقوم بها مع أنواع الأقراص الأخرى. للتعرف على الميزة، راجع ترحيل Premium SSD v2 (معاينة).


$diskName = 'yourDiskName'
# resource group that contains the managed disk
$rgName = 'yourResourceGroupName'
# Choose between Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_ZRS, and Premium_LRS based on your scenario
$storageType = 'Premium_LRS'
# Premium capable size 
$size = 'Standard_DS2_v2'

$disk = Get-AzDisk -DiskName $diskName -ResourceGroupName $rgName

# Get parent VM resource
$vmResource = Get-AzResource -ResourceId $disk.ManagedBy

# Stop and deallocate the VM before changing the storage type
Stop-AzVM -ResourceGroupName $vmResource.ResourceGroupName -Name $vmResource.Name -Force

$vm = Get-AzVM -ResourceGroupName $vmResource.ResourceGroupName -Name $vmResource.Name 

# Change the VM size to a size that supports Premium storage
# Skip this step if converting storage from Premium to Standard
$vm.HardwareProfile.VmSize = $size
Update-AzVM -VM $vm -ResourceGroupName $rgName

# Update the storage type
$disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new($storageType)
$disk | Update-AzDisk

Start-AzVM -ResourceGroupName $vm.ResourceGroupName -Name $vm.Name

تبديل جميع الأقراص المدارة لجهاز ظاهري من حساب إلى آخر

يوضح هذا المثال كيفية تحويل كافة أقراص الجهاز الظاهري إلى وحدة تخزين Premium. ومع ذلك، عن طريق تغيير متغير $storageType في هذا المثال، يمكنك تحويل نوع أقراص الجهاز الظاهري إلى SSD قياسي أو محرك أقراص ثابت قياسي. لاستخدام أقراص Premium المدارة، يجب أن يستخدم الجهاز الظاهري حجم جهاز ظاهري يدعم التخزين Premium. يتحول هذا المثال أيضًا إلى حجم يدعم التخزين Premium:

# Name of the resource group that contains the VM
$rgName = 'yourResourceGroup'

# Name of the your virtual machine
$vmName = 'yourVM'

# Choose between Standard_LRS, StandardSSD_LRS, StandardSSD_ZRS, Premium_ZRS, Premium_LRS, and PremiumV2_LRS based on your scenario
$storageType = 'Premium_LRS'

# Premium capable size
# Required only if converting storage from Standard to Premium
$size = 'Standard_DS2_v2'

# Stop and deallocate the VM before changing the size
Stop-AzVM -ResourceGroupName $rgName -Name $vmName -Force

$vm = Get-AzVM -Name $vmName -resourceGroupName $rgName

# Change the VM size to a size that supports Premium storage
# Skip this step if converting storage from Premium to Standard
$vm.HardwareProfile.VmSize = $size
Update-AzVM -VM $vm -ResourceGroupName $rgName

# Get all disks in the resource group of the VM
$vmDisks = Get-AzDisk -ResourceGroupName $rgName 

# For disks that belong to the selected VM, convert to Premium storage
foreach ($disk in $vmDisks)
{
	if ($disk.ManagedBy -eq $vm.Id)
	{
		$disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new($storageType)
		$disk | Update-AzDisk
	}
}

Start-AzVM -ResourceGroupName $rgName -Name $vmName

تحويل أقراص Premium SSD v2

يمكنك تبديل الأقراص الموجودة إلى أقراص Premium SSD v2 بنفس الطريقة التي تقوم بها مع أنواع الأقراص الأخرى. تحتوي أقراص Premium SSD v2 على بعض القيود، راجع قسم قيود Premium SSD v2 في مقالتها لمعرفة المزيد.

يحتوي التبديل إلى أقراص Premium SSD v2 على بعض القيود الإضافية:

  • لا يمكنك تبديل قرص نظام التشغيل إلى قرص Premium SSD v2.
  • يمكن تبديل الأقراص الموجودة مباشرة فقط إلى أقراص Premium SSD v2 بحجم قطاع 512.
  • يمكنك إجراء 50 تحويلا فقط في نفس الوقت لكل اشتراك لكل منطقة.
  • إذا كان القرص الحالي قرصا مشتركا، ففصل جميع الأجهزة الظاهرية قبل التغيير إلى Premium SSD v2.
  • إذا كان القرص الحالي يستخدم التخزين المؤقت للمضيف، فقم بتعيينه إلى بلا قبل التغيير إلى Premium SSD v2.
  • إذا كان القرص الحالي يستخدم الاندفاع، ف قم بتعطيله قبل التغيير إلى Premium SSD v2.
  • إذا كان القرص الحالي يستخدم تشفيرا مزدوجا، فالتبديل إلى أحد خيارات التشفير الفردية قبل التغيير إلى Premium SSD v2.
  • لا يمكنك التبديل مباشرة من Premium SSD v2 إلى نوع قرص آخر. إذا كنت ترغب في تغيير Premium SSD v2 إلى نوع قرص آخر، قم بالترحيل باستخدام اللقطات.
  • لا يمكنك التبديل مباشرة من Ultra Disks إلى أقراص Premium SSD v2، والترحيل باستخدام اللقطات.
  • إذا كان القرص يحتوي على Azure Site Recovery مكون عليه، ف قم بتعطيله قبل التغيير إلى Premium SSD v2.
  • إذا كنت تستخدم واجهة برمجة التطبيقات الباقية، فاستخدم إصدار 2020-12-01 واجهة برمجة التطبيقات أو أحدث لكل من موفر موارد الحوسبة وموفر موارد القرص.
  • حتى تكتمل عملية التحويل من نوع القرص السابق إلى Premium SSD v2، ينخفض أداء القرص، ولا يمكنك تغيير المفاتيح التي يديرها العميل أو تدويرها للقرص إذا كانت قيد الاستخدام.
    • يمكنك استخدام الأمر التالي للتحقق من عملية التحويل، واستبدال $diskName و $resourceGroupName بالقيم الخاصة بك: az disk show -n $diskName -g $resourceGroupName --query [completionPercent] -o tsv

إشعار

إذا كنت تستخدم Azure Backup وقمت بتحويل قرص إلى Premium SSD v2، يتم أخذ لقطة كاملة من القرص الجديد. هذا حدث قابل للفوترة وسيتم تحصيل رسوم منك مقابل تلك اللقطة.

تعطيل التخزين المؤقت للمضيف

إذا كان القرص الخاص بك يستخدم التخزين المؤقت للمضيف، يجب تعطيله قبل التحويل إلى Premium SSD v2. ستحتاج إلى LUN للقرص الذي تريد تعطيل التخزين المؤقت للمضيف عليه. يقوم البرنامج النصي التالي إخراج اسم الأقراص المرفقة بجهازك الظاهري، و LUNs الخاصة بها. يمكنك استخدام هذا لتعريف LUN للقرص. استبدل yourResourceGroup و nameOfYourVM بقيمك الخاصة، ثم قم بتشغيل البرنامج النصي.

myRG="yourResourceGroup"
myVM="nameOfYourVM"

az vm show -g $myRG -n $myVM --query "[storageProfile.dataDisks[].name, storageProfile.dataDisks[].lun]"

بمجرد حصولك على LUN الخاص بالقرص، استبدل LunHere ب LUN وقم بتشغيل الأمر التالي لتعطيل التخزين المؤقت للمضيف:

lun=LunHere

az vm update --resource-group $myRG --name $myVM --disk-caching $lun=None

تعطيل الاندفاع

إذا كان القرص الخاص بك يستخدم الاندفاع، يجب تعطيله قبل التحويل إلى Premium SSD v2. إذا قمت بتمكين الاندفاع في غضون 12 ساعة، يجب عليك الانتظار حتى الساعة 13 أو أحدث لتعطيله.

يمكنك استخدام الأمر التالي لتعطيل اندفاع القرص: az disk update --name "yourDiskNameHere" --resource-group "yourRGNameHere" --enable-bursting false

تعطيل التشفير المزدوج

إذا كان القرص يستخدم تشفيرا مزدوجا، يجب تعطيله قبل التحويل إلى Premium SSD v2. يمكنك استخدام الأمر التالي لتغيير القرص من التشفير المزدوج إلى التشفير الثابت باستخدام المفاتيح التي يديرها العميل:

az disk-encryption-set update --name "nameOfYourDiskEncryptionSetHere" --resource-group "yourRGNameHere" --key-url yourKeyURL --source-vault "yourKeyVaultName" --encryption-type EncryptionAtRestWithCustomerKey

الترحيل إلى Premium SSD v2 أو Ultra Disk باستخدام اللقطات

إشعار

يمكنك تغيير نوع قرص موجود إلى قرص Premium SSD v2 بنفس الطريقة التي تقوم بها مع أنواع الأقراص الأخرى. للتعرف على الميزة، راجع ترحيل Premium SSD v2 (معاينة).

حاليا، يمكنك فقط ترحيل قرص موجود إما إلى Premium SSD v2 أو Ultra Disk من خلال اللقطات المخزنة على التخزين القياسي (Incremental Standard HDD Snapshot). الترحيل مع اللقطات المخزنة على التخزين المتميز والخيارات الأخرى غير مدعومة. الترحيل عبر لقطة من Premium SSD v2 أو Ultra Disk إلى Premium SSD v1 وSSD القياسي وDDD القياسي غير مدعوم.

كل من أقراص Premium SSD v2 وأقراص Ultra لها مجموعة خاصة بها من القيود. على سبيل المثال، لا يمكن استخدام أي منهما كقرص نظام تشغيل، كما أنه غير متوفر في جميع المناطق. راجع مقاطع قيود Premium SSD v2 ونطاق Ga ل Ultra Disk وقيودها في مقالاتهم لمزيد من المعلومات.

هام

عند ترحيل محرك الأقراص الثابتة القياسي أو Standard SSD أو Premium SSD إلى قرص فائق أو Premium SSD v2، يجب أن يكون حجم القطاع المنطقي 512.

يقوم البرنامج النصي التالي بترحيل لقطة من محرك الأقراص الثابتة القياسي أو Standard SSD أو Premium SSD إما إلى Ultra Disk أو Premium SSD v2.

$diskName = "yourDiskNameHere"
$resourceGroupName = "yourResourceGroupNameHere"
$snapshotName = "yourDesiredSnapshotNameHere"

# Valid values are 1, 2, or 3
$zone = "yourZoneNumber"

#Provide the size of the disks in GB. It should be greater than the VHD file size.
$diskSize = '128'

#Provide the storage type. Use PremiumV2_LRS or UltraSSD_LRS.
$storageType = 'PremiumV2_LRS'

#Provide the Azure region (e.g. westus) where Managed Disks will be located.
#This location should be same as the snapshot location
#Get all the Azure location using command below:
#Get-AzLocation

#Select the same location as the current disk
#Note that Premium SSD v2 and Ultra Disks are only supported in a select number of regions
$location = 'eastus'

#When migrating a Standard HDD, Standard SSD, or Premium SSD to either an Ultra Disk or Premium SSD v2, the logical sector size must be 512
$logicalSectorSize=512

# Get the disk that you need to backup by creating an incremental snapshot
$yourDisk = Get-AzDisk -DiskName $diskName -ResourceGroupName $resourceGroupName

# Create an incremental snapshot by setting the SourceUri property with the value of the Id property of the disk
$snapshotConfig=New-AzSnapshotConfig -SourceUri $yourDisk.Id -Location $yourDisk.Location -CreateOption Copy -Incremental 
$snapshot = New-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName -Snapshot $snapshotConfig

$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id -DiskSizeGB $diskSize -LogicalSectorSize $logicalSectorSize -Zone $zone
 
New-AzDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $diskName

الخطوات التالية

قم بعمل نسخة للقراءة فقط من جهاز ظاهري باستخدام لقطة.