هل تحتاج إلى تصدير آلات الافتراض الخاصة بـ Hyper-V ونقلها من مضيف إلى آخر؟ وماذا عن تصدير آلة افتراضية من محطة عمل التطوير الخاصة بك إلى مضيف Hyper-V في الإنتاج؟ إذا كنت كذلك، فقد وصلت إلى المكان الصحيح!
في هذا المقال، ستتعلم كيفية تصدير واستيراد آلة افتراضية باستخدام إدارة Hyper-V وPowerShell. هل أنت جاهز؟ لنذهب!
المتطلبات الأساسية
سيكون هذا المقال درسًا تعليميًا. إذا كنت تعتزم متابعة الخطوات خطوة بخطوة، ستحتاج إلى ما يلي:
- PowerShell 7 أو Windows PowerShell 5.1 – سيتم التركيز في هذا البرنامج التعليمي على PowerShell 7، ولكن الأوامر ستعمل مع Windows PowerShell 5.1.
- A Windows Server with Hyper-V enabled – This tutorial is based on the insider preview released March 2021, but any Windows Server from 2012R2 onward will suffice.
- A virtual machine guest – This tutorial is using an Alpine Linux guest because it’s light on resources. You can use any guest Operating System you like.
- A local Windows user account in the local administrators group on the Hyper-V host.
خطوات تصدير آلات Hyper-V
إذا كنت لا تحب واجهة الأوامر أو كنت ترغب فقط في حفظ آلة افتراضية واحدة على القرص، فإن إدارة Hyper-V هي خيار قوي. يفترض أنك على مضيف Hyper-V الخاص بك وأن لديك آلة افتراضية تعمل:
1. في قائمة البحث في Windows، اكتب “hyper”. يجب أن تظهر لك نافذة إدارة Hyper-V. إذا كان الأمر كذلك، انقر فوقها لفتحها.
2. ابحث عن الآلة الافتراضية التي تريد تصديرها، انقر بزر الماوس الأيمن فوقها وانقر على تصدير.

3. بعد ذلك، اختر مجلدًا لحفظ الآلة الافتراضية والتكوين فيه وانقر على تصدير.

يجب أن يكون الموقع الذي تختاره للحفظ يحتوي على مساحة تخزين كافية للآلة الظاهرية المصدرة. قد تختلف هذه المساحة. تذكر، يمكنك تخصيص 60 غيغابايت للقرص، ولكن ذلك لا يعني أن قرص الآلة الظاهرية قد نما إلى 60 غيغابايت.
عندما يبدأ Hyper-V عملية التصدير، سترى حالة التصدير في نافذة مدير Hyper-V.

4. الآن، قم بتأكيد وجود جميع الملفات المطلوبة. يجب أن ترى ثلاثة مجلدات فرعية. هذه المجلدات الفرعية تحتوي على جميع الملفات اللازمة لبدء الآلة الظاهرية المصدرة؛ لقطات، أقراص صلبة افتراضية، وآلات ظاهرية.

- يحتوي مجلد اللقطات على معلومات اللقطة للآلة الظاهرية. قد يكون المجلد فارغًا إذا لم تكن هناك لقطات للآلة الظاهرية. في هذا المجلد، سترى ملحقات الملفات VMCX، VMRS، و VMGS. الملف الثنائي VMCX يحتوي على معلومات التكوين الخاصة بالآلة الظاهرية المصدرة. الملف الثنائي VMRS يحتوي على معلومات حالة تشغيل الآلة الظاهرية. بدون هذا الملف، لا يمكن للآلة الظاهرية البدء. وأخيرًا هناك ملف VMGS. لست متأكدًا من استخدام هذا الملف. إذا كنت تعرف، فضلاً اترك تعليقًا.
إذا كنت لديك تجربة سابقة مع Hyper-V، قد لاحظت شيئًا مختلفًا في امتدادات الملفات. ابتداءً من Windows Server 2016، لم يعد Hyper-V يستخدم ملفات XML لمعلومات التكوين وانتقل بدلاً من ذلك إلى ملفات ثنائية. اقرأ المزيد حول هذه الامتدادات الجديدة.
إذا كان لديك نقطة فحص أكثر من واحدة، فسترى ملفات VMCX و VMRS و VMGS متعددة لكل نقطة فحص للجهاز الظاهري.

