إنشاء جهاز Windows ظاهري من قرص متخصص باستخدام PowerShell

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

أنشئ جهاز ظاهري جديد عن طريق إرفاق قرص مدار متخصص كقرص نظام التشغيل. القرص المتخصص هو نسخة من قرص ثابت ظاهري (VHD) من جهاز ظاهري موجود يحتوي على حسابات المستخدمين والتطبيقات وبيانات الحالة الأخرى من الجهاز الظاهري الأصلي.

لديك عدة خيارات:

يمكنك أيضًا استخدام مدخل Azure لإنشاء جهاز ظاهري جديد من VHD متخصص.

توضح هذه المقالة كيفية استخدام الأقراص المُدارة. إذا كان لديك توزيع قديم يتطلب استخدام حساب تخزين، فراجع إنشاء جهاز ظاهري من VHD متخصص في حساب تخزين.

هام

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

نوصي بتحديد عدد عمليات التوزيع المتزامنة إلى 20 جهازًا ظاهريًا من VHD واحد أو نسخة مطابقة واحدة.

الخيار 1: استخدام قرص موجود

إذا كان لديك جهاز ظاهري قمت بحذفه وتريد إعادة استخدام قرص نظام التشغيل لإنشاء جهاز ظاهري جديد، فاستخدم Get-AzDisk.

$resourceGroupName = 'myResourceGroup'
$osDiskName = 'myOsDisk'
$osDisk = Get-AzDisk `
-ResourceGroupName $resourceGroupName `
-DiskName $osDiskName

يمكنك الآن إرفاق هذا القرص كقرص نظام التشغيل بجهاز ظاهري جديد.

الخيار 2: تحميل VHD متخصص

يمكنك تحميل VHD من جهاز ظاهري متخصص تم إنشاؤه باستخدام أداة الظاهرية محلية، مثل Hyper-V، أو جهاز ظاهري تم تصديره من سحابة أخرى.

إعداد الجهاز الظاهري

استخدم VHD كما هو لإنشاء جهاز ظاهري جديد.

  • أعّد Windows VHD لتحميله إلى Azure. لا تقم بتعميم الجهاز الظاهري باستخدام Sysprep.
  • أزل أي أدوات وعوامل ضيف ظاهرية مثبتة على الجهاز الظاهري (أي أدوات VMware).
  • تأكد من تكوين الجهاز الظاهري للحصول على عنوان IP وإعدادات DNS من DHCP. هذا يضمن حصول الخادم على عنوان IP داخل شبكة ظاهرية عند بدء تشغيله.

تحميل VHD

يمكنك الآن تحميل VHD مباشرة إلى قرص مُدار. للحصول على التعليمات، راجع تحميل VHD إلى Azure باستخدام Azure PowerShell.

الخيار 3: نسخ جهاز ظاهري موجود

يمكنك إنشاء نسخة من جهاز ظاهري يستخدم الأقراص المُدارة عن طريق التقاط نسخة مطابقة من الجهاز الظاهري، ثم استخدام هذه النسخة لإنشاء قرص مُدار جديد وجهاز ظاهري جديد.

إذا كنت تريد نسخ جهاز ظاهري موجود إلى منطقة أخرى، فقد تحتاج إلى استخدام azcopy لإنشاء نسخة من قرص في منطقة أخرى.

أخذ نسخة مطابقة من قرص نظام التشغيل

يمكنك التقاط نسخة مطابقة لجهاز ظاهري كامل (بما في ذلك جميع الأقراص) أو لقرص واحد فقط. توضح لك الخطوات التالية كيفية التقاط نسخة مطابقة لقرص نظام التشغيل الخاص بالجهاز الظاهري فقط باستخدام cmdlet New-AzSnapshot.

أولاً، قم بتعيين بعض المعلمات.

$resourceGroupName = 'myResourceGroup' 
$vmName = 'myVM'
$location = 'westus' 
$snapshotName = 'mySnapshot'  

احصل على عنصر الجهاز الظاهري.

