left arrow iconبازگشت به وبلاگ

میزبانی VPS

ماشین‌های مجازی KVM

VPS مبتنی بر KVM یا OpenVZ: تفاوت واقعی چیست؟

KVM و VPS کانتینریِ قدیمی OpenVZ هر دو به چند مشتری امکان استفاده از یک سرور فیزیکی را می‌دهند. تفاوت اصلی در کرنل، یعنی هستهٔ سیستم‌عامل، است: کانتینر OpenVZ کرنل لینوکس میزبان را به اشتراک می‌گذارد، اما ماشین مجازی KVM کرنل مهمان خود را راه‌اندازی می‌کند. این تفاوت بر نرم‌افزارهای قابل‌اجرا، مدیریت سرور و مرز امنیتی اثر می‌گذارد.

EDIS سال‌ها پیش OpenVZ عرضه می‌کرد. امروز همهٔ VPSهای ما فقط از KVM استفاده می‌کنند. در ادامه تفاوت‌های عملی را بدون وعدهٔ امنیت مطلق توضیح می‌دهیم.

تصویر روشن از کانتینرهای قدیمی با کرنل مشترک در کنار ماشین‌های مجازی جداگانهٔ KVM.

KVM و OpenVZ در یک نگاه

  • کرنل: کانتینر قدیمی OpenVZ از کرنل میزبان استفاده می‌کند؛ ماشین مجازی KVM کرنل خودش را راه‌اندازی می‌کند.
  • منابع: هر دو می‌توانند محدودیت منابع داشته باشند. تضمین منابع به سیاست ارائه‌دهنده بستگی دارد. EDIS برای پلن‌های KVM، vCPU تخصیص‌یافته، رم تضمین‌شده و فضای دیسک پلن را فراهم می‌کند.
  • سیستم‌عامل: کانتینرهای قدیمی OpenVZ محیط لینوکسی سازگار با کرنل میزبان اجرا می‌کنند. KVM از مهمان‌های پشتیبانی‌شدهٔ لینوکس و ویندوز و ایمیج‌های سفارشی مناسب پشتیبانی می‌کند.
  • جداسازی: کانتینرها پردازش‌ها و فایل‌ها را با امکانات یک کرنل مشترک جدا می‌کنند. KVM برای هر مهمان محیط سخت‌افزار مجازی جداگانه فراهم می‌کند.

تفاوت VPS مبتنی بر KVM با OpenVZ چیست؟

VPS قدیمی OpenVZ یک کانتینر در سطح سیستم‌عامل است. برنامه‌های آن در قالب پردازش‌های میزبان اجرا می‌شوند، اما نمای جداگانه‌ای از فایل‌ها، شبکه و شناسهٔ پردازش می‌بینند. برای مشتری شبیه یک سرور مستقل است، ولی کرنل مهمان مستقل ندارد. VPS مبتنی بر KVM یک ماشین مجازی کامل است که CPU، حافظه و دیسک مجازی را به سیستم‌عامل مهمان ارائه می‌کند و آن سیستم جداگانه راه‌اندازی می‌شود.

این مقاله KVM را با محصولات کانتینری قدیمی OpenVZ مقایسه می‌کند. خود پلتفرم گسترده‌تر OpenVZ بعدها ماشین‌های مجازی مبتنی بر KVM را هم پشتیبانی کرد؛ بنابراین نام OpenVZ همیشه به معنی کانتینر نیست.

آیا می‌توانم کرنل خودم را اجرا کنم یا ماژول بارگذاری کنم؟

در KVM کنترل کرنل مهمان با شماست. می‌توانید آن را به‌روزرسانی کنید، کرنل جایگزینِ پشتیبانی‌شده‌ای انتخاب کنید و بسته به سخت‌افزار مجازی و پیکربندی، از قابلیت‌ها و ماژول‌های آن درون ماشین مجازی بهره ببرید. دسترسی root به ماشین خودتان مربوط است، نه میزبان فیزیکی.

کانتینر قدیمی OpenVZ به کرنل میزبان وابسته است. از درون کانتینر نمی‌توانید آن کرنل را تعویض کنید یا هر ماژولی را به کرنل میزبان بیفزایید. به همین دلیل بعضی نیازهای نرم‌افزاریِ ظاهراً ساده در گذشته به درخواست پشتیبانی تبدیل می‌شد.

آیا CPU، رم و دیسک واقعاً اختصاصی‌اند؟

KVM به هر ماشین مجازی CPU مجازی، حافظه و دیسک مجازی تخصیص می‌دهد. این به‌تنهایی به معنی داشتن یک هستهٔ فیزیکی انحصاری برای هر vCPU یا مالکیت کل سرور فیزیکی نیست. پردازنده‌های فیزیکی، دستگاه‌های ذخیره‌سازی و اتصال شبکه همچنان زیرساخت مشترک‌اند. مشخصات پلن و شیوهٔ تخصیص منابعِ ارائه‌دهنده تعیین‌کننده است.

OpenVZ نیز می‌توانست CPU، حافظه و دیسک را محدود کند، هرچند برخی پلن‌های قدیمی قواعد دیگری برای حسابداری یا مصرف لحظه‌ای داشتند. هر پلن KVM در EDIS تعداد vCPU مشخص، رم تضمین‌شده و ظرفیت دیسک ارائه‌شده دارد. مشخصات همان پلن را در موقعیت موردنظر بررسی کنید؛ خود واژهٔ KVM سرعت شبکه یا کارایی معینی را تضمین نمی‌کند.

چه سیستم‌عامل‌هایی می‌توانم نصب کنم؟

