إنشاء مجموعة موضع التقارب باستخدام PowerShell

إشعار

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

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

للحصول على الأجهزة الظاهرية أقرب ما يمكن، وتحقيق أقل زمن انتقال ممكن، يمكنك توزيعها ضمن مجموعة موضع التقارب.

مجموعة مواضع التقارب هي مجموعة منطقية تُستخدم للتأكد من أن موارد حساب Azure موجودة فعليًا بالقرب من بعضها البعض. تعد مجموعات مواضع التقارب مفيدة لأحمال العمل التي يكون فيها زمن الوصول المنخفض مطلبًا.

  • زمن انتقال منخفض بين الأجهزة الظاهرية المستقلة.
  • زمن انتقال منخفض بين الأجهزة الظاهرية في مجموعة توفر واحدة أو مجموعة مقياس الجهاز الظاهري.
  • زمن انتقال منخفض بين الأجهزة الظاهرية المستقلة أو الأجهزة الظاهرية في مجموعات توفر متعددة أو مجموعات مقاييس متعددة. يمكنك الحصول على موارد حساب متعددة في مجموعة مواضع واحدة لتجميع تطبيق متعدد المستويات.
  • زمن انتقال منخفض بين طبقات تطبيقات متعددة باستخدام أنواع مختلفة من الأجهزة. على سبيل المثال، تشغيل الواجهة الخلفية باستخدام سلسلة M في مجموعة توفر والواجهة الأمامية على مثيل سلسلة D، في مجموعة مقياس، داخل مجموعة موضع تقارب واحدة.

استخدام مجموعات مواضع التقارب

مجموعة مواضع التقارب تمثل موردًا في Azure. تحتاج إلى إنشاء واحدة قبل استخدامها مع موارد أخرى. بمجرد إنشائه، يمكن استخدامه مع الأجهزة الظاهرية أو مجموعات التوفر أو مجموعات مقياس الجهاز الظاهري. يمكنك تحديد مجموعة موضع التقارب عند إنشاء موارد الحساب التي توفر معرف مجموعة موضع التقارب.

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

في حالة مجموعات التوفر ومجموعات مقياس الجهاز الظاهري، يجب عليك تعيين مجموعة موضع التقارب على مستوى المورد بدلا من الأجهزة الظاهرية الفردية.

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

ما يمكن توقعه عند استخدام مجموعات مواضع التقارب

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

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

الصيانة المخطط لها ومجموعات مواضع التقارب

يمكن أن تؤثر أحداث الصيانة المخطط لها، مثل إيقاف تشغيل الأجهزة في مركز بيانات Azure، على محاذاة الموارد في مجموعات مواضع التقارب. قد يتم نقل الموارد إلى مركز بيانات مختلف، مما يعطل توقعات الترتيب وزمن الانتقال المرتبطة بمجموعة وضع التقارب.

التحقق من حالة المحاذاة

يمكنك القيام بما يلي للتحقق من حالة محاذاة مجموعات مواضع التقارب.

  • يمكن عرض حالة الموقع المشترك لمجموعة موضع التقارب باستخدام المدخل وCLI وPowerShell.

    • بالنسبة PowerShell، يمكن الحصول على حالة الموقع المشترك باستخدام Get-AzProximityPlacementGroup cmdlet من خلال تضمين المعلمة الاختيارية "-ColocationStatus".

    • بالنسبة CLI، يمكن الحصول على حالة الموقع المشترك التي تستخدم az ppg show عن طريق تضمين المعلمة الاختيارية "--include-colocation-status".

  • لكل مجموعة مواضع تقارب، توفر خاصية حالة الموقع المشترك ملخص حالة المحاذاة الحالية للموارد المجمعة.

    • تمت المحاذاة: يقع المورد ضمن نفس مغلف زمن الانتقال لمجموعة مواضع التقارب.

    • غير معروف: واحد على الأقل من موارد الجهاز الظاهري يتم إلغاء تخصيصه. بمجرد بدء تشغيلها بنجاح، ستعود الحالة إلى تمت المحاذاة.

    • بلا محاذاة: لا تتم محاذاة مورد جهاز ظاهري واحد على الأقل مع مجموعة مواضع التقارب. كما ستتم الإشارة إلى الموارد المحددة التي لا تتم محاذاتها بشكل منفصل في قسم العضوية

  • بالنسبة إلى مجموعات التوفر، يمكنك الاطلاع على معلومات حول محاذاة الأجهزة الظاهرية الفردية في صفحة نظرة عامة على مجموعة التوفر.

  • بالنسبة لمجموعات المقياس، يمكن الاطلاع على معلومات حول محاذاة المثيلات الفردية في علامة التبويب المثيلات في صفحة نظرة عامة لمجموعة المقياس.

