راهنمای عملی نصب و راه‌اندازی Virtualizor روی سرور اختصاصی: پیش‌نیاز سخت‌افزار، نصب، انتخاب KVM یا LXC، IP Pool، قالب سیستم‌عامل و اتصال به WHMCS.

نصب و راه‌اندازی Virtualizor روی سرور اختصاصی؛ راهنمای کامل

اگر می‌خواهید از یک سرور اختصاصی، سرویس VPS بفروشید، Virtualizor یکی از کوتاه‌ترین مسیرهاست. پنل مدیریت مجازی‌سازی است که KVM، LXC و چند تکنولوژی دیگر را زیر یک رابط وب جمع می‌کند، برای هر VPS پنل کاربری مستقل می‌سازد و یک API کامل دارد که WHMCS می‌تواند از طریق آن سفارش‌ها را خودکار تحویل بدهد. این مقاله مسیر واقعی راه‌اندازی را از سخت‌افزار تا اولین سفارش خودکار مرور می‌کند.

پیش‌نیازهای سخت‌افزاری و سیستم‌عامل

قبل از هر کاری باید مطمئن شوید سرور واقعاً توان مجازی‌سازی سخت‌افزاری دارد. بدون VT-x در پردازنده‌های Intel یا AMD-V در پردازنده‌های AMD، KVM اصلاً بالا نمی‌آید و مجبور می‌شوید به سراغ مجازی‌سازی کانتینری بروید.

egrep -c '(vmx|svm)' /proc/cpuinfo
lsmod | grep kvm

اگر خروجی دستور اول صفر بود، معمولاً مشکل از غیرفعال بودن گزینه در BIOS/UEFI است نه از خود پردازنده. در سرورهای اجاره‌ای باید از دیتاسنتر بخواهید Virtualization Technology را در BIOS فعال کند.

نکته دومی که خیلی‌ها دیر متوجه می‌شوند، چیدمان دیسک است. Virtualizor برای هر VPS یک فایل ایمیج یا یک Logical Volume می‌سازد. اگر کل فضای دیسک را موقع نصب سیستم‌عامل به پارتیشن ریشه بدهید، بعداً برای استفاده از LVM باید همه‌چیز را از نو نصب کنید.

  • پارتیشن ریشه: بین ۳۰ تا ۵۰ گیگابایت برای سیستم‌عامل و خود پنل کافی است
  • باقی فضا: بدون پارتیشن‌بندی رها شود تا Virtualizor روی آن یک Volume Group بسازد
  • swap: کوچک نگه دارید؛ مصرف حافظه را با تخصیص درست RAM مهمان‌ها کنترل کنید
  • RAID: اگر چند دیسک دارید، RAID سخت‌افزاری یا نرم‌افزاری را قبل از نصب پنل نهایی کنید

از نظر سیستم‌عامل، نسخه‌های خانواده انترپرایز لینوکس (AlmaLinux و Rocky Linux) و همچنین Ubuntu Server نسخه LTS پشتیبانی می‌شوند. نصب باید روی یک سیستم تازه و بدون پنل دیگر انجام شود؛ روی سروری که cPanel یا Docker دارد سراغ Virtualizor نروید.

آماده‌سازی شبکه پیش از نصب

مهم‌ترین چیزی که باید قبل از نصب بدانید این است که چه نوع IP‌ای از دیتاسنتر گرفته‌اید. دو حالت رایج وجود دارد.

حالت اول، بلاک IP روت‌شده است: دیتاسنتر یک ساب‌نت را به IP اصلی سرور شما روت می‌کند. این تمیزترین حالت است چون گیت‌وی همان IP اصلی سرور می‌شود و لازم نیست نگران ARP باشید. حالت دوم، IP‌های هم‌ساب‌نت با سرور اصلی است که در آن باید حالت bridge استفاده کنید و هر مهمان مستقیماً روی سوییچ دیتاسنتر دیده می‌شود.

قبل از نصب، نام اینترفیس اصلی و مسیر پیش‌فرض را یادداشت کنید، چون در مرحله نصب از شما پرسیده می‌شود:

ip -4 addr show
ip route show default

همچنین hostname سرور را روی یک FQDN معتبر تنظیم کنید. Virtualizor از hostname در لایسنس و در ایمیل‌های سیستمی استفاده می‌کند و hostname پیش‌فرض مثل localhost بعداً دردسر می‌سازد.

