Jan 13, 2026

چگونه با Packer یک تصویر Hyper - V بسازیم؟

پیام بگذارید

ساختن یک تصویر Hyper-V با Packer می‌تواند فرآیندی پیچیده و در عین حال سودآور باشد. به عنوان یک تامین کننده Packer، من این فرصت را داشته ام که با مشتریان متعددی کار کنم تا تصویر آنها را ساده کنم - ایجاد گردش کار. در این وبلاگ، من یک راهنمای جامع در مورد نحوه ساخت یک تصویر Hyper - V با استفاده از Packer به اشتراک می‌گذارم که همه چیز را از اصول اولیه تا تکنیک‌های پیشرفته را پوشش می‌دهد.

درک پکر و هایپر - وی

قبل از فرو رفتن در این فرآیند، ضروری است که بفهمیم Packer و Hyper - V چیست. Packer یک ابزار منبع باز است که توسط HashiCorp ایجاد شده است که ایجاد تصاویر ماشین را برای پلتفرم‌های متعدد، از جمله Hyper - V. Hyper - V به صورت خودکار انجام می‌دهد.

استفاده از Packer برای ساخت تصاویر Hyper - V چندین مزیت دارد. این یک راه ثابت و تکرارپذیر برای ایجاد تصاویر فراهم می کند و احتمال خطای انسانی را کاهش می دهد. همچنین امکان کنترل نسخه پیکربندی های تصویر را فراهم می کند و مدیریت تغییرات را در طول زمان آسان تر می کند.

پیش نیازها

برای ساخت یک تصویر Hyper - V با Packer، به موارد زیر نیاز دارید:

  1. نصب پکر: Packer را از وب سایت رسمی HashiCorp دانلود و نصب کنید. مطمئن شوید که Packer را به PATH سیستم خود اضافه کنید تا بتوانید آن را از خط فرمان اجرا کنید.
  2. Hyper - V فعال است: ویژگی Hyper - V را در دستگاه ویندوز خود فعال کنید. شما می توانید این کار را از طریق گزینه “Turn Windows features on or off” در Control Panel انجام دهید.
  3. تصویر پایه ایزو: به یک تصویر ISO از سیستم عاملی که می خواهید روی ماشین مجازی نصب کنید نیاز دارید. به عنوان مثال، اگر در حال ساخت تصویر ویندوز سرور 2019 هستید، ISO رسمی را از مایکروسافت دانلود کنید.
  4. آشنایی با JSON: Packer از فایل های JSON برای تعریف پیکربندی های ساختمانی تصویر استفاده می کند. اگر قبلاً با دستور JSON آشنا نشده اید، آشنا شوید.

ایجاد یک فایل پیکربندی Packer

قلب فرآیند ساخت تصویر با Packer فایل پیکربندی است. این فایل معمولاً نام داردtemplate.json، مراحل و تنظیمات ایجاد تصویر Hyper - V را تعریف می کند.

در اینجا یک مثال اساسی از atemplate.jsonفایل ساخت تصویر Hyper - V ویندوز سرور 2019:

{ "builders": [ { "type": "hyperv-iso"، "iso_url": "path/to/your/windows_server_2019.iso"، "iso_checksum": "sha256:your_checksum"، "vm_name": "windows_server: "winrm"، "winrm_username": "Administrator"، "winrm_password": "your_password"، "winrm_timeout": "1h"، "shutdown_command": "shutdown /s /t 0" } ]، "provisioners": [{ "-type": "power-line:Webshell" سرور، "تنظیم - سرویس - نام W3SVC - StartupType Automatic" ] } ] }

در این پیکربندی:

  • راسازندگانبخش نوع سازنده را تعریف می کند (در این مورد،hyperv - iso) و تنظیمات ماشین مجازی، مانند URL ISO، اندازه دیسک و پروتکل ارتباطی.
  • راتامین کنندگانبخش شامل دستوراتی است که باید پس از نصب سیستم عامل روی ماشین مجازی اجرا شوند. در اینجا، ما نقش وب سرور را نصب می کنیم و سرویس انتشار وب جهانی را برای شروع خودکار تنظیم می کنیم.

ساخت تصویر Hyper - V

هنگامی که شما ایجاد کردیدtemplate.jsonفایل، می توانید با استفاده از مراحل زیر شروع به ساخت تصویر Hyper - V کنید:

  1. به دایرکتوری بروید: یک خط فرمان یا پنجره PowerShell را باز کنید و به فهرستی که در آن هستید برویدtemplate.jsonفایل قرار دارد.
  2. اعتبار سنجی پیکربندی: برای تایید فایل پیکربندی Packer دستور زیر را اجرا کنید:
Packer Validate template.json

اگر پیکربندی معتبر باشد، Packer یک پیام موفقیت آمیز برمی گرداند. در غیر این صورت، خطاهایی را که باید برطرف کنید نمایش می دهد.
3.تصویر را بسازید: اگر اعتبار سنجی موفقیت آمیز بود، دستور زیر را برای شروع ساخت تصویر اجرا کنید:

Packer build 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":vhyi} "iso_url": "{{user `iso_url`}}"، "iso_checksum": "{{user `iso_checksum`}}"، "vm_name": "windows_server_2019_image"، "disk_size": "{{user `disk_size`}}، "user "disk_size":_rm"، "rmername" "win" "Administrator"، "winrm_password": "{{user `winrm_password`}}"، "winrm_timeout": "1h"، "shutdown_command": "shutdown /s /t 0" } ]، "provisioners": [{ "type": "powershell"، "in-stature"، "inlineFe"، "inline"، "-Ser. سرویس - نام W3SVC - StartupType Automatic" ] } ] }

سپس می توانید مقادیر متغیر را هنگام اجرای آن ارسال کنیدساخت بسته بندیدستور:

96cdc93405ef4a9d8ad41c9bc9532b67Compression Open Hole Packer

Packer build -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" } ] }

انواع مختلف بسته بندی

به عنوان یک تامین کننده Packer، ما انواع بسته بندی را برای کاربردهای مختلف ارائه می دهیم. شما می توانید طیف وسیعی از بسته بندی های ما را کشف کنید، از جملهبسته‌کننده سوراخ باز فشرده،بسته بندی هیدرولیک، وبسته بندی تنش. این بسته بندی ها برای رفع نیازهای خاص صنایع مختلف طراحی شده اند و عملکرد قابل اعتماد و کارآمد را تضمین می کنند.

نتیجه گیری

ساخت یک تصویر Hyper - V با Packer یک راه قدرتمند برای خودکارسازی ایجاد تصاویر ماشین مجازی ثابت و قابل تکرار است. با دنبال کردن مراحل ذکر شده در این وبلاگ، می توانید تصاویر Hyper - V خود را متناسب با نیازهای خاص خود ایجاد کنید.

اگر علاقه مند به کسب اطلاعات بیشتر در مورد محصولات Packer ما هستید یا هر گونه سوالی در مورد فرآیند ساخت تصویر دارید، ما شما را تشویق می کنیم تا برای بحث در مورد خرید صحبت کنید. تیم متخصص ما آماده کمک به شما در یافتن بهترین راه حل برای نیازهای کسب و کار شماست.

مراجع

  • HashiCorp Packer Documentation
  • Microsoft Hyper - V Documentation
ارسال درخواست