إعادة محاذاة الموارد

إذا كانت مجموعة مواضع التقارب هي Not Aligned، يمكنك الإيقاف \ إلغاء التخصيص، ثم إعادة تشغيل الموارد المتأثرة. إذا كان الجهاز الظاهري في مجموعة توفر أو مجموعة مقياس، يجب إيقاف جميع الأجهزة الظاهرية في مجموعة التوفر أو مجموعة المقياس أولاً قبل إعادة تشغيلها.

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

أفضل الممارسات

  • للحصول على أقل زمن انتقال، استخدم مجموعات مواضع التقارب مع الشبكات المتسارعة. لمزيد من المعلومات، راجع إنشاء جهاز Linux ظاهري مع شبكة متسارعة أو إنشاء جهاز Windows ظاهري مع شبكة متسارعة.
  • توزيع كافة أحجام الأجهزة الظاهرية في قالب واحد. لتجنب الهبوط على الأجهزة التي لا تدعم جميع وحدات SKU وأحجام الأجهزة الظاهرية التي تحتاجها، قم بتضمين جميع طبقات التطبيق في قالب واحد بحيث يتم توزيعها جميعا في نفس الوقت.
  • إذا كنت تقوم ببرمجة التوزيع باستخدام PowerShell أو CLI أو SDK، فقد تحصل على خطأ OverconstrainedAllocationRequestفي التخصيص . في هذه الحالة، يجب إيقاف / إلغاء تخصيص كافة الأجهزة الظاهرية الموجودة، وتغيير التسلسل في البرنامج النصي للتوزيع لتبدأ بأحجام / وحدات SKU للأجهزة الظاهرية التي فشلت.
  • عند إعادة استخدام مجموعة مواضع حالية تم حذف الأجهزة الظاهرية منها، انتظر حتى يكتمل الحذف بالكامل قبل إضافة الأجهزة الظاهرية إليها.
  • إذا كان زمن الوصول هو أولويتك الأولى، فضع الأجهزة الظاهرية في مجموعة مواضع تقارب والحل بأكمله في منطقة توفر. ولكن، إذا كانت المرونة هي أولويتك القصوى، فانشر مثيلاتك عبر مناطق توفر متعددة (لا يمكن لمجموعة مواضع تقارب واحدة أن تمتد عبر المناطق).

إنشاء مجموعة موضع قرب

إنشاء مجموعة موضع تقارب باستخدام الأمر 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

إنشاء مجموعة مقياس في مجموعة موضع التقارب

هام

بدءا من نوفمبر 2023، سيتم تعيين مجموعات مقياس الجهاز الظاهري التي تم إنشاؤها باستخدام PowerShell وAzure CLI افتراضيا إلى وضع التنسيق المرن إذا لم يتم تحديد وضع التزامن. لمزيد من المعلومات حول هذا التغيير والإجراءات التي يجب اتخاذها، انتقل إلى كسر التغيير لعملاء VMSS PowerShell/CLI - مركز مجتمع Microsoft

قم بإنشاء مقياس في مجموعة موضع التقارب باستخدام -ProximityPlacementGroup $ppg.Id الإشارة إلى معرف مجموعة موضع التقارب عند استخدام New-AzVMSS لإنشاء مجموعة القياس.

$scalesetName = "myVM"

New-AzVmss `
  -ResourceGroupName $resourceGroup `
  -Location $location `
  -OrchestrationMode "Uniform" `
  -VMScaleSetName $scalesetName `
  -VirtualNetworkName "myVnet" `
  -SubnetName "mySubnet" `
  -PublicIpAddressName "myPublicIPAddress" `
  -LoadBalancerName "myLoadBalancer" `
  -ProximityPlacementGroup $ppg.Id

يمكنك رؤية المثيل في مجموعة المواضع باستخدام Get-AzProximityPlacementGroup.

  Get-AzProximityPlacementGroup `
   -ResourceId $ppg.Id | Format-Table `
   -Wrap `
   -Property VirtualMachineScaleSets

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

يمكنك أيضاً استخدام Azure CLI لإنشاء مجموعات مواضع التقارب.