$vm = Get-AzVM -Name $vmName `
   -ResourceGroupName $resourceGroupName

احصل على اسم قرص نظام التشغيل.

$disk = Get-AzDisk -ResourceGroupName $resourceGroupName `
  -DiskName $vm.StorageProfile.OsDisk.Name

أنشئ تكوين نسخة مطابقة.

$snapshotConfig =  New-AzSnapshotConfig `
  -SourceUri $disk.Id `
  -OsType Windows `
  -CreateOption Copy `
  -Location $location 

قم بأخذ نسخة مطابقة.

$snapShot = New-AzSnapshot `
   -Snapshot $snapshotConfig `
   -SnapshotName $snapshotName `
   -ResourceGroupName $resourceGroupName

لاستخدام هذه النسخة المطابقة لإنشاء جهاز ظاهري يجب أن يكون عالي الأداء، أضف المعلمة -AccountType Premium_LRS إلى الأمر New-AzSnapshotConfig. تقوم هذه المعلمة بإنشاء نسخة مطابقة بحيث يتم تخزينها كقرص مُدار Premium. تعد الأقراص Premium المُدارة أغلى ثمناً من الأقراص Standard، لذا تأكد من أنك ستحتاج إلى الإصدار Premium قبل استخدام هذه المعلمة.

إنشاء قرص جديد من نسخة مطابقة

إنشاء قرص مُدار من نسخة مطابقة باستخدام New-AzDisk. يستخدم هذا المثال myOSDisk لاسم القرص.

أنشئ مجموعة موارد جديدة للجهاز الظاهري الجديد.

$destinationResourceGroup = 'myDestinationResourceGroup'
New-AzResourceGroup -Location $location `
   -Name $destinationResourceGroup

عيّن اسم قرص نظام التشغيل.

$osDiskName = 'myOsDisk'

أنشئ القرص المُدار.

$osDisk = New-AzDisk -DiskName $osDiskName -Disk `
    (New-AzDiskConfig  -Location $location -CreateOption Copy `
	-SourceResourceId $snapshot.Id) `
    -ResourceGroupName $destinationResourceGroup

إنشاء جهاز ظاهري جديد

أنشئ الشبكات وغيرها من موارد جهاز ظاهري لاستخدامها من قبل الجهاز الظاهري الجديد.

إنشاء شبكة فرعية وشبكة ظاهرية

انقر فوق شبكة ظاهرية وشبكة فرعية للجهاز الظاهري.

  1. أنشئ الشبكة الفرعية. ينشئ هذا المثال شبكة فرعية باسم mySubNet، في مجموعة الموارد myDestinationResourceGroup، ويقوم بتعيين بادئة عنوان الشبكة الفرعية إلى 10.0.0.0/24.

    $subnetName = 'mySubNet'
    $singleSubnet = New-AzVirtualNetworkSubnetConfig `
       -Name $subnetName `
       -AddressPrefix 10.0.0.0/24
    
  2. أنشئ الشبكة الظاهرية. يقوم هذا المثال بتعيين اسم الشبكة الظاهرية إلى myVnetName والموقع إلى غرب الولايات المتحدة وبادئة العنوان للشبكة الظاهرية إلى 10.0.0.0/16.

    $vnetName = "myVnetName"
    $vnet = New-AzVirtualNetwork `
       -Name $vnetName -ResourceGroupName $destinationResourceGroup `
       -Location $location `
       -AddressPrefix 10.0.0.0/16 `
       -Subnet $singleSubnet
    

إنشاء مجموعة أمان الشبكة وقاعدة RDP

لتتمكن من تسجيل الدخول إلى الجهاز الظاهري باستخدام بروتوكول سطح المكتب البعيد (RDP)، ستحتاج إلى قاعدة أمان تسمح بوصول RDP على المنفذ 3389. في مثالنا، تم إنشاء VHD للجهاز الظاهري الجديد من جهاز ظاهري متخصص موجود، بحيث يمكنك استخدام حساب موجود على الجهاز الظاهري المصدر لـ RDP. يرفض هذا المثال نسبة استخدام الشبكة RDP، لتكون أكثر أمانًا. يمكنك التغيير -Access إلى Allow إذا كنت تريد السماح بالوصول إلى RDP.

يقوم هذا المثال بتعيين اسم مجموعة أمان الشبكة (NSG) إلى myNsg واسم قاعدة RDP إلى myRdpRule.

$nsgName = "myNsg"

$rdpRule = New-AzNetworkSecurityRuleConfig -Name myRdpRule -Description "Deny RDP" `
    -Access Deny -Protocol Tcp -Direction Inbound -Priority 110 `
    -SourceAddressPrefix Internet -SourcePortRange * `
    -DestinationAddressPrefix * -DestinationPortRange 3389
