ساخت ماشین مجازی برای نصب ویندوز در Proxmox VE
یکی از رایجترین نیازها در محیطهای مجازیسازی، ساخت یک ماشین مجازی (VM) بهینه برای نصب ویندوز سرور روی پلتفرم متنباز Proxmox VE است. تنظیم نادرست بخشهای System، Disk، CPU، Memory و Network میتواند باعث افت شدید کارایی، مصرف بیش از حد منابع، و حتی کاهش طول عمر دیسکهای SSD شود.
در این مقاله، بهصورت کامل و عملی مراحل ساخت یک ماشین مجازی حرفهای برای نصب ویندوز روی Proxmox VE 9 را بررسی میکنیم؛ با تمرکز ویژه بر پیکربندی درست کنترلر دیسک برای هاردهای SSD.
فهرست مطالب
تب System: پایه و اساس ماشین مجازی
تنظیمات تب System نوع شبیهسازی سختافزار مادربرد و فریمور VM را مشخص میکند. برای یک ماشین مجازی مدرن و سازگار با ویندوز سرور، موارد زیر پیشنهاد میشود:
- Machine: گزینه q35 را انتخاب کنید (شبیهسازی جدیدتر PCIe و سازگاری بهتر با VirtIO نسبت به i440fx قدیمی).
- BIOS: گزینه OVMF (UEFI) را انتخاب کنید تا نصب ویندوز سرور پایدارتر و سریعتر انجام شود.
- Add EFI Disk: هنگام انتخاب OVMF، این گزینه باید فعال بماند تا متغیرهای UEFI بهطور جداگانه ذخیره شوند.
- Add TPM (نسخه v2.0): برای سازگاری کامل با ویژگیهای امنیتی ویندوز سرور مدرن مانند Secure Boot و BitLocker فعال شود.
- SCSI Controller: از همین تب، گزینه VirtIO SCSI single انتخاب شود تا در تب Disks بهعنوان کنترلر پیشفرض اعمال گردد.
- QEMU Guest Agent: تیک این گزینه فعال شود تا پس از نصب Guest Agent در ویندوز، Proxmox بتواند آدرس IP و وضعیت خاموشی VM را بهدرستی تشخیص دهد.
تب Disks: پیکربندی درست کنترلر برای SSD
مهمترین بخش برای کارایی و طول عمر دیسکهای SSD، انتخاب صحیح کنترلر و فعالسازی گزینههای مرتبط در تب Disks است.


