مجازی سازی با Hyper-V در سازمان

خلاصه موضوع: مجازی سازی با 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 1Generation 2
فریمورBIOS قدیمیUEFI با پشتیبانی Secure Boot
Secure Bootنداردبه‌صورت پیش‌فرض فعال است
حداکثر ولوم بوت۲ ترابایت روی VHDX و ۲۰۴۰ گیگابایت روی VHD۶۴ ترابایت روی VHDX
بوت از دیسککنترلر IDEکنترلر SCSI مجازی با امکان تغییر اندازه در حال کار
بوت شبکهPXE فقط با کارت شبکه LegacyPXE با کارت شبکه استاندارد و پشتیبانی 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-VProxmox VEVMware 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 و ذخیره‌سازی مشترک نیاز دارید. این تصمیم را در همان مرحله خرید سخت‌افزار بگیرید نه بعد از استقرار.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *