توزيع الأجهزة الظاهرية إلى proximity placement groups باستخدام Azure PowerShell
ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ أجهزة Windows الظاهرية
للحصول على الأجهزة الظاهرية أقرب ما يمكن، وتحقيق أقل زمن انتقال ممكن، يجب عليك توزيعها ضمن مجموعة موضع التقارب.
مجموعة موضع التقارب هي مجموعة منطقية تُستخدم للتأكد من أن موارد حساب Azure موجودة فعلياً بالقرب من بعضها البعض. تعد مجموعات موضع التقارب مفيدة لأحمال العمل التي تتطلب زمن انتقال منخفضاً.
إنشاء مجموعة موضع قرب
إنشاء مجموعة موضع تقارب باستخدام الأمر New-AzProximityPlacementGroup cmdlet.
$resourceGroup = "myPPGResourceGroup"
$location = "East US"
$ppgName = "myPPG"
New-AzResourceGroup -Name $resourceGroup -Location $location
$ppg = New-AzProximityPlacementGroup `
-Location $location `
-Name $ppgName `
-ResourceGroupName $resourceGroup `
-ProximityPlacementGroupType Standard
قائمة بمجموعات موضع التقارب
يمكنك سرد كافة مجموعات مواضع التقارب باستخدام Get-AzProximityPlacementGroup cmdlet.
Get-AzProximityPlacementGroup
إنشاء الجهاز الظاهري
قم بإنشاء جهاز ظاهري في مجموعة موضع التقارب باستخدام -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 لإنشاء مجموعات مواضع التقارب.