ایمیج سرور: انتخاب درست بین توزیع‌ها و نسخه‌ها

راهنمای انتخاب ایمیج سرور مناسب؛ تفاوت توزیع‌ها، نسخه‌های پشتیبانی‌شده و ایمیج‌های دارای نرم‌افزار از پیش نصب برای راه‌اندازی سریع.

۶ دقیقه به‌روزرسانی ۱۵ آبان ۱۴۰۵

وارد پنل که می‌شوید، فهرستی از ایمیج سرور جلوی شماست: Ubuntu 22.04، Ubuntu 24.04، Debian 12، AlmaLinux 9، Rocky 9، و چند گزینهٔ دیگر که اسمشان را کمتر شنیده‌اید. سؤال واقعی این است: کدام یکی را انتخاب کنم که شش ماه بعد پشیمان نشوم؟ این متن دقیقاً برای همین لحظه نوشته شده.

انتخاب ایمیج سرور دو لایه دارد. لایهٔ اول توزیع است؛ لایهٔ دوم نسخه. بیشتر افراد روی لایهٔ اول وقت می‌گذارند و لایهٔ دوم را دست‌کم می‌گیرند، در حالی که هزینهٔ واقعی معمولاً از نسخه می‌آید، نه از توزیع.

تفاوت واقعی توزیع‌ها در ایمیج سرور چیست

در سطح اجرا، Ubuntu، Debian، AlmaLinux و Rocky تقریباً یک کار می‌کنند. تفاوت در سه چیز است: چرخهٔ انتشار، مخزن بسته‌ها، و مدت پشتیبانی امنیتی.

توزیعنسخهٔ پایدار فعلیپشتیبانی امنیتیمدیر بسته
Ubuntu LTS22.04 / 24.04۵ سال (قابل تمدید)apt
Debian12 (Bookworm)۵ سالapt
AlmaLinux9تا ۲۰۳۲dnf
Rocky Linux9تا ۲۰۳۲dnf

اگر تیم شما با apt راحت‌تر است، Ubuntu LTS انتخاب پیش‌فرض معقولی است. اگر نرم‌افزاری دارید که فقط برای RHEL بستهٔ رسمی منتشر می‌کند (بسیاری از پنل‌های کنترل و ابزارهای سازمانی)، AlmaLinux یا Rocky انتخاب درست است. Debian را وقتی بردارید که می‌خواهید سیستم پایه لخت و بدون اضافه باشد و خودتان همه‌چیز را کنترل کنید.

نسخهٔ LTS را جدی بگیرید

Ubuntu 24.04 LTS تا آوریل ۲۰۲۹ پشتیبانی امنیتی می‌گیرد. Ubuntu 23.10 که نسخهٔ غیر LTS بود، فقط ۹ ماه پشتیبانی داشت و الان به پایان عمر رسیده. اگر ایمیج سرور خود را روی یک نسخهٔ غیر LTS بنا کنید، چند ماه بعد مجبور به ارتقای نسخهٔ اصلی می‌شوید؛ کاری که روی سرور در حال تولید، پرریسک است.

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

ایمیج‌های دارای نرم‌افزار از پیش نصب: کِی به صرفه است

بعضی ارائه‌دهندگان ایمیج‌هایی می‌دهند که LEMP، Docker، یا پنل کنترل از قبل رویشان نصب است. اینجا اشتباه می‌کنند: افراد فکر می‌کنند ایمیج آماده یعنی صرفه‌جویی در زمان، در حالی که اغلب یعنی به ارث بردن تنظیماتی که نمی‌شناسید.

نمونهٔ واقعی: ایمیجی که MySQL را با innodb_buffer_pool_size=128M پیش‌فرض نصب کرده. روی سروری با ۸ گیگابایت رم، این عدد باید حدود ۴ تا ۵ گیگابایت باشد. سایت راه می‌افتد، اما زیر بار کند می‌شود و شما دنبال علت در کد می‌گردید، نه در /etc/mysql/my.cnf.

قاعدهٔ من ساده است: ایمیج آماده را وقتی بردارید که فقط برای آزمایش یا نمونهٔ اولیه (prototype) می‌خواهید. برای سرور تولیدی، ایمیج پایهٔ خالص به‌همراه اسکریپت نصب خودتان بهتر است، چون دقیقاً می‌دانید چه چیزی و با چه پارامتری نصب شده.

ایمیج‌های مخصوص GPU و هوش مصنوعی

اینجا استثنا وجود دارد. نصب درایور NVIDIA، CUDA Toolkit و کتابخانه‌های مرتبط دستی زمان‌بر و پر از ناسازگاری نسخه است. اگر می‌خواهید مدل زبانی اجرا کنید، ایمیجی که درایور و CUDA روی آن تست شده باشد، ساعت‌ها وقت شما را نجات می‌دهد. راهنمای راه‌اندازی سرور GPU برای مدل‌های هوش مصنوعی نسخه‌های سازگار را فهرست کرده؛ قبل از انتخاب ایمیج، آن را ببینید.

معیارهایی که واقعاً باید بررسی کنید

  1. تاریخ آخرین به‌روزرسانی ایمیج. ایمیجی که شش ماه آپدیت نشده، بسته‌های امنیتی قدیمی دارد. بعد از اولین apt update && apt upgrade ممکن است صدها بسته به‌روز شود.
  2. معماری. اگر سرور ARM است، ایمیج x86_64 روی آن بالا نمی‌آید. این را در پنل قبل از ساخت بررسی کنید.
  3. پارتیشن‌بندی پیش‌فرض. بعضی ایمیج‌ها کل دیسک را در یک پارتیشن می‌گذارند. اگر بعداً بخواهید /var را جدا کنید، کار سختی دارید.
  4. تنظیمات SSH اولیه. ورود با رمز فعال است یا فقط کلید؟ اگر رمز فعال باشد، اولین کاری که باید بکنید غیرفعال کردنش است.