hostnamectl set-hostname node1.example.com

نصب Virtualizor روی سرور

نصب با یک اسکریپت رسمی انجام می‌شود که وابستگی‌ها را نصب می‌کند، KVM و ابزارهای مربوطه را بالا می‌آورد و در پایان سرور را ریبوت می‌کند. نصب با یک اسکریپت رسمی انجام می‌شود که وابستگی‌ها را نصب می‌کند، KVM و ابزارهای مربوطه را بالا می‌آورد و در پایان سرور را ریبوت می‌کند. ایمیل مدیر و نوع مجازی‌سازی را به عنوان پارامتر به اسکریپت می‌دهید و کلید لایسنس را بعد از نصب، در اولین ورود به پنل مدیریت وارد می‌کنید:

cd /root
wget -N http://files.virtualizor.com/install.sh
chmod 0755 install.sh
./install.sh email=admin@example.com kernel=kvm

مقدار kernel تعیین می‌کند کدام تکنولوژی مجازی‌سازی راه‌اندازی شود. برای LXC مقدار را روی lxc بگذارید و برای حالتی که می‌خواهید هر دو را روی یک نود داشته باشید، Virtualizor پس از نصب امکان فعال‌سازی همزمان را در تنظیمات نود می‌دهد.

نصب معمولاً چند دقیقه طول می‌کشد و در انتها آدرس پنل و پورت‌ها را چاپ می‌کند. پنل مدیریت روی پورت ۴۰۸۵ (و نسخه امن روی ۴۰۸۳) و پنل کاربران روی ۴۰۸۲ و ۴۰۸۱ بالا می‌آید. بعد از ریبوت با دستور زیر مطمئن شوید سرویس‌ها اجرا شده‌اند:

systemctl status virtualizor
virsh list --all

در همین مرحله به کلید لایسنس نیاز دارید؛ بدون آن پنل بالا می‌آید ولی امکان ساخت VPS ندارید. لایسنس Virtualizor را می‌توانید از پارس ابر تهیه کنید و روی IP سرور خودتان فعال شود؛ آپدیت‌ها مستقیم از سرورهای خود Virtualizor دریافت می‌شود.

KVM یا LXC؛ برای فروش تجاری کدام؟

این تصمیم روی همه چیز اثر می‌گذارد، از قیمت‌گذاری تا حجم تیکت‌های پشتیبانی. تفاوت بنیادی این است که KVM یک ماشین مجازی کامل با کرنل مستقل می‌سازد، در حالی که LXC کانتینری است که کرنل نود میزبان را با بقیه به اشتراک می‌گذارد.

  • ایزولاسیون: در KVM هر مشتری کرنل خودش را دارد و یک کانفیگ اشتباه در یک VPS به بقیه سرایت نمی‌کند
  • انتخاب سیستم‌عامل: با KVM مشتری می‌تواند هر توزیعی و حتی ویندوز نصب کند؛ LXC محدود به توزیع‌های لینوکسی سازگار با کرنل میزبان است
  • ماژول کرنل و ابزارها: کارهایی مثل بارگذاری ماژول کرنل، تنظیمات پیشرفته شبکه یا اجرای Docker در LXC اغلب دردسرساز می‌شود
  • مصرف منابع: LXC سبک‌تر است و تراکم بیشتری روی یک نود می‌دهد، اما با overcommit شدن حافظه ریسک هم بالا می‌رود

برای فروش تجاری VPS به مشتری ناشناس، KVM انتخاب منطقی‌تر است. مشتری‌ای که VPS می‌خرد انتظار دارد سرور «مال خودش» باشد؛ اگر نتواند کرنل عوض کند یا ماژولی بارگذاری کند، برداشتش این است که سرویس ناقص است. LXC را برای سرویس‌های داخلی، محیط‌های تست یا پلن‌های ارزان با محدودیت اعلام‌شده نگه دارید.

افزودن IP Pool