- يحتوي مجلد أقراص الصلبة الظاهرية على جميع ملفات صور الأقراص الصلبة أو *.vhdx للجهاز الظاهري. ملف AVHDX أو القرص الصلب الظاهري التلقائي هو قرص فرق يُستخدم لنقاط فحص الجهاز الظاهري. إذا كان لديك جهاز ظاهري أكثر من نقطة فحص واحدة، فسترى ملفات AVHDX متعددة.

- يحتوي مجلد الأجهزة الظاهرية على ملفات تكوين الجهاز الظاهري المستخدمة لتشغيل الجهاز الظاهري. بشكل مماثل لمجلد Snapshots، سترى ملفات ثنائية VMCX و VMRS و VMGS هنا أيضًا.

إذا كانت الأجلة الثلاثة موجودة وتحتوي على ملفات، فقد تمت عملية التصدير بنجاح.
استخدام PowerShell لتصدير جهاز ظاهري
إذا كنت من محبي سطر الأوامر أو لديك العديد من الأجهزة الظاهرية لتصديرها، فإن استخدام PowerShell لتصدير جهاز ظاهري هو خيار رائع أيضًا. لتصدير Hyper-V باستخدام PowerShell، استخدم Export-VM
cmdlet. للقيام بذلك، وافترض أنك على مضيف Hyper-V الخاص بك وأن الجهاز الظاهري الخاص بك هو غير متصل:
1. افتح نافذة PowerShell.
2. استعلم عن مضيف Hyper-V للحصول على جرد لأجهزتك الظاهرية واسم الجهاز الظاهري الذي تريد تصديره. سيتم تصدير جهاز ظاهري يسمى Alpine Linux 01
في هذا البرنامج التعليمي.

Export-VM
command3. أنشئ مجلدًا لتصدير الجهاز الظاهري إليه. سيتم تصدير الجهاز الظاهري إلى C:\Export_VM.
4. الآن قم بتصدير الآلة الظاهرية باستخدام الأمر Export-VM
عن طريق تقديم اسم الآلة الظاهرية للمعلمة Name
، و
Path
إلى المجلد لحفظه فيه، ومعلمةPassThru
. المعلمةPassThru
اختيارية لإرجاع كائن VM الذي يتم تصديره. وإلا،Export-VM
لن يعيد أي مخرجات.

عندما تكون الآلة الظاهرية قيد التشغيل، فإن
Export-VM
لن يقوم تلقائيًا بحفظ الذاكرة. إذا كنت ترغب في حفظ محتويات الذاكرة التي تعمل في الآلة الظاهرية، استخدم المعلمة-CaptureLiveState CaptureSavedState
معExport-VM
. تعرف أكثر على التقنية المستخدمة لالتقاط الذاكرة.
5. الآن احذف الآلة الظاهرية من Hyper-V. لا تقلق! لقد تم حفظها!
باستخدام Hyper-V Manager لاستيراد آلة ظاهرية
بمجرد أن قمت بتصدير الآلة الظاهرية، وقع الكارثة واختفت الآلة الظاهرية. لا تقلق! لقد قمت بتصديرها بالفعل إلى القرص. دعنا نعيدها. للقيام بذلك، نفترض أنك على جهاز الخادم الظاهري الخاص بك مرة أخرى:
1. افتح مدير Hyper-V.
2. انقر فوق عنصر القائمة استيراد آلة ظاهرية الموجود على الجانب الأيمن من نافذة مدير Hyper-V. ستظهر لك معالم معالم استيراد آلة ظاهرية . انقر فوق التالي.

