مجازی سازی ESXi روی Proxmox
کاوش در دنیای مجازی سازی با رویکردی نوآورانه در دنیای پرشتاب فناوری اطلاعات، مجازی سازی به یکی از ارکان اصلی زیرساختهای سرور تبدیل شده است. پلتفرمهایی مانند VMware ESXi، هستهی اصلی بسیاری از مراکز دادهی بزرگ و کوچک در سراسر جهان را تشکیل میدهند. این ابزارها به مدیران سیستم و متخصصان DevOps این امکان را […]
خلاصه تخصصی مقاله
کاوش در دنیای مجازی سازی با رویکردی نوآورانه در دنیای پرشتاب فناوری اطلاعات، مجازی سازی به یکی از ارکان اصلی زیرساختهای سرور تبدیل شده است. پلتفرمهایی مانند VMware ESXi، هستهی اصلی بسیاری از مراکز دادهی بزرگ و کوچک در سراسر جهان را تشکیل میدهند. این ابزارها به مدیران سیستم و متخصصان DevOps این امکان را […]
موضوعات اصلی: مجازی سازی، مجازی، ESXi، Proxmox، سازی، کنید
کاوش در دنیای مجازی سازی با رویکردی نوآورانه
در دنیای پرشتاب فناوری اطلاعات، مجازی سازی به یکی از ارکان اصلی زیرساختهایسرورتبدیل شده است. پلتفرمهایی مانندVMware ESXiهستهی اصلی بسیاری از مراکز دادهی بزرگ و کوچک در سراسر جهان را تشکیل میدهند. این ابزارها به مدیران سیستم و متخصصان DevOps این امکان را میدهند تا منابع سختافزاری را بهینه کرده و انعطافپذیری عملیاتی را افزایش دهند. با این حال، ورود به دنیای ESXi برای علاقهمندان به هوم لب همیشه بیدردسر نبوده است. در گذشته، نسخهی رایگان ESXi به راحتی در دسترس بود، اما تغییرات اخیر در سیاست هایBroadcom(شرکت مادر Vmware) دسترسی به آن را دشوارتر کرد، هرچند که خوشبختانه این نسخه اخیراً دوباره در دسترس قرار گرفته است.
چالش اصلی برای بسیاری از ما، عدم سازگاری سختافزاری ESXi با قطعات مصرفکننده است. این پلتفرم که برای محیطهای سازمانی طراحی شده، اغلب با کارتهای شبکه و کنترلکنندههای ذخیرهسازی رایج در کامپیوترهای خانگی یا سرورهای کوچک سازگار نیست. این موضوع میتواند به تجربهای ناامیدکننده و پرهزینه منجر شود، زیرا تهیهی سختافزار سازگار ممکن است بودجهی زیادی را طلب کند.
در این میان، مفهوم Nested Virtualization یامجازی سازیتو در تو ( البته اگر از ترجمه استفاده نکنیم بهتره ) به عنوان یک راهحل خلاقانه و کارآمد مطرح میشود. این فناوری به شما امکان میدهد تا یک ماشین مجازی (VM) را درون ماشین مجازی دیگری اجرا کنید؛ شبیه به مفهوم “Inception” اما در دنیای مجازی سازی! این مقاله به شما نشان میدهد که چگونه میتوانید ESXi را به سادگی و کارایی بالا درون Proxmox VE مجازی سازی کنید. با این رویکرد، نه تنها بر محدودیتهای سختافزاری غلبه خواهید کرد، بلکه یک محیط ایدهآل برای یادگیری، آزمایش و توسعهی مهارتهای خود در زمینهی ESXi فراهم خواهید آورد. هدف ما ارائه یک راهنمای جامع است تا شما نیز بتوانید تجربهی موفقیتآمیز مجازی سازی ESXi روی Proxmox را تکرار کنید.
کابوس ناسازگاری سختافزار : چراESXiدر دستگاههای مصرفکننده مشکلساز است؟
شاید بزرگترین مانع برای راهاندازی ESXi در یک محیط هوم لب، ناسازگاری آزاردهندهی آن با سختافزارهای مصرفکننده باشد. این مشکل عمدتاً در مورد کارت های شبکه نمود پیدا میکند. بسیاری از ما، پس از دانلود و آمادهسازی ایمیج نصب ESXi، با این حقیقت تلخ مواجه میشویم که نصبکننده، هیچ کارت شبکهای را شناسایی نمیکند.
شخصاً، این مشکل را بارها تجربه کردهام. هنگام تلاش برای نصب ESXi روی مادربرد ASRock B550 Phantom Gaming، هنگام نصب با خطای “No Network Adapters” متوقف شد. حتی استفاده از کارت شبکه ۱۰ گیگابایتی TX401 و آداپتور USB به اترنت TP-Link نیز بیفایده بود. این مسئله فقط به کامپیوترهای خانگی محدود نمیشود؛ دستگاههای NAS من نیز همین مشکل را داشتند.
البته، تا حدی میتوان این ناسازگاری را درک کرد؛ ESXi پلتفرمی سازمانی است و انتظار میرود در محیطهایی با سختافزار سرور و NICهای استاندارد صنعتی استفاده شود. حتی رقیب متنباز آن، Harvester، نیز حداقلهایی مانند CPU شانزده هستهای و ۳۲ گیگابایت رم را برای راهاندازی نیاز دارد. اما نکتهی شگفتانگیز این بود که حتی کارت های شبکه اترنت Workspace با پردازندهی Xeon من نیز برای ESXi کافی نبودند.
در نهایت، تنها دستگاهی که در کل هوم لب من توانست ESXi را اجرا کند، یک ZimaBoard 2 بود؛ آن هم به دلیل کارت شبکه اترنت مبتنی بر. Intel اما حتی ZimaBoard 2 نیز محدودیتهای خاص خود را داشت. با ۸ گیگابایت رم و پردازندهی N150، این برد به سختی میتوانست چند ماشین مجازی را همزمان اجرا کند. واضح بود که برای یک محیط آزمایشگاهی جدیتر، به قدرت پردازشی و رم بیشتری نیاز داشتم.
در چنین شرایطی، صرف هزینه برای خرید یک NIC اختصاصی سازگار با ESXi، آن هم صرفاً برای آزمایش در محیط هوم لب، واقعاً منطقی به نظر نمیرسید. اینجاست که راهکار Nested Virtualization به نجات میآید، راهکاری که نه تنها هزینهها را کاهش میدهد، بلکه انعطافپذیری بینظیری را به ارمغان میآورد. مجازی سازی ESXi روی Proxmox فقط برای تست و ازمایش.
مجازی سازیESXiرویProxmoxسادگی و کارایی غیرمنتظره
وقتی پای آزمایش و یادگیری پلتفرمهای مجازی سازی به میان میآید، ZimaBoard 2 با وجود قیمت مناسب ۱۷۹ دلاریاش، به سرعت به محدودیتهای خود برخورد میکند. برای اجرای چند ماشین مجازی به صورت همزمان، به چیزی با قدرت بیشتری نیاز بود. اینجاست که سرور Xeon ۲۴ هستهای و ۴۸ رشتهای من وارد بازی شد. اما چگونه میتوان از این قدرت برای اجرای ESXi بدون دردسرهای سازگاری سختافزاری بهره برد؟ پاسخ درNested Virtualizationنهفته است.
Nested Virtualization به شما این امکان را میدهد که ماشینهای مجازی را درون ماشینهای مجازی دیگر اجرا کنید؛ دقیقا مانند فیلم “Inception” برای محیطهای هوم لب. از آنجا که Proxmox VE به طور کامل از این قابلیت پشتیبانی میکند، تصمیم گرفتم این پلتفرم را به عنوان میزبان اصلی برای ESXi انتخاب کنم.
پیشنیازها و تنظیمات اولیه درProxmox
برای شروع، باید یک ماشین مجازی جدید در Proxmox برای ESXi ایجاد کنید. در طول فرآیند ایجاد VM، چند تغییر مهم لازم است
- تخصیص منابعCPUوRAMبرای شروع، ۸ هسته مجازی (v-core) و ۸ گیگابایت حافظه رم را به ماشین مجازی ESXi اختصاص دهید. این مقدار برای شروع کار و نصب ESXi کافی است.
- تغییر رابط ذخیرهسازیرابط ذخیرهسازی را از پیشفرض SCSI بهSATAتغییر دهید. این تغییر به بهبود سازگاری کمک میکند.
- انتخاب آداپتور شبکهآداپتور شبکه را از VirtIO بهVMware vmxnet3تغییر دهید. این آداپتور به طور خاص برای محیطهای VMware طراحی شده و بهترین سازگاری را فراهم میکند.
- تخصیص درایوهای جداگانهاگر قصد دارید فایلهای بوت ESXi و دادههای ماشینهای مجازی را روی درایوهای جداگانه نگهداری کنید، یک درایو مجازی دوم نیز به ESXi اختصاص دهید.
فعالسازیNested Virtualization
قبل از راهاندازی ماشین مجازی ESXi، باید Nested Virtualization را برای آن فعال کنید. این کار با اجرای یک دستور ساده در تب Shell مربوط به سرور Proxmox نه داخل VM انجام میشود.
اعطای مجوزNested VirtualizationبهVM
در تب Shell Proxmox، دستور زیر را اجرا کنید (فرض بر این است که ID ماشین مجازی شما 104 است)
qm set 104 –cpu host
این دستور به ماشین مجازی با ID 104 اجازه میدهد تا از قابلیتهای CPU میزبان برای مجازی سازی استفاده کند.
فعالسازی ماژولKVMبرایNested Virtualization
اگر قبلاً Nested Virtualization را در Proxmox فعال نکردهاید، باید ماژول KVM را برای آن تنظیم کنید. این کار با توجه به نوع CPU شما متفاوت است
برای پردازندههای Intel
echo “options kvm-intel nested=Y” > /etc/modprobe.d/kvm-intel.conf
برای پردازندههای AMD
echo “options kvm-amd nested=1” > /etc/modprobe.d/kvm-amd.conf
پس از اجرای دستور مربوط به CPU خود، باید Proxmox را ریبوت کنید تا تغییرات اعمال شوند.
فرآیند نصبESXiدر ماشین مجازی خداحافظی با خطای“No Network Adapters”
پس از انجام این تنظیمات و راهاندازی ماشین مجازی ESXi، متوجه خواهید شد که فرآیند نصب به طور شگفتانگیزی روان است. خطای “No Network Adapters” که در سختافزار فیزیکی یک کابوس بود، دیگر ظاهر نمیشود. این یک نقطهی عطف طنزآمیز است: ESXi روی همان ماشینی که قبلاً در تشخیص درایورهای اترنت آن شکست خورده بود، اکنون به صورت مجازی با موفقیت نصب میشود. دیسکهای مجازی نیز بلافاصله توسط نصبکننده شناسایی میشوند و میتوانید با خیال راحت مراحل نصب را ادامه دهید.
این سادگی و کارایی، نشاندهندهی قدرت بینظیر Nested Virtualization و انعطافپذیری Proxmox است. با این رویکرد، میتوانید بدون نگرانی از ناسازگاریهای سختافزاری، به دنیای ESXi قدم بگذارید.
عملکرد فراتر از انتظار : قدرتNested Virtualizationدر عمل
پس از اتمام فرآیند نصب ESXi در ماشین مجازی، زمان آن میرسد که شاهد عملکرد آن باشید. با ریبوت کردن VM و تنظیم درایو بوت به بالاترین اولویت، ماشین مجازی شما با موفقیت راهاندازی شده و آدرس IP سرور ESXi را نمایش میدهد. با وارد کردن این آدرس IP در مرورگر، میتوانید به رابط کاربری وب ESXi دسترسی پیدا کنید.
پس از ورود با نام کاربری root و رمز عبوری که در هنگام نصب تنظیم کردهاید، اولین کاری که باید انجام دهید، مقداردهی اولیه درایو مجازی دوم به عنوان “Datacenter” است. این درایو، محل ذخیرهسازی ماشینهای مجازی و فایل های ISO شما خواهد بود. پس از آماده سازی Datacenter، میتوانید فایلهای ISO سیستمعاملهای مورد نظر خود را در آن آپلود کنید.
ایجاد و اجرای ماشینهای مجازی درESXiمجازی سازی شده
اکنون، هیجانانگیزترین بخش کار آغاز میشود: ایجاد یک ماشین مجازی جدید در ESXi مجازی سازی شده. برای مثال، میتوانید با استفاده از wizard “New Virtual Machine” در ESXi، یک VM لینوکس Debian ایجاد کنید. منابع را به صورت زیر اختصاص دهید
- هستههایCPU۴ هسته مجازی
- حافظهRAM۴ گیگابایت
پس از این، فایل ISO دبیان را به عنوان درایو CD/DVD مجازی ماشین مجازی جدید خود مونت کنید و آن را بوت کنید. به لطف قدرت Nested Virtualization، ماشین مجازی دبیان به طور شگفتانگیزی روان و بدون هیچ مشکلی کار میکند. این واقعاً فراتر از انتظار است؛ شما در حال اجرای یک سیستم عامل درون یک VM هستید که خود درون یک VM دیگر اجرا میشود!
تخصیص منابع بیشتر و اجرای همزمان چندVM
پس از تأیید عملکرد پایه، میتوانید با افزایش منابع اختصاص داده شده به ماشین مجازی ESXi، آن را برای سناریوهای پیچیدهتر آماده کنید. من شخصاً منابع را به ۳۲ هسته مجازی (v-core) و ۳۲ گیگابایت حافظه رم افزایش دادم. با این کار، میتوانستم چندین ماشین مجازی را به صورت همزمان در ESXi اجرا کنم.
تنها نکتهی قابل توجه، محدودیت ESXi در تخصیص ۸ هسته به هر VM است. به جز این مورد، تجربهی کلی با هوم لب مجازی سازی شده ESXi هیچگونه ایرادی ندارد. عملکرد بسیار خوب است و تقریباً هیچ تأخیر یا افت محسوسی به دلیل لایهی Nested Virtualization مشاهده نمیشود. این محیط، بستر ایدهآلی را برای آزمایش سناریوهای مختلف، یادگیری عمیق ESXi و توسعهی مهارتهای مدیریتی فراهم میکند، آن هم بدون نیاز به صرف هزینههای گزاف برای سختافزار خاص.
نتیجه گیری: آیا مجازی سازیESXiرویProxmoxراه حل نهایی است؟
اگرچه شخصاً هرگز ESXi را به عنوان سیستم عامل اصلی هوم لب خود انتخاب نمیکنم ( Proxmox به دلیل انعطافپذیری و ماهیت متنباز خود برای بسیاری از علاقهمندان به هوم لب جایگاه ویژهای دارد)، اما ارزش ESXi در بازار سازمانی غیرقابل انکار است. بخش قابل توجهی از مراکز داده در سراسر جهان به راهکارهای VMware متکی هستند. این امر، ESXi را به یک پلتفرم مجازی سازی حیاتی برای هر متخصص DevOps و مدیر سیستم، از جمله خود من، تبدیل میکند.
مسئلهی اصلی، همانطور که اشاره شد، سازگاری سختافزاری است. مگر اینکه شما به طور خاص یک دستگاه با پشتیبانی بومی از ESXi در اختیار داشته باشید، راهاندازی آن درون یک پلتفرم که از Nested Virtualization پشتیبانی میکند مانند Proxmox، بهترین راه برای استفاده از آن بدون هدر دادن ساعتها برای حل مشکلات ناسازگاری سختافزاری است. این رویکرد نه تنها زمان و هزینه را ذخیره میکند، بلکه یک محیط آزمایشگاهی منعطف و قدرتمند را برای شما فراهم میآورد.
Proxmox به درستی جایگزین ESXi برای بسیاری از کاربران هوم لب شده است. برای بررسی کامل تفاوتهای این دو پلتفرم، پیشنهاد میکنیممقایسه ESXi با Proxmox در سال ۲۰۲۵را نیز مطالعه کنید. ترکیب قدرت Proxmox با قابلیت اجرای ESXi به صورت مجازی، یک راهحل ایدهآل را برای یادگیری، آزمایش و توسعه مهارتها در هر دو پلتفرم ارائه میدهد. این راهکار، به شما امکان میدهد تا بدون محدودیتهای سختافزاری، به دنیای مجازی سازی عمیقتر قدم بگذارید و آمادهی چالشهای دنیای واقعی شوید.
پرسش و پاسخ مجازی سازی ESXi روی Proxmox (FAQ)
آیا این روش برای محیط هایProductionمناسب است؟خیر، مجازی سازی ESXi روی Proxmox عمدتاً برای محیط های یادگیری، آزمایش و توسعه (Dev/Test) توصیه میشود. برای محیط های Production، بهتر است ESXi را مستقیماً روی سختافزار سازگار نصب کنید تا از حداکثر کارایی و پایداری بهرهمند شوید.
آیا میتوانم ازGPU PassthroughدرESXiمجازی سازی شده استفاده کنم؟پشتیبانی از GPU Passthrough در محیطهای Nested Virtualization پیچیدهتر است و به عوامل متعددی از جمله سختافزار میزبان و نسخههای نرمافزاری بستگی دارد. در اکثر موارد، این قابلیت در محیطهای تو در تو به خوبی کار نمیکند و برای آن، بهتر است ESXi را مستقیماً روی سختافزار فیزیکی با کارت گرافیک مناسب نصب کنید.
نکات مربوط به عیبیابی مشکلات احتمالی چیست؟
- بررسی لاگهایProxmoxدر صورت بروز مشکل، لاگهای Proxmox را بررسی کنید ( journalctl -xe یا لاگهای مربوط به QEMU/KVM)
- بهروزرسانیProxmoxاطمینان حاصل کنید که Proxmox شما به آخرین نسخه بهروز است تا از جدیدترین بهبودها و رفع باگها بهرهمند شوید.
- منابع کافیمطمئن شوید که منابع کافی ( CPU و RAM) را به VMهای ESXi و VMهای داخل ESXi اختصاص دادهاید. کمبود منابع میتواند منجر به کندی یا ناپایداری شود.
- تنظیماتBIOS/UEFIاطمینان حاصل کنید که مجازی سازی ( Intel VT-x یا AMD-V ) در BIOS/UEFI سرور Proxmox شما فعال است.
برای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.