خلاصه موضوع: مجازی سازی با Hyper-V یعنی فعال کردن نقش Hyper-V روی ویندوز سرور و ساختن ماشینهای مجازی روی همان سختافزار. برای شروع به پردازنده ۶۴ بیتی با پشتیبانی SLAT، فعال بودن مجازیسازی سختافزاری و DEP در فریمور و حافظه کافی نیاز دارید. تصمیمهای مهم بعدی سه تاست: Generation ماشین مجازی، نوع سوئیچ مجازی و اینکه Checkpoint را با بکاپ اشتباه نگیرید.
اگر هنوز با مفاهیم پایه کار میکنید، مجازی سازی چیست و چگونه کار میکند تصویر کلی را میدهد و انواع مجازی ساز سرور جایگاه Hyper-V را میان بقیه نشان میدهد. مطالب زیر بر پایه مستندات Microsoft Learn برای Hyper-V روی ویندوز سرور نوشته شده است.
مجازی سازی با Hyper-V برای چه سازمانی مناسب است؟
Hyper-V یک نقش داخل ویندوز سرور است، نه یک محصول جداگانه که باید بخرید. اگر سازمان شما از قبل ویندوز سرور دارد، Active Directory و File Server و Print Server روی آن است و تیم فنی با Server Manager و PowerShell راحتتر است، Hyper-V کمترین فاصله را با دانش موجود دارد.
یک نکته که هنوز باعث سردرگمی است: محصول رایگان و مستقل Microsoft Hyper-V Server در نسخه ۲۰۱۹ متوقف شد و نسخه جدیدتری از آن منتشر نشده است. بر اساس جدول چرخه عمر مایکروسافت، پشتیبانی اصلی آن در ژانویه ۲۰۲۴ تمام شده و پشتیبانی توسعهیافته تا ژانویه ۲۰۲۹ ادامه دارد. آنچه متوقف شد فقط آن دانلود مستقل بود؛ خود Hyper-V بهصورت نقش در نسخههای Standard و Datacenter ویندوز سرور سر جایش است.
در مقابل، اگر بیشتر بار کاری شما لینوکس است، تیم با خط فرمان لینوکس راحتتر است یا محدودیت تأمین لایسنس برایتان تعیینکننده است، سراغ گزینههای دیگر بروید. مقایسه این مسیرها در بخش پایانی همین صفحه آمده است.
پیشنیازهای سختافزاری و تنظیمات فریمور
| پیشنیاز | توضیح |
|---|---|
| پردازنده ۶۴ بیتی با SLAT | برای نصب اجزای مجازیسازی الزامی است؛ ابزارهای مدیریتی بدون آن هم نصب میشوند |
| VM Monitor Mode extensions | باید در پردازنده موجود باشد |
| مجازیسازی سختافزاری | Intel VT یا AMD-V که باید در BIOS یا UEFI فعال شود |
| DEP سختافزاری | بیت XD در سیستمهای Intel و بیت NX در سیستمهای AMD، فعالشده در فریمور |
| حافظه | دستکم ۴ گیگابایت؛ مجموع نیاز میزبان و همه ماشینهای مجازی همزمان را حساب کنید |
برای بررسی وضعیت، خروجی systeminfo را ببینید. اگر همه موارد بخش Hyper-V Requirements مقدار Yes داشته باشند سختافزار آماده است. روی سروری که Hyper-V از قبل فعال است، همین بخش پیام A hypervisor has been detected را نشان میدهد که خودش تأیید فعال بودن است:
systeminfo.exeیک نکته که در آزمایشگاه به آن برمیخورید: نرمافزارهایی مثل VMware Workstation و VirtualBox از همان امکانات پردازنده استفاده میکنند. نصب آنها در کنار Hyper-V ممکن است، اما وقتی هایپروایزر Hyper-V در حال اجراست ماشینهای آن ابزارها ممکن است بالا نیایند یا ناپایدار کار کنند.
نصب نقش Hyper-V روی ویندوز سرور
نصب از مسیر Server Manager و Add Roles and Features انجام میشود یا با یک دستور PowerShell که باید در نشست Administrator اجرا شود:
# Install on the local server and restart automatically
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
# Install on a remote server
Install-WindowsFeature -Name Hyper-V -ComputerName HV01 -IncludeManagementTools -Restart
# Verify after the restart
Get-WindowsFeature Hyper-Vاگر ویندوز سرور را با گزینه Server Core نصب کردهاید، پارامتر IncludeManagementTools فقط ماژول PowerShell را نصب میکند و رابط گرافیکی Hyper-V Manager روی آن نمیآید. در این حالت مدیریت را از یک سیستم دیگر و بهصورت راهدور انجام دهید. در ویزارد گرافیکی هم صفحههای ساخت سوئیچ مجازی، مهاجرت ماشین مجازی و محل ذخیرهسازی پیشفرض را با دقت پر کنید، چون تغییر بعدی مسیر ذخیرهسازی کار اضافه میسازد.
Generation 1 یا Generation 2؟
این انتخاب هنگام ساخت ماشین مجازی انجام میشود و پس از آن قابل تغییر نیست. مایکروسافت Generation 2 را توصیه میکند مگر اینکه از یک دیسک مجازی آماده و ناسازگار با UEFI استفاده کنید، سیستمعامل مورد نظرتان در Generation 2 پشتیبانی نشود یا روش بوت مورد نظرتان در دسترس نباشد.
| موضوع | Generation 1 | Generation 2 |
|---|---|---|
| فریمور | BIOS قدیمی | UEFI با پشتیبانی Secure Boot |
| Secure Boot | ندارد | بهصورت پیشفرض فعال است |
| حداکثر ولوم بوت | ۲ ترابایت روی VHDX و ۲۰۴۰ گیگابایت روی VHD | ۶۴ ترابایت روی VHDX |
| بوت از دیسک | کنترلر IDE | کنترلر SCSI مجازی با امکان تغییر اندازه در حال کار |
| بوت شبکه | PXE فقط با کارت شبکه Legacy | PXE با کارت شبکه استاندارد و پشتیبانی IPv4 و IPv6 |
| ویندوز ۱۱ بهعنوان مهمان | پشتیبانی نمیشود | پشتیبانی میشود |
| ویندوز ۳۲ بیتی | پشتیبانی میشود | پشتیبانی نمیشود |
در سمت لینوکس، نسخههای امروزی RHEL و CentOS و Debian و Ubuntu و SUSE روی هر دو Generation کار میکنند. برای Secure Boot روی ماشین مجازی لینوکس باید هنگام ساخت، قالب UEFI CA را انتخاب کنید وگرنه ماشین بوت نمیشود.
نکتهای که در مهاجرتها دردسر میسازد: Generation یک ویژگی ماشین مجازی است نه ویژگی دیسک، و از روی فایل VHDX نمیتوان فهمید با کدام Generation ساخته شده. اگر دیسک بوت یک ماشین Generation 2 را به یک ماشین Generation 1 وصل کنید، ماشین بالا نمیآید.
سوئیچ مجازی: External، Internal و Private
ارتباط شبکه ماشینهای مجازی از سوئیچ مجازی میگذرد و سه نوع دارد. External ماشینها را از طریق یک کارت شبکه فیزیکی به شبکه بیرون وصل میکند، Internal ارتباط ماشینها با یکدیگر و با سیستمعامل میزبان را برقرار میکند و Private فقط ارتباط ماشینها با هم را میدهد.
# See the physical adapters first
Get-NetAdapter
# External switch: naming a physical adapter implicitly makes it external
New-VMSwitch -Name vSwitch-LAN -NetAdapterName "Ethernet 2"
# Internal or private switch
New-VMSwitch -Name vSwitch-Internal -SwitchType Internal
New-VMSwitch -Name vSwitch-Private -SwitchType Private
# Let the management OS share an external switch
Set-VMSwitch -Name vSwitch-LAN -AllowManagementOS $true
# Tag management traffic with a VLAN
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName vSwitch-LAN -Access -VlanId 20هنگام ساخت سوئیچ External روی کارتی که خودتان با آن به سرور وصل هستید، ارتباط لحظهای قطع میشود؛ هر دو ابزار گرافیکی و PowerShell درباره همین هشدار میدهند. اگر میتوانید، یک کارت شبکه جدا برای مدیریت میزبان نگه دارید و بار ماشینهای مجازی را روی کارت دیگری ببرید.
Checkpoint چیست و چرا جای بکاپ را نمیگیرد
دو نوع Checkpoint وجود دارد. نوع Production با استفاده از VSS در ویندوز و فریز سیستم فایل در لینوکس یک تصویر سازگار با داده میسازد و وضعیت حافظه ماشین را نگه نمیدارد. نوع Standard تصویری از ماشین به همراه وضعیت حافظه در همان لحظه میگیرد و برای محیط توسعه و آزمایش در نظر گرفته شده است.
مایکروسافت در مستندات خودش نوشته است که Checkpoint استاندارد یک بکاپ بهمعنای واقعی نیست و میتواند در سیستمهایی که داده را بین چند نود همگام میکنند، مانند Active Directory، ناسازگاری داده بسازد. نوع Production برای بارهای کاری عملیاتی ساخته شده و پیشفرض هم هست، ولی آن هم جای یک برنامه بکاپ با نگهداری و نسخه بیرون از سایت را نمیگیرد.
مشکل عملیاتی دوم، رشد فایلهای تفاضلی است. هر Checkpoint یک فایل AVHDX میسازد که تغییرات در آن نوشته میشود. Checkpointهای فراموششده روی یک ماشین پرترافیک فضای دیتاستور را پر میکنند و ماشین را متوقف میکنند. قاعده ساده: Checkpoint را فقط برای بازه کوتاه پیش از یک تغییر بگیرید و بعد از تأیید نتیجه حذفش کنید، و برنامه واقعی نگهداری داده را در قالب بکاپ و بازیابی بحران بچینید.
Hyper-V یا Proxmox یا ESXi؟
| موضوع | Hyper-V | Proxmox VE | VMware ESXi |
|---|---|---|---|
| پایه | نقش داخل ویندوز سرور | دبیان به همراه KVM و LXC | هایپروایزر اختصاصی |
| مدیریت | Hyper-V Manager، Windows Admin Center و PowerShell | رابط وب داخلی روی هر نود | کلاینت میزبان و vCenter برای مدیریت متمرکز |
| کلاستر و قابلیت دسترسی | با Failover Clustering ویندوز | کلاستر و HA و ذخیرهسازی توزیعشده بهصورت داخلی | با vCenter و امکانات تجاری آن |
| مدل تأمین | همراه لایسنس ویندوز سرور | متنباز با اشتراک اختیاری پشتیبانی | نسخه رایگان ESXi بدون امکان اتصال به vCenter |
| مناسب برای | محیط عمدتاً ویندوزی با Active Directory | محیط لینوکسی و تیمی که خط فرمان لینوکس میداند | محیطهایی که از قبل روی VMware ساخته شدهاند |
نکتهای که در تصمیمگیری وزن زیادی دارد: نسخه رایگان ESXi به vCenter وصل نمیشود، یعنی مدیریت متمرکز و جابهجایی زنده ماشینها را ندارد. برای یک میزبان تنها مشکلی نیست، اما برای چند میزبان معنای عملیاش این است که هر نود را جدا مدیریت میکنید.
در سمت Hyper-V، حق استفاده همراه لایسنس ویندوز سرور میآید و همین موضوع برای سازمانهای داخل ایران محدودیت اصلی است، چون تأمین لایسنس از کانالهای رسمی مایکروسافت انجام نمیشود. برای همین بسیاری از سازمانها به Proxmox رسیدهاند. اگر امروز روی VMware هستید و میخواهید مسیر و ریسکهای انتقال را ببینید، مهاجرت از VMware به Proxmox را بخوانید؛ برای پیکربندی هر کدام هم کانفیگ سرور Proxmox VE و کانفیگ VMware ESXi در دسترس است.
سوالات متداول
آیا میتوان دامنه کنترلر را روی Hyper-V مجازی کرد؟
بله و این کار رایج است، ولی دو قاعده را رعایت کنید: دستکم یک دامنه کنترلر دیگر خارج از همان میزبان داشته باشید و برای بازگرداندن آن از Checkpoint استفاده نکنید. ساختار و نقشهای این سرویس در Active Directory در ویندوز سرور توضیح داده شده است.
Dynamic Memory را برای همه ماشینها فعال کنم؟
خیر. برای ماشینهای سبک و متغیر مفید است، اما سرورهای دیتابیس معمولاً حافظه ثابت میخواهند و بعضی بار کاریها با حافظه متغیر رفتار غیرقابل پیشبینی نشان میدهند. تصمیم را بر اساس مستند خود آن نرمافزار بگیرید.
چطور بفهمم سختافزار فعلی Hyper-V را میپذیرد؟
دستور systeminfo را اجرا کنید و بخش Hyper-V Requirements را ببینید. اگر یکی از موارد مقدار No داشت، اول سراغ تنظیمات BIOS یا UEFI بروید، چون مجازیسازی سختافزاری و DEP در بسیاری از سرورها بهصورت پیشفرض خاموشاند.
برای مجازیسازی چند سرور، Hyper-V کافی است یا به کلاستر نیاز دارم؟
یک میزبان تنها یعنی یک نقطه خرابی؛ اگر آن سرور بخوابد همه ماشینهای مجازی میخوابند. اگر سرویسها باید در دسترس بمانند، به دو میزبان و Failover Clustering و ذخیرهسازی مشترک نیاز دارید. این تصمیم را در همان مرحله خرید سختافزار بگیرید نه بعد از استقرار.