3. بعد ذلك، أدخل المسار إلى الجهاز الظاهري المصدر الذي ترغب في استيراده وانقر فوق التالي. لهذا البرنامج التعليمي، يتم حفظ الجهاز الظاهري في C:\Export_VM\Alpine Linux 01.
على عكس عملية الاستيراد باستخدام PowerShell، سيقوم المعالج بتحديد ملف VMCX للجهاز الظاهري تلقائيًا لك.

4. بمجرد اكتشاف Hyper-V لملفات تكوين الجهاز الظاهري داخل المجلد (في هذا المثال، C:\Exported_VM\Alpine Linux 01\Virtual Machines\), سيطلب Hyper-V منك تحديد جهاز ظاهري لاستيراده. اختر الجهاز الظاهري الذي تريد استيراده وانقر فوق التالي.

5. بعد ذلك، اختر نوع الاستيراد الذي ترغب في تنفيذه. أولاً، دعنا نستكشف الخيارات بتفصيل أكبر.
عندما تختار الخيار “تسجيل الجهاز الظاهري في المكان (استخدام معرف فريد موجود مسبقًا)”، فأنت تفترض أن ملفات الجهاز الظاهري المصدر تقع في موقعها النهائي، مما يعني أنك لا تقوم بنقل الجهاز الظاهري إلى مجلد جديد. تصبح ملفات الجهاز الظاهري المصدر حالة التشغيل للجهاز الظاهري. لا يتغير معرف الجهاز الظاهري.
معرف الجهاز الظاهري هو ما يستخدمه Hyper-V لتحديد جهاز ظاهري. إذا كشف Hyper-V أن نفس معرف الجهاز الظاهري مُسجَّل حاليًا، ستتلقى رسالة خطأ.
عند استعادة الجهاز الظاهري، يمكنك اختيار موقعًا أو استخدام موقع Hyper-V الافتراضي لنسخ ملفات الجهاز الظاهري المصدر إليه.
عند نسخ الجهاز الظاهري، يشبه ذلك استعادة جهاز ظاهري مصدر، ولكن مع معرف فريد جديد (UID). يجعل معرف جديد من الممكن إعادة نشر نفس الجهاز الظاهري عدة مرات إلى مضيفات Hyper-V نفسها أو مختلفة.
للعرض، دعنا نختار نوع الاستيراد نوع الاستيراد انسخ الجهاز الظاهري. سيؤدي نسخ الجهاز الظاهري إلى إنشاء معرف فريد جديد (UID). يتم تعريف كل جهاز ظاهري Hyper-V بواسطة معرف فريد. هذا الخيار مقبول في الوقت الحالي لذا انقر على التالي.

6. نظرًا لاختيارك الخيار النسخ, يمكنك تغيير الموقع الذي يتم فيه تخزين ملفات الجهاز الظاهري. انقر التالي لقبول القيم الافتراضية لهذا البرنامج التعليمي.

7. في النهاية، اختر موقعًا للجهاز الظاهري المعروف باسم مجلد التخزين. مجلد التخزين هو المكان الذي ستتواجد فيه ملفات VHDX و AVHDX. لهذا البرنامج التعليمي، قبل الموقع الافتراضي وانقر التالي.

8. قم بمراجعة صفحة الملخص وعندما تكون جاهزًا، انقر إنهاء لبدء الاستيراد.

عندما يكتمل استيراد Hyper-V، يعود إلى نافذة مدير Hyper-V، والآن سترى الجهاز الظاهري المستورد، كما هو موضح أدناه.