تا وقتی حداقل یک IP Pool تعریف نکنید، Virtualizor نمی‌تواند به VPS جدید آدرس بدهد. در پنل مدیریت به بخش IP Pool بروید و یک Pool جدید بسازید. اطلاعاتی که لازم دارید:

  • Gateway: در بلاک روت‌شده معمولاً IP اصلی نود، در حالت bridge گیت‌وی دیتاسنتر
  • Netmask: دقیقاً همان چیزی که دیتاسنتر اعلام کرده
  • Nameserver: دو DNS resolver که به مهمان‌ها تزریق می‌شود
  • محدوده IP: بازه‌ای که می‌خواهید به Pool اضافه شود

بعد از ساخت Pool، IP اصلی خود نود و IP گیت‌وی را حتماً از لیست حذف یا رزرو کنید. اگر Virtualizor آن‌ها را به یک VPS اختصاص بدهد، تداخل IP روی شبکه دیتاسنتر ایجاد می‌شود و معمولاً نتیجه‌اش قطع شدن پورت سرور توسط دیتاسنتر است.

برای IPv6 هم Pool جداگانه بسازید. بسیاری از دیتاسنترها ساب‌نت IPv6 را رایگان می‌دهند و ارائه آن به مشتری یک تفاوت واقعی با رقباست.

آماده کردن قالب‌های سیستم‌عامل

قالب‌ها همان ایمیج‌های آماده‌ای هستند که هنگام ساخت VPS روی دیسک مهمان کپی می‌شوند. Virtualizor یک مخزن رسمی دارد و از بخش Media، گزینه OS Templates، می‌توانید توزیع‌های موردنیازتان را دانلود کنید.

همه قالب‌ها را دانلود نکنید؛ هر کدام چند گیگابایت فضا می‌گیرد. دو یا سه توزیع پرمصرف را انتخاب کنید و بقیه را بعداً بر اساس تقاضا اضافه کنید. مسیر ذخیره قالب‌ها روی نود این است:

ls -lh /var/virtualizor/kvm/

اگر قصد ارائه ویندوز دارید، به جای قالب آماده باید از ISO استفاده کنید و مسئله لایسنس ویندوز را جداگانه حل کنید. ISOها را در مسیر مربوطه قرار دهید تا در لیست ساخت VPS دیده شوند.

برای هر قالب لینوکسی که اضافه می‌کنید، یک VPS آزمایشی بسازید و مطمئن شوید تغییر رمز root، تزریق IP و SSH بدون مشکل کار می‌کند. مشکل رایج در قالب‌های سفارشی این است که سرویس شبکه با نام اینترفیس متفاوتی بالا می‌آید و VPS بدون شبکه تحویل مشتری می‌شود.

ساخت اولین VPS و تعریف پلن

قبل از ساخت VPS، پلن بسازید. پلن مجموعه‌ای از منابع است: تعداد هسته، حافظه، فضای دیسک، پهنای باند ماهانه و محدودیت‌های I/O و شبکه. مزیت پلن این است که بعداً WHMCS دقیقاً به همین پلن ارجاع می‌دهد و لازم نیست منابع را دستی وارد کنید.

در ساخت پلن به دو مورد دقت کنید. اول محدودیت IOPS و پهنای باند دیسک: بدون آن، یک مشتری با یک اسکریپت بکاپ سنگین می‌تواند کل دیسک نود را قفل کند و بقیه مشتری‌ها کندی را حس می‌کنند. دوم محدودیت سرعت پورت شبکه برای هر VPS، که جلوی مصرف کل ظرفیت آپلینک توسط یک مهمان را می‌گیرد.

حالا از بخش Virtual Servers یک VPS بسازید: پلن را انتخاب کنید، قالب سیستم‌عامل را مشخص کنید، hostname و رمز root بدهید و IP را از Pool اختصاص دهید. پس از ساخت، از داخل نود بررسی کنید ماشین واقعاً بالا آمده باشد:

virsh list
virsh dominfo v1001

سپس از بیرون سرور ping و SSH بگیرید. اگر ماشین بالا هست ولی شبکه ندارد، معمولاً یا bridge درست ساخته نشده یا گیت‌وی Pool اشتباه است. برای دیدن وضعیت bridge روی نود:

ip link show type bridge
brctl show

اتصال به WHMCS برای تحویل خودکار

تا اینجا یک پنل کارآمد دارید، اما فروش واقعی وقتی شروع می‌شود که سفارش مشتری بدون دخالت شما تحویل داده شود. Virtualizor ماژول رسمی WHMCS دارد که فایل‌های آن در پوشه modules/servers قرار می‌گیرد.

