توزيع الأجهزة الظاهرية إلى proximity placement groups باستخدام Azure PowerShell
ينطبق على: ✔️ أجهزة ظاهرية بنظام التشغيل Linux ✔️ أجهزة ظاهرية بنظام التشغيل Windows
للحصول على الأجهزة الظاهرية أقرب ما يمكن، وتحقيق أقل زمن انتقال ممكن، يجب عليك توزيعها ضمن مجموعة موضع التقارب.
مجموعة مواضع التقارب هي مجموعة منطقية تُستخدم للتأكد من أن موارد حساب Azure موجودة فعليًا بالقرب من بعضها البعض. تعد مجموعات مواضع التقارب مفيدة لأحمال العمل التي يكون فيها زمن الوصول المنخفض مطلبًا.
إنشاء مجموعة موضع قرب
إنشاء مجموعة موضع تقارب باستخدام الأمر New-AzProximityPlacementGroup cmdlet.
$resourceGroup = "myPPGResourceGroup"
$location = "East US"
$ppgName = "myPPG"
$zone = "1"
$vmSize1 = "Standard_E64s_v4"
$vmSize2 = "Standard_M416ms_v2"
New-AzResourceGroup -Name $resourceGroup -Location $location
$ppg = New-AzProximityPlacementGroup `
-Location $location `
-Name $ppgName `
-ResourceGroupName $resourceGroup `
-ProximityPlacementGroupType Standard `
-Zone $zone `
-IntentVMSizeList $vmSize1, $vmSize2
قائمة بمجموعات موضع التقارب
يمكنك سرد جميع مجموعات مواضع التقارب باستخدام Get-AzProximityPlacementGroup cmdlet.
Get-AzProximityPlacementGroup -ResourceGroupName $resourceGroup -Name $ppgName
ResourceGroupName : myPPGResourceGroup
ProximityPlacementGroupType : Standard
Id : /subscriptions/[subscriptionId]/resourceGroups/myPPGResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myPPG
Name : myPPG
Type : Microsoft.Compute/proximityPlacementGroups
Location : eastus
Tags : {}
Intent :
VmSizes[0] : Standard_E64s_v4
VmSizes[1] : Standard_M416ms_v2
Zones[0] : 1
قم بإنشاء جهاز ظاهري
قم بإنشاء جهاز ظاهري في مجموعة موضع التقارب باستخدام -ProximityPlacementGroup $ppg.Id
للإشارة إلى معرف مجموعة موضع التقارب عند استخدام New-AzVMSS لإنشاء جهاز ظاهري.
$vmName = "myVM"
New-AzVm `
-ResourceGroupName $resourceGroup `
-Name $vmName `
-Location $location `
-ProximityPlacementGroup $ppg.Id
يمكنك رؤية الجهاز الظاهري في مجموعة المواضع باستخدام Get-AzProximityPlacementGroup.
Get-AzProximityPlacementGroup -ResourceId $ppg.Id |
Format-Table -Property VirtualMachines -Wrap
نقل جهاز ظاهري موجود إلى مجموعة موضع تقارب
يمكنك أيضاً إضافة جهاز ظاهري موجود إلى مجموعة موضع تقارب. تحتاج إلى إيقاف\إلغاء تخصيص الجهاز الظاهري أولاً، ثم تحديث الجهاز الظاهري وإعادة التشغيل.
$ppg = Get-AzProximityPlacementGroup -ResourceGroupName myPPGResourceGroup -Name myPPG
$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
Update-AzVM -VM $vm -ResourceGroupName $vm.ResourceGroupName -ProximityPlacementGroupId $ppg.Id
Start-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
نقل جهاز ظاهري موجود خارج مجموعة موضع تقارب
لإزالة جهاز ظاهري من مجموعة موضع تقارب، تحتاج إلى إيقاف\إلغاء تخصيص الجهاز الظاهري أولاً، ثم تحديث الجهاز الظاهري وإعادة التشغيل.
$ppg = Get-AzProximityPlacementGroup -ResourceGroupName myPPGResourceGroup -Name myPPG
$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
$vm.ProximityPlacementGroup = ""
Update-AzVM -VM $vm -ResourceGroupName $vm.ResourceGroupName
Start-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
مجموعات التوفر
يمكنك أيضًا إنشاء مجموعة توفر في مجموعة مواضع التقارب. استخدم نفس المعلمة -ProximityPlacementGroup
مع New-AzAvailabilitySet cmdlet لإنشاء مجموعة توفر وسيتم أيضاً إنشاء جميع الأجهزة الظاهرية التي تم إنشاؤها في مجموعة التوفر في نفس مجموعة موضع التقارب.
لإضافة مجموعة توفر موجودة إلى مجموعة موضع تقارب أو إزالتها، تحتاج أولاً إلى إيقاف جميع الأجهزة الظاهرية في مجموعة التوفر.
نقل مجموعة توفر موجودة إلى مجموعة مواضع تقارب
$resourceGroup = "myResourceGroup"
$avSetName = "myAvailabilitySet"
$avSet = Get-AzAvailabilitySet -ResourceGroupName $resourceGroup -Name $avSetName
$vmIds = $avSet.VirtualMachinesReferences
foreach ($vmId in $vmIDs){
$string = $vmID.Id.Split("/")
$vmName = $string[8]
Stop-AzVM -ResourceGroupName $resourceGroup -Name $vmName -Force
}
$ppg = Get-AzProximityPlacementGroup -ResourceGroupName myPPG -Name myPPG
Update-AzAvailabilitySet -AvailabilitySet $avSet -ProximityPlacementGroupId $ppg.Id
foreach ($vmId in $vmIDs){
$string = $vmID.Id.Split("/")
$vmName = $string[8]
Start-AzVM -ResourceGroupName $resourceGroup -Name $vmName
}
نقل مجموعة توفر موجودة خارج مجموعة مواضع تقارب
$resourceGroup = "myResourceGroup"
$avSetName = "myAvailabilitySet"
$avSet = Get-AzAvailabilitySet -ResourceGroupName $resourceGroup -Name $avSetName
$vmIds = $avSet.VirtualMachinesReferences
foreach ($vmId in $vmIDs){
$string = $vmID.Id.Split("/")
$vmName = $string[8]
Stop-AzVM -ResourceGroupName $resourceGroup -Name $vmName -Force
}
$avSet.ProximityPlacementGroup = ""
Update-AzAvailabilitySet -AvailabilitySet $avSet
foreach ($vmId in $vmIDs){
$string = $vmID.Id.Split("/")
$vmName = $string[8]
Start-AzVM -ResourceGroupName $resourceGroup -Name $vmName
}
مجموعات التوسعة
يمكنك أيضاً إنشاء مجموعة توسعة في مجموعة مواضع التقارب الخاصة بك. استخدم نفس المعلمة -ProximityPlacementGroup
مع New-AzVmss لإنشاء مجموعة توسعة وسيتم إنشاء جميع المثيلات في نفس مجموعة موضع التقارب.
لإضافة مجموعة توسعة موجودة إلى مجموعة مواضع تقارب أو إزالتها، تحتاج أولاً إلى إيقاف مجموعة التوسعة.
نقل مجموعة توسعة موجودة إلى مجموعة موضع تقارب
$ppg = Get-AzProximityPlacementGroup -ResourceGroupName myPPG -Name myPPG
$vmss = Get-AzVmss -ResourceGroupName myVMSSResourceGroup -VMScaleSetName myScaleSet
Stop-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
Update-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName -ProximityPlacementGroupId $ppg.Id
Start-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
نقل مجموعة توسعة موجودة خارج مجموعة موضع تقارب
$vmss = Get-AzVmss -ResourceGroupName myVMSSResourceGroup -VMScaleSetName myScaleSet
Stop-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
$vmss.ProximityPlacementGroup = ""
Update-AzVmss -VirtualMachineScaleSet $vmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
Start-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
الخطوات التالية
يمكنك أيضاً استخدام Azure CLI لإنشاء مجموعات مواضع التقارب.