نصب Hyper-V یکی از ساده ترین راه ها برای مجازی سازی روی سرور ویندوزی است، چون هایپروایزر مایکروسافت به عنوان یک نقش داخل ویندوز سرور وجود دارد و لایسنس جداگانه ندارد. با Hyper-V چند ماشین مجازی (ویندوز و لینوکس) روی یک سرور فیزیکی اجرا می شود. برای شرکتی که ویندوز سرور و اکتیو دایرکتوری دارد، Hyper-V انتخاب طبیعی است؛ در مقابل، VMware ESXi را در آموزش نصب VMware ESXi مرور کرده ایم و Proxmox هم گزینه ای برای کسانی است که لینوکس و متن باز می خواهند.
پیش نیازها
- پردازنده 64 بیتی با پشتیبانی از مجازی سازی سخت افزاری (Intel VT-x یا AMD-V) و SLAT (Second Level Address Translation).
- مجازی سازی در BIOS فعال باشد (گزینه ای مثل Intel Virtualization Technology یا SVM Mode).
- رم کافی: رم میزبان به علاوه مجموع رم ماشین ها. حداقل چند گیگابایت برای خود میزبان کنار بگذارید.
- دیسک سریع: ماشین ها روی فایل های VHDX ذخیره می شوند و SSD در عملکرد تفاوت بزرگی می دهد.
- برای ویندوز سرور: نسخه Standard یا Datacenter. در ویندوز 10 و 11 فقط نسخه های Pro، Enterprise و Education.
لایسنس مجازی سازی در ویندوز سرور بر اساس شرایط مایکروسافت فرق می کند. معمولاً هر لایسنس Standard اجازه اجرای تعداد محدودی ماشین ویندوزی را می دهد (در شرایط فعلی دو ماشین به ازای هسته های لایسنس شده) و Datacenter بدون محدودیت است. جزئیات و تغییرات را از مستندات رسمی لایسنس مایکروسافت یا مشاور لایسنس بپرسید، چون هزینه نهایی مجازی سازی ویندوز بیشتر از خود هایپروایزر به لایسنس ماشین ها بستگی دارد (لایسنس ویندوز سرور اورجینال).
نصب نقش Hyper-V
روی ویندوز سرور، با PowerShell (به عنوان Administrator):
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
دستور بعد از نصب سرور را ریستارت می کند. در Server Manager هم از Add Roles and Features نقش Hyper-V قابل انتخاب است. روی ویندوز 10 و 11 Pro:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
بعد از ریستارت، ابزار Hyper-V Manager در منوی Start پیدا می شود. توجه کنید با فعال شدن Hyper-V، خود ویندوز میزبان هم روی هایپروایزر اجرا می شود و بعضی نرم افزارهای مجازی سازی دیگر (مثل VirtualBox قدیمی یا VMware Workstation قدیمی) ممکن است با آن تداخل کنند.
ساخت Virtual Switch
ماشین مجازی بدون سوئیچ مجازی به شبکه وصل نیست. سه نوع سوئیچ وجود دارد:
| نوع | کاربرد |
|---|---|
| External | ماشین ها از طریق کارت شبکه فیزیکی به شبکه واقعی وصل می شوند |
| Internal | ارتباط بین ماشین ها و خود میزبان، بدون شبکه بیرونی |
| Private | ارتباط فقط بین ماشین ها |
برای بیشتر سرورها یک سوئیچ External لازم است:
Get-NetAdapter
New-VMSwitch -Name "LAN" -NetAdapterName "Ethernet" -AllowManagementOS $true
نام کارت را با دستور اول ببینید. گزینه AllowManagementOS اجازه می دهد خود میزبان هم از همان کارت استفاده کند. اگر شبکه با VLAN تقسیم شده، روی هر ماشین شماره VLAN تنظیم می شود (VLAN چیست). در سرور تولیدی بهتر است چند کارت شبکه داشته باشید: یکی برای مدیریت میزبان، یکی یا دو تا برای ماشین ها و در صورت نیاز یکی برای ذخیره ساز و Live Migration.
ساخت اولین ماشین مجازی
با Hyper-V Manager و منوی New و Virtual Machine مراحل ویزارد را بروید، یا با PowerShell:
New-VM -Name "web1" -Generation 2 -MemoryStartupBytes 4GB -NewVHDPath "D:\VMs\web1\web1.vhdx" -NewVHDSizeBytes 80GB -SwitchName "LAN"
Set-VMProcessor -VMName "web1" -Count 2
Add-VMDvdDrive -VMName "web1" -Path "D:\ISO\ubuntu-24.04-live-server-amd64.iso"
Set-VMFirmware -VMName "web1" -EnableSecureBoot On -SecureBootTemplate "MicrosoftUEFICertificateAuthority"
Start-VM -Name "web1"
برای ماشین لینوکسی با Secure Boot، قالب «MicrosoftUEFICertificateAuthority» لازم است و گرنه بوت نمی شود. برای ویندوز نیازی به این تغییر نیست. بعد از Start-VM از Hyper-V Manager روی ماشین دوبار کلیک کنید و نصب سیستم عامل را ادامه دهید (آموزش نصب Ubuntu Server).
Generation 1 یا 2
| موضوع | Generation 1 | Generation 2 |
|---|---|---|
| سیستم عامل مهمان | ویندوز و لینوکس قدیمی، 32 بیتی | 64 بیتی جدید که UEFI را پشتیبانی می کند |
| BIOS | BIOS قدیمی | UEFI و Secure Boot |
| بوت و دیسک | IDE برای بوت | SCSI، بوت سریع تر |
| توصیه | فقط برای سیستم عامل قدیمی که Gen 2 را نمی فهمد | پیش فرض برای ماشین های جدید |
نسل ماشین بعد از ساخت قابل تبدیل ساده نیست، پس از ابتدا Generation 2 را انتخاب کنید مگر دلیل مشخصی داشته باشید.
حافظه، پردازنده و دیسک
- Dynamic Memory اجازه می دهد رم ماشین بر اساس نیاز بین یک حداقل و حداکثر تغییر کند. برای ماشین های عمومی صرفه جویی می کند ولی برای دیتابیس هایی که رم را به شکل دیگری مدیریت می کنند (مثل SQL Server با تنظیم حافظه ثابت) معمولاً حافظه ثابت بهتر است.
- تعداد vCPU را بیش از نیاز نگذارید. تعداد زیاد هسته مجازی روی ماشین های کم کار زمان بندی هایپروایزر را سنگین می کند.
- دیسک VHDX از نوع Dynamically expanding فضا را تدریجی مصرف می کند و Fixed عملکرد قابل پیش بینی تر دارد. برای محیط تولیدی با دیتابیس، Fixed یا حداقل مطمئن شوید فضای کافی روی دیسک میزبان هست، چون پر شدن دیسک میزبان ماشین ها را متوقف می کند.
Integration Services و چک پوینت
در ویندوز مدرن و بیشتر توزیع های لینوکس، ابزارهای مهمان (Integration Services) داخل سیستم عامل است و کارهایی مثل همگام سازی ساعت، خاموش کردن مرتب ماشین هنگام خاموشی میزبان و heartbeat را انجام می دهد. برای دامین کنترلر، همگام سازی زمان با میزبان را غیرفعال کنید و منبع زمان دامین را درست تنظیم کنید (NTP چیست).
چک پوینت (Checkpoint) عکس لحظه ای از وضعیت ماشین است و برای برگشت سریع قبل از یک تغییر مفید است. اما بکاپ نیست، و ماشین های دارای دیتابیس یا اکتیو دایرکتوری را با چک پوینت قدیمی برنگردانید، چون ممکن است داده یا replication خراب شود. چک پوینت های قدیمی را حذف کنید، چون فایل های تفاضلی بزرگ می شوند و عملکرد را کم می کنند. در محیط تولیدی، نوع «Production checkpoint» که با VSS هماهنگ است ترجیح دارد.
بکاپ و دسترسی بالا
- بکاپ ماشین ها را با ابزار سازگار با Hyper-V مثل Veeam بگیرید (بکاپ گیری با Veeam). کپی ساده فایل VHDX وقتی ماشین روشن است، بکاپ قابل اعتماد نیست.
- Hyper-V Replica ماشین ها را به صورت دوره ای روی میزبان دیگر کپی می کند تا هنگام خرابی بتوان آن را روشن کرد (Disaster Recovery چیست).
- جابجایی ماشین روشن (Live Migration) بین میزبان ها بدون کلاستر هم ممکن است، ولی راه اندازی خودکار ماشین روی میزبان سالم هنگام خرابی به Failover Cluster با ذخیره ساز مشترک نیاز دارد (فرق NAS و SAN).
- از خود میزبان هم بکاپ پیکربندی بگیرید و رمز BIOS و مدیریت را مستند کنید.
امنیت و نگه داری میزبان
- میزبان Hyper-V را فقط برای همین کار استفاده کنید و برنامه های دیگر روی آن نصب نکنید.
- مدیریت میزبان را فقط از شبکه مدیریت و حساب های جدا انجام دهید. اگر میزبان در اکتیو دایرکتوری است، حساب مدیر Hyper-V را از Domain Admin جدا کنید.
- میزبان را مرتب به روز کنید و ماشین ها را قبل از ریبوت خاموش یا منتقل کنید.
- وضعیت دیسک، دما و RAID میزبان را در مانیتورینگ بگذارید (iLO چیست برای مدیریت از راه دور سخت افزار).
اگر هاست های VMware هم دارید یا قصد مقایسه مدیریت مرکزی دارید، نصب vCenter Server Appliance معادل آن برای VMware است.
برای مقایسه با پلتفرم متن باز، نصب Proxmox را ببینید.
منابع و مستندات رسمی
- مستندات مایکروسافت درباره نصب نقش Hyper-V
- مرور کلی Hyper-V در مستندات مایکروسافت
- برنامه ریزی شبکه Hyper-V در مستندات مایکروسافت
طراحی زیرساخت مجازی با Hyper-V یا VMware، مهاجرت سرورهای فیزیکی به مجازی و نگه داری آن در مجازی سازی سرور با VMware و Proxmox انجام می شود. اگر قصد دارید اکتیو دایرکتوری را هم روی آن بسازید، اکتیو دایرکتوری و ویندوز سرور را ببینید.