چرا گزینه Discard اهمیت دارد؟
دیسکهای SSD برخلاف هارددیسکهای مکانیکی، پیش از نوشتن داده روی یک بلاک قبلاً استفادهشده، باید ابتدا آن بلاک را کامل پاک (erase) کنند. دستور TRIM به SSD اطلاع میدهد که کدام بلاکها دیگر داده معتبری ندارند و میتوانند از پیش پاک شوند.
بدون فعال بودن Discard در سطح ماشین مجازی، این اطلاعرسانی هرگز از داخل ویندوز به دیسک فیزیکی نمیرسد؛ نتیجه آن افت تدریجی سرعت نوشتن و پر ماندن ظاهری فضای Storage حتی پس از پاک شدن فایلها از داخل VM خواهد بود.
توجه داشته باشید که Storage زیرین در Proxmox (مانند LVM-thin، ZFS یا Ceph) نیز باید از TRIM پشتیبانی کند تا این زنجیره کامل شود.
تب CPU: انتخاب نوع پردازنده و تعداد هسته
در تب CPU سه پارامتر کلیدی وجود دارد که مستقیماً روی کارایی و قابلیت جابجایی VM بین سرورها اثر میگذارد:
- Sockets: همیشه روی ۱ باقی بماند و تمام هستهها در فیلد Cores وارد شوند.
- Type: گزینه host انتخاب شود تا کل مجموعه دستورات پردازنده فیزیکی سرور (مانند AES-NI و AVX) در اختیار VM قرار گیرد.
- Cores: بسته به بار کاری VM تنظیم شود؛ برای بارهای سبک ۴ هسته و برای بارهای سنگینتر ۶ تا ۱۲ هسته پیشنهاد میشود.
- CPU Units: در Proxmox VE 9 (مبتنی بر cgroup v2) مقدار پیشفرض ۱۰۰ است. این عدد تنها وزن نسبی VM در رقابت بر سر CPU را مشخص میکند و افزایش آن برای VM های حساستر باعث اولویت بالاتر میشود.
نکته مهم: انتخاب CPU Type هنگام برنامهریزی برای مهاجرت سرور
اگر برنامهای برای ارتقای سختافزار (مثلاً جایگزینی سرور با نسل جدیدتری از پردازنده) وجود دارد، باید توجه داشت که گزینه host مجموعه دستورات پردازنده فعلی را در VM ثبت میکند.
این موضوع مانع Live Migration بدون توقف بین دو نسل متفاوت پردازنده میشود، اما هیچ مشکلی برای Cold Migration (خاموش کردن، انتقال، و روشنسازی مجدد روی سرور جدید) ایجاد نمیکند.
برای سرویسهایی که نیازی به جابجایی زنده و بدون قطعی ندارند (مانند سرورهای بکاپ یا زیرساخت داخلی)، حفظ گزینه host و انجام مهاجرت بهصورت آفلاین، انتخاب منطقیتری نسبت به کاهش کارایی با CPU Type های عمومیتر است.
تب Memory: تخصیص حافظه پایدار
برای اکثر سرویسهای ویندوزی حساس، توصیه میشود بهجای تخصیص پویا، مقدار حافظه ثابت در نظر گرفته شود:
- Memory: مقداری ثابت متناسب با نوع سرویس (برای سرورهای عمومی معمولاً ۸ تا ۱۶ گیگابایت کافی است).
- Ballooning Device: برای سرویسهای حیاتی که نیاز به حافظه پایدار و قابل پیشبینی دارند، غیرفعال شود تا Proxmox در شرایط فشار منابع، حافظه VM را کاهش ندهد.
تب Network: شبکه با کارایی بالا
برای بیشترین کارایی شبکه و کمترین مصرف CPU، تنظیمات زیر پیشنهاد میشود:
- Model: گزینه VirtIO (paravirtualized) انتخاب شود؛ این مدل نسبت به مدلهای شبیهسازیشده قدیمی مانند E1000، مصرف CPU کمتر و توان عملیاتی بالاتری دارد.
- Multiqueue: برای VM هایی با ترافیک شبکه بالا، این مقدار برابر با تعداد هستههای اختصاصیافته به VM تنظیم شود تا پردازش پکتها بین چند هسته توزیع گردد.
- Firewall: بسته به معماری امنیتی شبکه، در صورت نیاز فعال شود.
- IP: ترجیحاً بهصورت Static (ثابت) تنظیم شود، بهخصوص برای سرورهایی که نقش زیرساختی دارند.
مراحل نصب ویندوز با درایورهای VirtIO
پس از پیکربندی کامل ماشین مجازی، نوبت به نصب ویندوز میرسد. از آنجا که کنترلر دیسک از نوع VirtIO SCSI است، ویندوز بهصورت پیشفرض هیچ دیسکی را در مرحله نصب نمایش نمیدهد و لازم است درایورهای مربوطه بهصورت دستی بارگذاری شوند.
- ابتدا فایل ISO رسمی درایورهای VirtIO (پروژه Fedora VirtIO Drivers) دانلود و بهعنوان یک CD/DVD دوم به ماشین مجازی اضافه شود.
- در مرحله انتخاب دیسک نصب ویندوز، از گزینه Load Driver استفاده شده و مسیر پوشه vioscsi مربوط به نسخه ویندوز سرور مورد نظر (مانند ۲k22 یا ۲k25) از روی ISO درایورها انتخاب شود.
- پس از بارگذاری درایور، دیسک یا دیسکهای SCSI نمایش داده شده و نصب ویندوز بهصورت عادی ادامه مییابد.
نصب درایورهای تکمیلی پس از نصب ویندوز

(proxmox)
سادهترین روش، اجرای فایل virtio-win-guest-tools.exe از داخل همان ISO است که تمام درایورهای بالا را بهصورت یکجا نصب میکند.
جمعبندی
ساخت یک ماشین مجازی بهینه برای نصب ویندوز در Proxmox VE نیازمند توجه همزمان به چند لایه است: انتخاب صحیح فریمور (UEFI) و کنترلر دیسک در تب System، فعالسازی گزینههای Discard و SSD Emulation در تب Disks برای بهرهگیری کامل از سرعت SSD، انتخاب هوشمندانه نوع پردازنده با در نظر گرفتن برنامههای آینده مهاجرت سرور، تخصیص پایدار حافظه، و در نهایت استفاده از کارت شبکه VirtIO برای بالاترین کارایی ممکن.
رعایت این نکات، بهویژه فعالسازی Discard و SSD Emulation روی دیسکهای SSD، تفاوت محسوسی در کارایی بلندمدت و طول عمر زیرساخت ذخیرهسازی ایجاد خواهد کرد.
برای دریافت مشاوره تخصصی، از طریق صفحه ارتباط با ما با کارشناسان مجموعه در تماس باشید.