$nsg = New-AzNetworkSecurityGroup `
   -ResourceGroupName $destinationResourceGroup `
   -Location $location `
   -Name $nsgName -SecurityRules $rdpRule
	

لمزيد من المعلومات حول نقاط النهاية وقواعد NSG، راجع فتح المنافذ إلى جهاز ظاهري في Azure باستخدام PowerShell.

إنشاء عنوان IP عام وNIC

لتمكين الاتصال بالجهاز الظاهري في الشبكة الظاهرية، ستحتاج إلى عنوان IP عام وواجهة شبكة.

  1. أنشئ عنوان IP العام. في هذا المثال، يتم تعيين اسم عنوان IP العام إلى myIP.

    $ipName = "myIP"
    $pip = New-AzPublicIpAddress `
       -Name $ipName -ResourceGroupName $destinationResourceGroup `
       -Location $location `
       -AllocationMethod Dynamic
    
  2. أنشئ NIC. في هذا المثال، يتم تعيين اسم NIC إلى myNicName.

    $nicName = "myNicName"
    $nic = New-AzNetworkInterface -Name $nicName `
       -ResourceGroupName $destinationResourceGroup `
       -Location $location -SubnetId $vnet.Subnets[0].Id `
       -PublicIpAddressId $pip.Id `
       -NetworkSecurityGroupId $nsg.Id
    

تعيين اسم الجهاز الظاهري وحجمه

يقوم هذا المثال بتعيين اسم الجهاز الظاهري إلى myVM وحجم الجهاز الظاهري إلى Standard_A2.

$vmName = "myVM"
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize "Standard_A2"

إضافة NIC

$vm = Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id

إضافة قرص نظام التشغيل

أضف قرص نظام التشغيل إلى التكوين باستخدام Set-AzVMOSDisk. يعين هذا المثال حجم القرص إلى 128 غيغابايت ويرفق القرص المُدار كقرص نظام تشغيل Windows.

$vm = Set-AzVMOSDisk -VM $vm -ManagedDiskId $osDisk.Id -StorageAccountType Standard_LRS `
    -DiskSizeInGB 128 -CreateOption Attach -Windows

إكمال الجهاز الظاهري

أنشئ الجهاز الظاهري باستخدام New-AzVM مع التكوينات التي أنشأناها للتو.

New-AzVM -ResourceGroupName $destinationResourceGroup -Location $location -VM $vm

إذا نجح هذا الأمر، فسترى مخرجات كالتالي:

RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
                         True         OK OK   

تحقق من إنشاء الجهاز الظاهري

يجب أن تشاهد الجهاز الظاهري الذي تم إنشاؤه حديثًا إما في مدخل Azure ضمن استعراض>الأجهزة الظاهرية أو باستخدام أوامر PowerShell التالية.

$vmList = Get-AzVM -ResourceGroupName $destinationResourceGroup
$vmList.Name

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

سجّل الدخول إلى الجهاز الظاهري الجديد. للحصول على مزيد من المعلومات، راجع كيفية الاتصال بجهاز Azure الظاهري الذي يعمل بنظام التشغيل Windows وتسجيل الدخول إليه.