Jan 13, 2026

كيفية إنشاء صورة Hyper-V باستخدام Packer؟

ترك رسالة

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

فهم باكر وهايبر - V

قبل الغوص في هذه العملية، من الضروري أن نفهم ما هو Packer وHyper - V. Packer هي أداة مفتوحة المصدر تم تطويرها بواسطة HashiCorp والتي تعمل على أتمتة إنشاء صور الآلة لمنصات متعددة، بما في ذلك Hyper - V. Hyper - V هو برنامج Hypervisor الأصلي من Microsoft، والذي يسمح للمستخدمين بإنشاء وإدارة الأجهزة الافتراضية على Windows Server وWindows 10.

يوفر استخدام Packer لإنشاء صور Hyper - V العديد من المزايا. فهو يوفر طريقة متسقة وقابلة للتكرار لإنشاء الصور، مما يقلل من فرص الخطأ البشري. كما يسمح أيضًا بالتحكم في إصدار تكوينات الصورة، مما يسهل إدارة التغييرات بمرور الوقت.

المتطلبات الأساسية

لإنشاء صورة Hyper - V باستخدام Packer، ستحتاج إلى ما يلي:

  1. تركيب باكر: قم بتنزيل Packer وتثبيته من موقع HashiCorp الرسمي. تأكد من إضافة Packer إلى PATH الخاص بنظامك بحيث يمكنك تشغيله من سطر الأوامر.
  2. فرط - V ممكن: قم بتمكين ميزة Hyper - V على جهازك الذي يعمل بنظام Windows. يمكنك القيام بذلك من خلال خيار "تشغيل ميزات Windows أو إيقاف تشغيلها" في لوحة التحكم.
  3. صورة ISO الأساسية: ستحتاج إلى صورة ISO لنظام التشغيل الذي تريد تثبيته على الجهاز الظاهري. على سبيل المثال، إذا كنت تقوم بإنشاء صورة Windows Server 2019، فقم بتنزيل ISO الرسمي من Microsoft.
  4. معرفة JSON: يستخدم Packer ملفات JSON لتحديد تكوينات بناء الصورة. تعرف على بناء جملة JSON إذا لم تكن كذلك بالفعل.

إنشاء ملف تكوين باكر

قلب عملية بناء الصورة باستخدام Packer هو ملف التكوين. عادة ما يسمى هذا الملفtemplate.json، يحدد الخطوات والإعدادات الخاصة بإنشاء صورة Hyper-V.

فيما يلي مثال أساسي على أtemplate.jsonملف لإنشاء صورة Windows Server 2019 Hyper - V:

{ "builders": [ { "type": "hyperv-iso"، "iso_url": "path/to/your/windows_server_2019.iso"، "iso_checksum": "sha256:your_checksum"، "vm_name": "windows_server_2019_image"، "disk_size": 60000، "communicator": "winrm"، "winrm_username": "Administrator"، "winrm_password": "your_password"، "winrm_timeout": "1h"، "shutdown_command": "shutdown /s /t 0" } ]، "provisioners": [ { "type": "powershell"، "inline": [ "Install - WindowsFeature - Name Web - Server"، "Set - Service - Name W3SVC - StartupType Automatic" ] } ] }

في هذا التكوين:

  • البناةيحدد القسم نوع المنشئ (في هذه الحالة،هايبرف - ايزو) وإعدادات الجهاز الظاهري، مثل عنوان URL لـ ISO وحجم القرص وبروتوكول الاتصال.
  • المقدمي الخدمةيحتوي القسم على الأوامر التي سيتم تنفيذها على الجهاز الظاهري بعد تثبيت نظام التشغيل. نقوم هنا بتثبيت دور خادم الويب وإعداد خدمة النشر على الويب العالمية لتبدأ تلقائيًا.

بناء صورة Hyper-V

بمجرد إنشاءtemplate.jsonالملف، يمكنك البدء في إنشاء صورة Hyper - V باستخدام الخطوات التالية:

  1. انتقل إلى الدليل: افتح موجه الأوامر أو نافذة PowerShell وانتقل إلى الدليل الذي يوجد به ملفtemplate.jsonيقع الملف.
  2. التحقق من صحة التكوين: قم بتشغيل الأمر التالي للتحقق من صحة ملف تكوين Packer:
باكر التحقق من صحة template.json

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

باكر بناء template.json

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

تقنيات متقدمة

استخدام المتغيرات

بدلاً من قيم الترميز الثابت في ملفtemplate.jsonالملف، يمكنك استخدام المتغيرات لجعل التكوين أكثر مرونة. على سبيل المثال، يمكنك تحديد متغيرات لعنوان URL الخاص بـ ISO وكلمة المرور وحجم القرص.

وإليك كيف يمكنك تعديل السابقtemplate.jsonملف لاستخدام المتغيرات:

{ "variables": { "iso_url": "path/to/your/windows_server_2019.iso"، "iso_checksum": "sha256:your_checksum"، "winrm_password": "your_password"، "disk_size": "60000" }، "builders": [ { "type": "hyperv-iso"، "iso_url": "{{user" `iso_url`}}"، "iso_checksum": "{{user `iso_checksum`}}"، "vm_name": "windows_server_2019_image"، "disk_size": "{{user `disk_size`}}"، "communicator": "winrm"، "winrm_username": "Administrator"، "winrm_password": "{{user" `winrm_password`}}"، "winrm_timeout": "1h"، "shutdown_command": "shutdown /s /t 0" } ]، "provisioners": [ { "type": "powershell"، "inline": [ "Install - WindowsFeature - Name Web - Server"، "Set - Service - Name W3SVC - StartupType Automatic" ] } ] }

يمكنك بعد ذلك تمرير القيم المتغيرة عند تشغيل الملفبناء باكريأمر:

96cdc93405ef4a9d8ad41c9bc9532b67Compression Open Hole Packer

بناء باكر -var 'iso_url=path/to/new/iso.iso' -var 'winrm_password=new_password' template.json

مرحلة ما بعد المعالجة

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

فيما يلي مثال لإضافة معالج لاحق لتصدير الجهاز الظاهري كملف VHDX:

{ "builders": [ { "type": "hyperv-iso"، //... إعدادات المنشئ الموجودة... } ]، "provisioners": [ { "type": "powershell"، //... إعدادات الموفر الموجودة... } ]، "post-processors": [ { "type": "hyperv-export"، "output": "output/windows_server_2019_image_{{.BuildName}}.vhdx" } ] }

أنواع مختلفة من الحزم

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

خاتمة

يعد إنشاء صورة Hyper - V باستخدام Packer طريقة فعالة لأتمتة إنشاء صور آلة افتراضية متسقة وقابلة للتكرار. باتباع الخطوات الموضحة في هذه المدونة، يمكنك إنشاء صور Hyper - V الخاصة بك والمصممة خصيصًا لتلبية متطلباتك المحددة.

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

مراجع

  • وثائق HashiCorp Packer
  • مايكروسوفت هايبر - وثائق V
إرسال التحقيق