مراحل اتصال به ترتیب:

۱. ساخت کلید API در Virtualizor

در پنل مدیریت، از بخش تنظیمات، یک API Key و API Password بسازید و در همان صفحه IP سرور WHMCS را به لیست IPهای مجاز اضافه کنید. محدود کردن دسترسی API به یک IP مشخص، ساده‌ترین لایه امنیتی است که نباید از آن گذشت.

۲. تعریف سرور در WHMCS

در بخش System Settings و سپس Servers، یک سرور جدید با نوع Virtualizor بسازید. در فیلد hostname یا IP، آدرس نود را وارد کنید، پورت را ۴۰۸۵ بگذارید و کلید و پسورد API را در فیلدهای Username و Password قرار دهید. با دکمه تست اتصال مطمئن شوید ارتباط برقرار است.

۳. ساخت محصول

محصول جدید بسازید، ماژول Virtualizor را انتخاب کنید و پلن ساخته‌شده در پنل، نوع مجازی‌سازی و قالب پیش‌فرض سیستم‌عامل را تعیین کنید. گزینه Automatically setup the product را روی حالت تحویل پس از پرداخت بگذارید تا سفارش بعد از تایید پرداخت خودکار ساخته شود.

۴. تست چرخه کامل

قبل از انتشار محصول، یک سفارش آزمایشی بدهید و کل چرخه را تست کنید: ساخت، تعلیق در صورت عدم پرداخت، رفع تعلیق و در نهایت حذف. مخصوصاً تعلیق و حذف را جدی بگیرید؛ اگر terminate درست کار نکند، ماه‌ها بعد نودی پر از VPSهای بی‌صاحب خواهید داشت که منابع را اشغال کرده‌اند.

اگر هنوز سرور اختصاصی مناسبی برای این کار ندارید و می‌خواهید ابتدا در مقیاس کوچک‌تر تست کنید، می‌توانید محیط آزمایشی را روی سرور مجازی ایران در دیتاسنتر رسپینا بالا بیاورید و سناریوی WHMCS و ماژول را قبل از رفتن روی نود اصلی بررسی کنید.

چند نکته عملیاتی بعد از راه‌اندازی

  • دسترسی پنل: پورت‌های ۴۰۸۵ و ۴۰۸۳ را با فایروال به IPهای مدیریتی خودتان محدود کنید؛ پنل کاربران روی ۴۰۸۲ باید عمومی بماند
  • بکاپ: از همان ابتدا مقصد بکاپ خارج از نود تعریف کنید، نه روی همان دیسک
  • مانیتورینگ overcommit: تخصیص بیش از حد CPU قابل مدیریت است، اما overcommit حافظه سریع به OOM و ریست شدن VPSها می‌رسد
  • سیاست شفاف: محدودیت پهنای باند، سرعت پورت و I/O را در صفحه محصول بنویسید تا اختلاف بعدی با مشتری پیش نیاید

در کنار Virtualizor، اگر روی همان زیرساخت هاست اشتراکی هم می‌فروشید، معمولاً به لایسنس‌های هاستینگ مثل cPanel، CloudLinux یا LiteSpeed هم نیاز پیدا می‌کنید که هرکدام روی VPS مشتری فعال می‌شوند.

جمع‌بندی

راه‌اندازی Virtualizor پیچیده نیست، اما نظم مراحل مهم است: اول مطمئن شوید VT-x فعال است و دیسک را طوری پارتیشن کنید که فضای آزاد برای LVM بماند، بعد وضعیت IP و گیت‌وی را از دیتاسنتر بگیرید، سپس اسکریپت نصب را اجرا کنید. برای فروش تجاری KVM را انتخاب کنید، IP Pool را با دقت و بدون IP نود و گیت‌وی بسازید، قالب‌ها را تست کنید و در نهایت با API محدودشده به یک IP، ماژول WHMCS را متصل کنید و کل چرخه سفارش تا حذف را قبل از انتشار تست کنید.

برای تهیه لایسنس یا سوال درباره فعال‌سازی آن روی IP سرورتان، پشتیبانی پارس ابر به‌صورت ۲۴ ساعته در دسترس است؛ شماره تماس ۰۲۱-۷۹۷۰۳.