کانتینر قدیمی OpenVZ یک محیط لینوکسی روی کرنل لینوکس میزبان اجرا می‌کند. قالب‌های سازگار لینوکس ممکن‌اند، اما نمی‌توان ویندوز را به‌عنوان چنین کانتینری راه‌اندازی کرد یا کرنل کاملاً مستقل دیگری برگزید.

KVM می‌تواند سیستم‌عامل‌های مهمان پشتیبانی‌شدهٔ لینوکس و ویندوز را راه‌اندازی کند، چون هر ماشین سخت‌افزار مجازی و کرنل خود را دارد. EDIS ایمیج‌های لینوکس، ویندوز در پلن‌های مناسب و نصب از ISO سفارشی را ارائه می‌دهد. ایمیج، روش بوت، درایورها و مجوز پلن را بررسی کنید. برای Windows Server دست‌کم ۴ گیگابایت رم و ۲ vCPU توصیه می‌کنیم.

جداسازی امنیتی چه تفاوتی دارد؟

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

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

آیا مشتریان دیگر یا خود EDIS می‌توانند داخل VPS من را ببینند؟

مشتری دیگر معمولاً نمی‌تواند فهرست پردازش‌ها یا فایل‌های ماشین KVM شما را مثل سرور خودش مرور کند. هر مهمان سیستم‌عامل و نمای جداگانه‌ای دارد. این با پردازش‌ها و درخت فایل‌هایی که میزبان کانتینر مستقیماً اداره می‌کند تفاوت مهمی دارد.

بااین‌حال گفتن اینکه «هیچ‌کس هرگز نمی‌تواند داخل ماشین KVM را ببیند» درست نیست. مدیر دارای دسترسی ممتاز به میزبان یا فضای ذخیره‌سازی ممکن است بتواند دیسک مجازی یا حافظهٔ ماشین در حال اجرا را بررسی کند. KVM مشتریان را از یکدیگر جدا می‌کند، اما EDIS همچنان باید زیرساخت را اداره و ایمن نگه دارد. اعتماد به ارائه‌دهنده و کنترل دسترسی او نیز بخشی از تصمیم امنیتی است.

آیا می‌توانم دیسک VPS مبتنی بر KVM را رمزگذاری کنم؟

بله. در سیستم‌عامل مهمان می‌توانید روی دیسک مجازیِ سازگار رمزگذاری‌ای مانند Linux LUKS تنظیم کنید. اگر کلید را خودتان کنترل کنید، این کار به حفاظت از داده‌های ذخیره‌شده در حالت خاموش کمک می‌کند. باز کردن قفل پس از راه‌اندازی مجدد را برنامه‌ریزی کنید، کلیدهای بازیابی را امن نگه دارید و بازیابی را آزمایش کنید. KVM به‌طور خودکار رمزگذاری را فعال نمی‌کند.

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

Waveride چه بود و چرا EDIS از OpenVZ فاصله گرفت؟

سال‌ها پیش EDIS پروژهٔ محبوب OpenVZ به نام Waveride را اداره می‌کرد. وب‌سایت قدیمی آن را «an EDIS company» معرفی می‌کرد و VPSهای اقتصادی در وین، آمستردام و شیکاگو عرضه می‌کرد. پنگوئن موج‌سوارش به‌یادماندنی بود. آن پروژه برایمان لذت‌بخش بود، اما پنل SolusVM و دیگر گزینه‌های مدیریتیِ آن روزها برای ما ایده‌آل نبودند.

تصویر قدیمی Waveride: پنگوئنی بر تختهٔ موج‌سواری روی موج آبی در کنار نشان شیکاگو.
تصویر اصلی Waveride برای موقعیت OpenVZ شیکاگو از وب‌سایت قدیمی EDIS.

در پیاده‌سازی قدیمی ما، کانتینر بیشتر شبیه مجموعه‌ای از پردازش‌ها و درخت فایل تحت مدیریت میزبان بود تا یک ماشین مستقل. می‌خواستیم کنترل کرنل و جداسازی قوی‌تری به مشتری بدهیم؛ بنابراین حدود ده سال پیش عرضهٔ OpenVZ VPS را پایان دادیم و کاملاً به KVM رفتیم. این تاریخچهٔ EDIS است، نه ادعایی دربارهٔ نبود جداسازی در همهٔ کانتینرهای امروزی یا ذخیرهٔ همهٔ نسخه‌های OpenVZ به صورت پوشه‌های ساده؛ نسخه‌های بعدی می‌توانند از ایمیج دیسک نیز استفاده کنند.

چرا EDIS Global امروز فقط KVM ارائه می‌دهد؟

می‌خواهیم هر VPS سیستم‌عامل مهمان خودش را راه‌اندازی کند، کنترل کرنل به مشتری بدهد و با مرز ماشین مجازی از دیگر مشتریان جدا باشد. KVM با این مدل سازگار است و امکان ارائهٔ vCPU، رم و دیسکِ مشخص در پلن را با پشتیبانی از لینوکس و پیکربندی‌های مناسب ویندوز فراهم می‌کند. این روشی بالغ و امروزی برای میزبانی VPS چندمشتری است.

کانتینرها همچنان زمانی مفیدند که خودتان میزبان را کنترل می‌کنید و می‌خواهید برنامه‌ها را سبک اجرا کنید. برای VPS مشتری با کرنل مستقل و جداسازی قوی‌تر، انتخاب ما KVM است. پلن‌ها و موقعیت‌های KVM VPS در EDIS Global را مقایسه کنید و سپس سفارش دهید.

منابع فنی