
مقدمه
هنگام تصمیم گیری برای انتخاب راه حل سرور خصوصی مجازی، بسیاری از صاحبان وب سایت ها تصمیم خود را بر اساس قیمت و مشخصات می گیرند، اما اغلب فناوری مجازی سازی را نادیده می گیرند.
انتخاب یک فناوری مجازی سازی می تواند تفاوت بین داشتن یک برنامه کاربردی با کارایی بالا و یک برنامه ضعیف باشد.
بنابراین، درک اینکه مجازیسازی چیست و انواع مختلف فناوریهای مجازیسازی در دسترس هستند، بسیار مهم است تا در صورت نیاز به VPS، تصمیمهای خوبی بگیرید.
در این مقاله، همه چیزهایی را که باید در مورد Linux KVM و OpenVZ بدانید، از جمله تفاوتها و بهترین سناریو را پوشش خواهیم داد.
اما اول،
مجازی سازی چیست؟
مجازی سازی فرآیند ایجاد یک نسخه مجازی از چیزی است، مانند یک سیستم عامل، برنامه، دستگاه ذخیره سازی یا منبع شبکه.
مجازی سازی به یک منبع فیزیکی اجازه می دهد تا به منابع منطقی متعددی تقسیم شود که هر کدام به طور مستقل قابل استفاده هستند.
مجازیسازی را میتوان برای بهبود عملکرد و استفاده از سختافزار با اجازه دادن به چندین سیستم عامل برای اجرا بر روی یک کامپیوتر فیزیکی مورد استفاده قرار داد.
همچنین می توان از آن برای بهبود امنیت با جداسازی سیستم ها و برنامه های مختلف در ماشین های مجازی مجزا استفاده کرد.
هایپروایزر چیست؟
Hypervisor قطعهای از نرمافزار (یا در برخی موارد سختافزار) است که مجازیسازی را ممکن میسازد، وظیفه اصلی آن تقسیم و تخصیص سختافزار و منابع عملیاتی بین نمونههای ماشین مجازی است.
Hypervisor امکان تنظیم منابعی مانند حافظه، ذخیره سازی، قدرت CPU و پهنای باند شبکه را برای هر ماشین مجازی ایجاد می کند.
همچنین می توان از آن برای متوقف کردن، راه اندازی مجدد و از بین بردن ماشین های مجازی موجود در صورت تقاضا استفاده کرد.
هر دو KVM و Open VZ هایپروایزرهایی هستند که توسط ارائه دهندگان میزبانی برای بخش بندی و ردیف کردن سرورها و به اشتراک گذاری منابع از یک یا مجموعه ای از سخت افزارهای فیزیکی استفاده می شوند.
منبع: https://www.dnsstuff.com/what-is-hypervisor
هر هایپروایزر نسبت به دیگری دارای مزایا و همچنین معایبی است که بسته به مورد استفاده دارد.
Linux KVM (ماشین مجازی مبتنی بر هسته)
KVM که به عنوان ماشین هسته مجازی ترجمه می شود، یک هایپروایزر منبع باز است که به شما امکان می دهد چندین سیستم عامل را روی یک کامپیوتر واحد ایجاد و اجرا کنید (با استفاده از یک هایپروایزر نوع 2).
منبع: https://www.nutanix.com/theforecastbynutanix/technology/what-are-hypervisors-and-how-to-choose-the-right-type
هر نمونه سیستم عامل ایجاد شده یک ماشین مجازی (با هسته اختصاصی جداگانه خود) نامیده می شود.
KVM عمدتا برای ایجاد ماشین های مجازی با لینوکس به عنوان سیستم عامل آنها استفاده می شود، اما از سیستم عامل های مهمان دیگر مانند ویندوز، هایکو و سولاریس پشتیبانی می کند.
بیش از یک دهه است که KVM توسط شرکت های بزرگی مانند گوگل، آمازون و فیس بوک استفاده می شود.
OpenVz (باز Virtuozzo)
Linux OpenVZ یک فناوری مجازی سازی در سطح سیستم عامل است که به چندین سیستم عامل ایزوله (OS) اجازه می دهد تا روی یک سرور فیزیکی واحد اجرا شوند. هر سیستم عامل یک Container نامیده می شود و معادل یک ماشین مجازی (VM) برای KVM است.
با این حال، کانتینرها بسیار سبک تر و کارآمدتر از ماشین های مجازی هستند، و آنها را برای میزبانی چندین برنامه در یک سرور مناسب تر می کند.
همه کانتینرهایی که با OpenVZ ایجاد می کنید، یک هسته میزبان واحد را به اشتراک می گذارند که به عنوان توزیع لینوکس بسته بندی شده است. در نتیجه OpenVZ از دیگر سیستم عامل ها پشتیبانی نمی کند.
لینوکس OpenVZ نیز یک پروژه متن باز است و برای همه رایگان است.
تفاوت بین KVM و OpenVZ چیست؟
تفاوت اصلی بین KVM و OpenVZ در نحوه مدیریت مجازی سازی است.
OpenVZ مجازی سازی را در سطح سیستم عامل مدیریت می کند، در حالی که KVM مجازی سازی را در سطح کامل یا سخت افزاری مدیریت می کند.
از آنجایی که مجازیسازی KVM در سطح سختافزار است، بهتر میتواند هر ماشین مجازی را کاملاً ایزوله کند، بنابراین میتواند از سیستمعاملهای دیگر پشتیبانی کند و تقریباً به هر طولی قابل سفارشیسازی است.
OpenVZ از مجازی سازی در سطح سیستم عامل استفاده می کند، که اساساً به این معنی است که همه کانتینرهای ایجاد شده باید مبتنی بر لینوکس باشند و منابع یکسانی را از هسته میزبان به اشتراک بگذارند، که باعث می شود OpenVZ کمتر قابل تنظیم و تخصصی تر برای برنامه های مبتنی بر لینوکس باشد.
ماشینهای مجازی ایجاد شده با KVM مستقیماً از منابع سختافزاری ماشین فیزیکی استفاده میکنند که دارای مزایای عملکردی زیادی نسبت به OpenVZ است که به هسته میزبان متکی است.
نقطه ضعف ماشین های مجازی KVM این واقعیت است که آنها سربار بالایی دارند که در اصل به معنای هزینه های جاری بالا است.
در مقایسه با KVM، کانتینرهای OpenVZ می توانند با هزینه اندکی برای منابع میزبان خود اجرا شوند، زیرا نیازی به هایپروایزر کامل ندارند و صرفاً به میزبانی که هایپروایزر مبتنی بر هسته است بستگی دارند.
علاوه بر این، با OpenVZ شما کنترل بیشتری بر تخصیص منابع دارید، تا 99٪ از سخت افزار فیزیکی قابل تخصیص به کانتینرها.
به عنوان مثال، زمانی که حافظه فیزیکی (RAM) در تنظیمات OpenVZ استفاده نمی شود، برای دسترسی هر یک از کانتینرهای در حال اجرا در دسترس است.
اگر هر یک از کانتینرها تصمیم به اجرای فرآیندهایی داشته باشد که به شدت به RAM نیاز دارند، بر عملکرد کلی کل شبکه کانتینر تأثیر می گذارد (بسیار معمول زمانی که کانتینرهای زیادی ایجاد می شود).
برای KVM، هر ماشین مجازی با محدودیتهای سخت ایجاد میشود، که اساساً به این معنی است که آنها هرگز نمیتوانند بیش از آنچه به آنها اختصاص داده شده استفاده کنند، حتی اگر حافظه استفاده نشده اضافی وجود داشته باشد.
هر دو KVM و OpenVZ برای استفاده کاملا رایگان هستند، اما در مورد هزینه های عملیاتی، KVM گران تر است و نیازهای سخت افزاری بالاتری برای اجرا دارد.
KVM همچنین در مقایسه با OpenVZ که از پیکربندی سادهتری استفاده میکند و هزینههای کمتری را ارائه میکند، به تنظیمات پیچیدهتری نیاز دارد.
این امر باعث میشود که OpenVZ برای شرکتهایی با بودجه محدود و KVM برای شرکتهای بزرگتر که به انتزاع و انزوا بیشتری نیاز دارند، گزینه ترجیحی باشد.
سوالات متداول
آیا KVM سریعتر از OpenVZ است؟
ماشینهای مجازی KVM تقریباً به صورت بومی به منابع فیزیکی دستگاه دسترسی دارند و در مقایسه با کانتینرهای OpenVZ که به میانافزار (هسته میزبان) برای دسترسی به منابع نیاز دارند، سرعت بیشتری به آنها میدهد.
آیا می توانم ویندوز را در یک ظرف OpenVZ اجرا کنم؟
نه، و این صرفاً به این دلیل است که OpenVZ با هسته لینوکس همراه است و از آنجایی که مجازیسازی را در سطح سیستمعامل انجام میدهد، هر کانتینری ایجاد شده باید بر اساس همان سیستم عامل باشد و در این مورد لینوکس خواهد بود.
تفاوت اصلی بین KVM و OpenVZ چیست؟
لینوکس KVM و OpenVZ دو نوع نرم افزار مجازی سازی هستند، اما تفاوت های اساسی با هم دارند. OpenVZ کانتینرهایی ایجاد می کند که یک هسته مشترک دارند، در حالی که KVM از ماشین های مجازی با هسته های خود استفاده می کند. این بدان معنی است که KVM برای میزبانی چندین سیستم عامل بهتر است، در حالی که OpenVZ برای میزبانی چندین برنامه بهتر است.
نتیجه
Linux KVM در مقابل OpenVZ فناوری های مجازی سازی پرکاربردی هستند که به شما اجازه می دهند چندین سیستم عامل را روی یک سرور واحد اجرا کنید.
در این مقاله به بررسی ویژگی های هر یک از فناوری های مجازی سازی می پردازیم و تفاوت های اصلی بین آنها را به اختصار توضیح می دهیم.
پس از خواندن این مقاله، باید بتوانید بر اساس موارد استفاده خود دقیقاً بدانید که به کدام یک از این دو فناوری نیاز دارید.
امیدواریم این مقاله برای شما مفید بوده باشد.