برای بررسی سریع بعد از بالا آمدن سرور:

# نسخهٔ دقیق توزیع
lsb_release -a

# کرنل و معماری
uname -r && uname -m

# فضای دیسک و پارتیشن‌ها
df -hT

# سرویس‌های در حال اجرا
systemctl list-units --type=service --state=running

اگر خروجی df -hT نشان داد که / روی یک پارتیشن ۲۰ گیگابایتی است و بقیهٔ دیسک بی‌استفاده مانده، همان اول با growpart و resize2fs درستش کنید. بعداً که دیسک پر شد، این کار سخت‌تر است.

ایمیج سرور و زیرساخت ابری: کجا به هم می‌رسند

ایمیج سرور فقط نقطهٔ شروع است. چیزی که بعد از آن مهم می‌شود، نحوهٔ مدیریت منابع است. اگر بار سایت بالا رفت، باید بتوانید بدون خاموشی منابع را اضافه کنید؛ روش کار در مقیاس‌دهی منابع ابری بدون قطعی توضیح داده شده.

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

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

یک تلهٔ رایج در انتخاب ایمیج سرور

ایمیجی که «همه‌چیز دارد» را برندارید. ایمیجی که Apache، Nginx، MySQL، PostgreSQL، Redis و یک پنل کنترل را با هم دارد، روی کاغذ راحت است. در عمل، هر کدام از این‌ها یک پورت باز می‌کند و یک سرویس در حال اجرا اضافه می‌کند که شما نمی‌خواهید. سطح حمله بزرگ‌تر می‌شود و مصرف رم پایه بالاتر می‌رود.

روی یک سرور ۱ گیگابایتی، همین سرویس‌های اضافی می‌توانند ۳۰۰ تا ۴۰۰ مگابایت رم را قبل از اینکه سایت شما یک بازدیدکننده داشته باشد، بخورند. بعد تعجب می‌کنید چرا OOM Killer وسط روز پروسهٔ PHP را می‌کشد. پیامش را در dmesg می‌بینید:

Out of memory: Killed process 4821 (php-fpm)

راه‌حل، ایمیج سبک‌تر است، نه اضافه کردن swap به‌عنوان چسب.

جمع‌بندی عملی

برای بیشتر پروژه‌های وب، Ubuntu 24.04 LTS یا Debian 12 انتخاب درست است. اگر نرم‌افزارتان بستهٔ RHEL می‌خواهد، AlmaLinux 9. ایمیج آماده را فقط برای آزمایش یا GPU بردارید. و قبل از هر تغییر مهم، اسنپ‌شات بگیرید.

اولین کاری که باید بکنید این است: وارد پنل شوید، ایمیج را انتخاب کنید، سرور را بالا بیاورید و بلافاصله ورود با رمز SSH را غیرفعال کنید. بقیهٔ تنظیمات بعد از آن می‌آید. اگر می‌خواهید بدانید این ایمیج روی چه زیرساختی اجرا می‌شود، زیرساخت ابری (IaaS) نقطهٔ شروع خوبی است.

پرسش‌های پرتکرار

Ubuntu LTS بهتر است یا Debian برای ایمیج سرور؟

برای بیشتر کاربران Ubuntu LTS انتخاب راحت‌تری است، چون بسته‌های جدیدتر و مستندات بیشتری دارد. Debian را وقتی بردارید که سیستم پایهٔ سبک‌تر و پایدارتر با بسته‌های قدیمی‌تر اما تست‌شده می‌خواهید.

از نظر امنیتی، هر دو به‌روزرسانی منظم منتشر می‌کنند. تفاوت اصلی در سرعت رسیدن نسخه‌های جدید نرم‌افزار است، نه در کیفیت وصله‌های امنیتی.

آیا می‌توانم بعداً ایمیج سرور را عوض کنم؟

بله، اما نه در جای خود. تغییر توزیع روی یک سرور در حال اجرا توصیه نمی‌شود. روش درست این است که سرور جدید با ایمیج دلخواه بسازید، داده و تنظیمات را منتقل کنید، و بعد سرور قدیمی را خاموش کنید.

برای انتقال، از اسنپ‌شات یا بکاپ کامل استفاده کنید تا اگر جایی اشتباه شد، مسیر بازگشت داشته باشید.

ایمیج‌های دارای پنل کنترل ارزشش را دارند؟

اگر میزبانی اشتراکی می‌فروشید، بله. اگر یک اپلیکیشن واحد اجرا می‌کنید، نه. پنل کنترل روی سرور اختصاصی یک لایهٔ اضافی است که منابع مصرف می‌کند و به‌روزرسانی جداگانه می‌خواهد.

چطور بفهمم ایمیج سرور به‌روز است؟

بعد از بالا آمدن، apt list --upgradable یا dnf check-update را اجرا کنید. اگر تعداد بسته‌های قابل به‌روزرسانی زیاد بود، یعنی ایمیج مدتی به‌روز نشده و باید قبل از هر کار دیگری سیستم را آپدیت کنید.

آیا این مطلب برایتان مفید بود؟