تكوين الإسبات في Microsoft Dev Box

في هذه المقالة، ستتعلم كيفية تمكين الإسبات وتعطيلها في Microsoft Dev Box. يمكنك التحكم في الإسبات في صورة مربع التطوير ومستوى تعريف مربع التطوير.

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

مع إدخال وضع الإسبات في Dev Box (معاينة)، يمكنك تمكين هذه الإمكانية على مربعات التطوير الجديدة وإسباتها واستئنافها. توفر هذه الميزة طريقة ملائمة لإدارة مربعات التطوير الخاصة بك مع الحفاظ على بيئة العمل الخاصة بك.

هناك خطوتان لتمكين الإسبات:

  1. تمكين الإسبات على صورة مربع التطوير
  2. تمكين الإسبات في تعريف مربع التطوير

هام

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

اعتبارات الصور الممكنة للإسبات

قبل تمكين الإسبات في مربع التطوير، راجع الاعتبارات التالية للصور الممكنة للإسبات.

  • حاليا، تدعم وحدتا SKU الإسبات: 8 و16 وحدة معالجة مركزية افتراضية. حاليا، لا تدعم وحدات SKU 32 vCPU الإسبات.

  • يمكنك تمكين الإسبات فقط على مربعات التطوير الجديدة التي تم إنشاؤها باستخدام تعريفات مربع التطوير التي تدعم الإسبات. لا يمكنك تمكين الإسبات على مربعات التطوير الموجودة.

  • يمكنك إسبات مربع تطوير فقط باستخدام مدخل مطور Microsoft وAzure CLI وPowerShell وSDKs وواجهة برمجة تطبيقات REST. الإسبات من داخل مربع التطوير في Windows غير مدعوم.

  • إذا كنت تعمل مع صورة Azure Marketplace، نوصي باستخدام Visual Studio لصور مربع التطوير.

  • تحتوي صورة Windows 11 Enterprise CloudPC + OS Optimizations على إعدادات الطاقة المحسنة، ولا يمكن استخدامها مع الإسبات.

  • بعد تمكين الإسبات، لا يمكنك تعطيل الميزة في مربع التطوير هذا. ومع ذلك، يمكنك تعطيل دعم الإسبات في تعريف مربع التطوير بحيث لا تحتوي مربعات التطوير التي تم إنشاؤها في المستقبل على إسبات.

  • لتمكين الإسبات، تحتاج إلى تمكين الظاهرية المتداخلة في نظام التشغيل Windows. إذا لم يتم تمكين ميزة "النظام الأساسي للجهاز الظاهري" في صورة DevBox، يقوم DevBox تلقائيا بتمكين الظاهرية المتداخلة لك إذا اخترت تمكين الإسبات.

  • لا يدعم الإسبات تكامل التعليمات البرمجية المحمية ب hypervisor (HVCI)/ ميزات تكامل الذاكرة. يقوم مربع التطوير بتعطيل هذه الميزة تلقائيا.

  • لا تزال جداول الإيقاف التلقائي تغلق مربعات التطوير. إذا كنت ترغب في إسبات مربع التطوير الخاص بك، يمكنك القيام بذلك من خلال مدخل المطور أو باستخدام Azure CLI.

    إشعار

    تتوفر وظيفة جدولة مربعات التطوير لإسبات تلقائيا في المعاينة. يمكنك التسجيل للحصول على المعاينة في Microsoft Dev Box - معاينة جداول الإسبات التلقائية.

الإعدادات غير متوافق مع الإسبات

من المعروف أن الإعدادات التالية غير متوافقة مع الإسبات، وهي غير مدعومة لسيناريوهات الإسبات:

  • تكامل الذاكرة/تكامل التعليمات البرمجية ل Hypervisor

    لتعطيل تكامل الذاكرة/تكامل التعليمات البرمجية ل Hypervisor:

    1. في القائمة Windows، ابحث عن أمن Windows وافتحها.
    2. انتقل إلى أمان الجهاز.
    3. ضمن العزل الأساسي، حدد تفاصيل العزل الأساسي
    4. ضمن تكامل الذاكرة، قم بتعيين التبديل إلى إيقاف التشغيل.

    بعد تغيير هذا الإعداد، تحتاج إلى إعادة تشغيل الجهاز.

  • الميزات المستندة إلى الوضع الآمن الظاهري للضيف دون تمكين الظاهرية المتداخلة

    لتمكين الظاهرية المتداخلة:

    1. في القائمة ، ابحث عن تشغيل ميزات Windows أو إيقاف تشغيلها.
    2. في مربع الحوار، حدد خانة الاختيار Virtual Machine Platform .
    3. حدد موافق لحفظ تغييرات الإعداد.

تمكين الإسبات على صورة مربع التطوير

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

إشعار

تم بالفعل تكوين صور Visual Studio وMicrosoft 365 التي يوفرها Microsoft Dev Box في Azure Marketplace لدعم الإسبات. لا تحتاج إلى تمكين الإسبات على هذه الصور، فهي جاهزة للاستخدام.

