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

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

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

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

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

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

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

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

$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"

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

    $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 أو قالب التشغيل السريع لنشر أقراص بيانات متعددة.