مشاركة عبر


إرفاق قرص بيانات بجهاز ظاهري بنظام Windows مع PowerShell

ينطبق على: ✔️ أجهزة ظاهرية تعمل بنظام التشغيل Windows ✔️ مجموعات تغيير السعة المرنة

توضح لك هذه المقالة كيفية إرفاق كل من الأقراص الجديدة والموجودة بجهاز Windows الظاهري باستخدام PowerShell.

أولًا، راجع هذه النصائح:

تستخدم هذه المقالة PowerShell داخل Azure Cloud Shell، والذي يتم تحديثه باستمرار إلى أحدث إصدار. لفتح Cloud Shell، حدد Try it من الجزء العلوي لكتلة التعليمة البرمجية.

زمن وصول أقل

في مناطق محددة، تم تقليل زمن انتقال إرفاق القرص، لذلك سترى تحسنًا يصل إلى 15٪. يعد هذا مفيدًا إذا كنت قد خططت/لم تخطط لعمليات تجاوز الفشل بين الأجهزة الظاهرية، أو كنت تقوم بتغيير حجم حمل العمل الخاص بك، أو كنت تقوم بتشغيل حمل عمل كبير الحجم مثل Azure Kubernetes Service. ومع ذلك، يقتصر هذا التحسين على أمر إرفاق القرص الصريح، Add-AzVMDataDisk. لن ترى تحسين الأداء إذا قمت باستدعاء أمر قد يؤدي ضمنيًا إلى الإرفاق، مثل Update-AzVM. لا تحتاج إلى اتخاذ أي إجراء آخر غير استدعاء أمر الإرفاق الصريح لرؤية عملية التحسين.

يتوفر زمن انتقال أقل حاليًا في كل منطقة عامة باستثناء:

  • وسط كندا
  • Central US
  • شرق الولايات المتحدة
  • East US 2
  • South Central US
  • West US 2
  • منطقة شمال ألمانيا
  • غرب الهند
  • أوروبا الشمالية
  • أوروبا الغربية

إضافة قرص بيانات فارغ إلى جهاز ظاهري

يوضح هذا المثال كيفية إضافة قرص بيانات فارغ إلى جهاز ظاهري موجود.

استخدام الأقراص المدارة

$rgName = 'myResourceGroup'
$vmName = 'myVM'
$location = 'East US'
$storageType = 'Premium_LRS'
$dataDiskName = $vmName + '_datadisk1'

$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Empty -DiskSizeGB 128
$dataDisk1 = New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $rgName

$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1

Update-AzVM -VM $vm -ResourceGroupName $rgName

استخدام الأقراص المدارة في “Availability Zone”

لإنشاء قرص في “Availability Zone”، استخدم New-AzkConfig مع المعلمة -Zone. ينشئ المثال التالي قرص في المنطقة 1.

$rgName = 'myResourceGroup'
$vmName = 'myVM'
$location = 'East US 2'
$storageType = 'Premium_LRS'
$dataDiskName = $vmName + '_datadisk1'

$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Empty -DiskSizeGB 128 -Zone 1
$dataDisk1 = New-AzDisk -DiskName $dataDiskName -Disk $diskConfig -ResourceGroupName $rgName

$vm = Get-AzVM -Name $vmName -ResourceGroupName $rgName
$vm = Add-AzVMDataDisk -VM $vm -Name $dataDiskName -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1

Update-AzVM -VM $vm -ResourceGroupName $rgName

تهيئة القرص

بعد إضافة قرص فارغ، ستحتاج إلى تهيئته. لتهيئة القرص، يمكنك تسجيل الدخول إلى جهاز ظاهري واستخدام إدارة الأقراص. إذا قمت بتمكين WinRM وشهادة على الجهاز الظاهري عند إنشائه، يمكنك استخدام PowerShell البعيد لتهيئة القرص. يمكنك أيضًا استخدام ملحق برنامج نصي مخصص:

    $location = "location-name"
    $scriptName = "script-name"
    $fileName = "script-file-name"
    Set-AzVMCustomScriptExtension -ResourceGroupName $rgName -Location $locName -VMName $vmName -Name $scriptName -TypeHandlerVersion "1.4" -StorageAccountName "mystore1" -StorageAccountKey "primary-key" -FileName $fileName -ContainerName "scripts"

يمكن أن يحتوي ملف البرنامج النصي على تعليمات برمجية لتهيئة الأقراص، على سبيل المثال:

إشعار

يستخدم البرنامج النصي المثال نمط قسم MBR. إذا كان القرص الخاص بك مكونا من 2 تيبيبايت (TiB) أو أكبر، يجب استخدام تقسيم GPT. إذا كان أقل من اثنين من TiB، يمكنك استخدام إما MBR أو GPT.

    $disks = Get-Disk | Where partitionstyle -eq 'raw' | sort number

    $letters = 70..89 | ForEach-Object { [char]$_ }
    $count = 0
    $labels = "data1","data2"

    foreach ($disk in $disks) {
        $driveLetter = $letters[$count].ToString()
        $disk |
        Initialize-Disk -PartitionStyle MBR -PassThru |
        New-Partition -UseMaximumSize -DriveLetter $driveLetter |
        Format-Volume -FileSystem NTFS -NewFileSystemLabel $labels[$count] -Confirm:$false -Force
	$count++
    }

إرفاق قرص بيانات موجود في VM

يمكنك إرفاق قرص مدار موجود بجهاز ظاهري كقرص بيانات.

$rgName = "myResourceGroup"
$vmName = "myVM"
$dataDiskName = "myDisk"
$disk = Get-AzDisk -ResourceGroupName $rgName -DiskName $dataDiskName

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

$vm = Add-AzVMDataDisk -CreateOption Attach -Lun 0 -VM $vm -ManagedDiskId $disk.Id

Update-AzVM -VM $vm -ResourceGroupName $rgName

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

يمكنك أيضًا نشر الأقراص المدارة باستخدام القوالب. لمزيد من المعلومات، راجع استخدام الأقراص المدارة في قوالب Azure Resource Manager أو قالب التشغيل السريع لنشر أقراص بيانات متعددة.