لتمكين قدرات الإسبات، قم بتعيين العلامة IsHibernateSupported إلى true عند إنشاء الصورة:

az sig image-definition create 
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> --location <location> 
--publisher <publisherName> --offer <offerName> --sku <skuName> --os-type windows --os-state Generalized 
--features "IsHibernateSupported=true SecurityType=TrustedLaunch" --hyper-v-generation V2 

إذا كنت تستخدم sysprep وVM معمم لإنشاء صورة مخصصة، فسجل صورتك باستخدام Azure CLI:

az sig image-version create 
--resource-group <resourceGroupName> --gallery-name <galleryName> --gallery-image-definition <imageName> 
--gallery-image-version <versionNumber> --virtual-machine <VMResourceId>

لمزيد من المعلومات حول إنشاء صورة مخصصة، راجع تكوين مربع تطوير باستخدام Azure VM Image Builder.

تمكين الإسبات على تعريف مربع التطوير

في Microsoft Dev Box، يمكنك تمكين الإسبات لتعريف مربع تطوير جديد عندما يستخدم التعريف صورة مخصصة أو Azure Marketplace ممكنة للإسبات. يمكنك أيضا تحديث تعريف مربع تطوير موجود يستخدم صورة مخصصة أو Azure Marketplace ممكنة الإسبات.

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

يتحقق Microsoft Dev Box من صحة صورتك للحصول على دعم الإسبات. قد يفشل تعريف مربع التطوير الخاص بك في التحقق من الصحة إذا تعذر تمكين الإسبات بنجاح باستخدام صورتك.

يمكنك تمكين الإسبات على تعريف مربع تطوير باستخدام مدخل Microsoft Azure أو Azure CLI.

تمكين الإسبات في مدخل Microsoft Azure

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. في مربع البحث، أدخل مركز التطوير. في قائمة النتائج، حدد مراكز التطوير.

  3. افتح مركز التطوير الذي يحتوي على تعريف مربع التطوير الذي تريد تحديثه، ثم حدد تعريفات مربع التطوير.

    Screenshot that shows the dev center overview page and the menu option for dev box definitions.

  4. حدد تعريف مربع التطوير الذي تريد تحديثه، ثم حدد الزر تحرير (قلم رصاص).

    Screenshot of the list of existing dev box definitions and the edit (pencil) button.

  5. في صفحة تحرير تعريف مربع التطوير، حدد خانة الاختيار تمكين الإسبات .

    Screenshot of the page for editing a dev box definition, with Enable hibernation selected.

  6. حدد حفظ.

تمكين الإسبات باستخدام Azure CLI

لتمكين الإسبات لتعريف مربع التطوير من Azure CLI، قم بتعيين العلامة hibernateSupport إلى Enabled عند إنشاء الصورة:

az devcenter admin devbox-definition update 
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Enabled

استكشاف الأخطاء وإصلاحها

إذا قمت بتمكين الإسبات على تعريف Dev Box، ولكن التعريف يبلغ عن تعذر تمكين الإسبات:

  • نوصي باستخدام Visual Studio لصور سوق Dev Box، إما مباشرة، أو كصور أساسية لإنشاء صورتك المخصصة.
  • تحتوي صورة تحسينات Windows + OS على إعدادات الطاقة المحسنة، ولا يمكن استخدامها مع الإسبات.
  • إذا كنت تستخدم صورة Azure Compute Gallery مخصصة، فمكن الإسبات على صورة Azure Compute Gallery قبل تمكين الإسبات في تعريف Dev Box.
  • إذا تعذر تمكين الإسبات على التعريف حتى بعد تمكينه على صورة المعرض، فمن المحتمل أن تحتوي صورتك المخصصة على تكوين Windows يمنع الإسبات.

لمزيد من المعلومات، راجع الإعدادات غير متوافق مع الإسبات.

تعطيل الإسبات في تعريف مربع التطوير

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

يمكنك تعطيل الإسبات على تعريف مربع تطوير باستخدام مدخل Microsoft Azure أو CLI.

تعطيل الإسبات في مدخل Microsoft Azure

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. في مربع البحث، أدخل مركز التطوير. في قائمة النتائج، حدد مراكز التطوير.

  3. افتح مركز التطوير الذي يحتوي على تعريف مربع التطوير الذي تريد تحديثه، ثم حدد تعريفات مربع التطوير.

  4. حدد تعريف مربع التطوير الذي تريد تحديثه، ثم حدد الزر تحرير (قلم رصاص).

  5. في صفحة تحرير تعريف مربع التطوير، قم بإلغاء تحديد خانة الاختيار تمكين الإسبات .

  6. حدد حفظ.

تعطيل الإسبات باستخدام Azure CLI

لتعطيل الإسبات لتعريف مربع التطوير من Azure CLI، قم بتعيين العلامة hibernateSupport إلى Disabled عند إنشاء الصورة:

az devcenter admin devbox-definition update 
--dev-box-definition-name <devBoxDefinitionName> -–dev-center-name <devCenterName> --resource-group <resourceGroupName> –-hibernateSupport Disabled