استخدام PowerShell لاستيراد جهاز ظاهري
إذا لم يكن استيراد جهاز ظاهري عبر مدير Hyper-V هو ما تفضله، فلا مشكلة. استخدم PowerShell! لاستيراد جهاز ظاهري باستخدام PowerShell، ستستخدم الأمر Import-VM. انظر إلى السيناريو التالي:
لقد قمت بتصدير جهاز افتراضي، وهو موجود في C:\Exported_VM\ ، ولنفترض أنه تم حذفه عن طريق الخطأ، أو ربما يكون مطلوبًا على مضيف Hyper-V مختلف؟ نظرًا لأنه تم بالفعل تصديره، فإنه يتمتع في الأساس بنسخة احتياطية ويمكن استيراده بسهولة، وبالتالي استعادة الجهاز الافتراضي.
إذا كانت الأمر Export-VM
يحفظ جهاز افتراضي على القرص، فإن الأمر Import-VM
يقوم بالعمل المعاكس؛ حيث يقرأ جهاز افتراضي من القرص ويقوم بتوريده إلى Hyper-V.
1. نفترض أنك قد فتحت بالفعل نافذة PowerShell وأنك في الدليل الذي قمت بتصدير فيه جهاز افتراضي ( C:\Exported_VM). قم أولاً بتشغيل الأمر Get-ChildItem
مع التبديل Recurse
ليتم عرض جميع الملفات وقم بتدوين اسم الملف الذي يحمل امتداد *.vmcx باستخدام الكود التالي:
قد ترى عدة ملفات .vmcx تبعًا لما إذا كان لدى الجهاز الافتراضي المصدر لهذه اللحظات الساخنة. الوحيد الذي تحتاجه لتشغيل الجهاز الافتراضي هو ملف VMCX الذي يقع في مجلد Virtual Machines.
قد ترى ناتجًا مشابهًا للمثال أدناه:

2. بعد ذلك، استخدم الأمر Import-VM
مع المعلمة Path
لتحديد ملف تكوين الجهاز الافتراضي (الذي تم الحصول عليه في الخطوة السابقة).
هذا كل شيء! لقد سجلت الجهاز الافتراضي في المكان نفسه، باستخدام نفس UID الذي كان للجهاز الافتراضي عند التصدير.

3. الآن قم بالتحقق من أن UID هو نفسه كما هو اسم الملف .vmcx عند تصدير الجهاز الافتراضي. يمكنك استخدام الكود أدناه للقيام بذلك عن طريق الاستعلام عن WMI:
يجب أن ترى نفس النتيجة المبينة في المثال أعلاه:

كان المثال أعلاه استيرادًا مباشرًا من ملف تكوين آلة افتراضية، وظلت الآلة الافتراضية تحتفظ بالمعرف الفريد الأصلي. في بيئة الإنتاج، قد ترغب في إنشاء معرف فريد جديد لمنع اعتبار الآلة الافتراضية القديمة على أنها آلة جديدة. هنا تأتي معلمة Copy
.
استيراد آلة افتراضية باستخدام معلمة
Copy
سيقوم بنسخ الملفات من الموقع الأصلي (C:\Exported_VM\) إلى مسارات الملقم Hyper-V المكونة. عند استخدامها معGenerateNewId
، يمكن استيراد الآلة الافتراضية مرارًا وتكرارًا على نفس ملقم Hyper-V بمعرف فريد جديد (UID).
هذه المرة، لا يحتوي آلة الافتراضية المستوردة على نفس المعرف الفريد كما في حالة التصدير. يمكنك رؤية المعرفين القديم والجديد في اللقطة الشاشية أدناه:

Hyper-V الآن يقوم بنسخ الآلة الافتراضية إلى المسارات الافتراضية التي رأيتها سابقًا عند استيراد آلة افتراضية باستخدام مدير Hyper-V ولكنها تعطي الآلة الافتراضية معرفًا فريدًا جديدًا.
الخطوات التالية
في هذا الدليل، تعلمت كيفية تصدير واستيراد آلة افتراضية Hyper-V باستخدام PowerShell ومدير Hyper-V المدمج.
الآن بعد أن تعرف كيفية تصدير واستيراد آلات Hyper-V الافتراضية، جرب إعداد تنشيط الآلة الافتراضية التلقائي (AVMA) لتنشيط آلات خوادم Windows المستضافة على Hyper-V.