بارگنجهای لینوکس
توسعهدهنده(ها) | |
---|---|
انتشار اولیه | ۶ اوت ۲۰۰۸[۱] |
انتشار پایدار | 2.0.6[۲]
/ ۲۳ نوامبر ۲۰۱۶ |
مخزن | |
نوشتهشده با | C, Python, Shell, Lua |
سیستمعامل | Linux |
پلتفرم | x86, IA-64, PowerPC, SPARC, Itanium, ARM |
نوع | OS-level virtualization |
مجوز | GNU LGPL v.2.1 (some components under GNU GPL v2 and BSD) |
وبگاه |
بارگُنجهای لینوکس[۳] یا کانتینرهای لینوکس (به انگلیسی: Linux Containers) LXC یک روش مجازیسازی سطح سیستم عامل است که برای اجرای سیستمهای لینوکس ایزوله بر روی یک میزبان کنترلی با استفاده از یک تک هستهٔ لینوکس است.
هستهٔ لینوکس قابلیت cgroups را فراهم میکند که اجازه میدهد تا محدودیت و اولویت بندی منابع (CPU, memory, بلوک، I/O, شبکه، و غیره) بدون نیاز به روشن کردن هیچ ماشین مجازی ای و همچنین قابلیت فضای نام ایزوله که اجازهٔ انزوای کامل یک برنامهٔ کاربردی، نمایی از محیط اجرایی شامل درختهای فرایند، شبکه، مشخصههای کاربر و سیستم فایلهای سوارشده است.[۴]
LXC هستهٔ cgroups را ترکیب میکند از فضای نام ایزوله برای محیا کردن یک محیط ایزوله برای برنامههای کاربردی پشتیبانی میکند. Docker نیز میتواند از LXC به عنوان یکی از درایورهای اجرایی استفاده کند که قادر به مدیریت تصویر و ارائهٔ خدمات استقرار است.
بررسی اجمالی
[ویرایش]LXC مجازیسازی سطح سیستم عامل را از طریق یک محیط مجازی که دارای فضای شبکه و فرایند خودش است را به جای ساختن یک ماشین مجازی کامل را محیا میکند. LXC متکی به قابلیت هستهٔ لینوکس cgroups است که در نسخهٔ ۲٫۶٫۲۴ منتشر شده بود و همچنین متکی به قابلیت ایزولهسازی فضای نامهای نوعهای دیگر است که توسعه یافته و یکپارچه شده با هسته اصلی لینوکس است.
امنیت
[ویرایش]در اصل بارگُنجهای LXC به اندازهٔ روشهای دیگر مجازیسازی سطح سیستم عامل مانند OpenVZ امن نبود. در هستهٔ لینوکس قبل از نسخهٔ ۳٫۸ کاربر ریشهٔ سیستم مهمان قادر به اجرای کد دلخواه در سیستم میزبان با ریشه ممتاز بود که بسیار شبیه chroot است.[۵]با شروع انتشار LXC 1.0، اجرای بارگُنجها به عنوان کاربران عادی در میزبان با استفاده از بارگُنجهای غیرممتاز ممکن شد. بارگُنجهای غیرممتاز بیشتر در دسترسی مستقیم به سختافزار محدود هستند. با این اوصاف حتی بارگُنجهای ممتاز اگر درست پیکربندی شوند باید ایزولهسازی کافی را در مدل امنیتی LXC 1.0 فراهم کنند.[۶]
جایگزینها
[ویرایش]LXC شبیه به دیگر تکنیکهای مجازیسازی سطح سیستم عامل مانند OpenVZ و لینوکس-VServer است و به خوبی آنهایی است که روی سیستمهای عامل دیگر مانند FreeBSD، پارتیشنهای حجم کار AIX و بارگُنجهای سولاریس اجرا میشوند. در مقایسه با OpenVZ، ال ایکس سی در هستهٔ لینوکس Vanilla بدون نیاز به هیچ پچی کار میکند. نسخهٔ LXC 1 که در ۲۰ فوریه ۲۰۱۴ منتشر شد یک نسخهٔ پشتیبانی شدهٔ دراز مدت است و در نظر گرفته شدهاست که برای پنج پشتیبانی میشود.[۷]
جستارهای وابسته
[ویرایش]- CoreOS
- داکر (Docker) یک پروژه اتوماسیون استقرار برنامههای کاربردی در داخل بارگُنجهای نرمافزار
- Apache Mesos یک سکوی مقیاس بزرگ مدیریت خوشه مبتنی بر ظرف ایزوله شده
- مجازیسازی در سطح سیستم عامل (Operating-system-level virtualization)
- بورس محیط مجازی -- یک سکوی مدیریت مجازیسازی متن-باز که از بارگُنجهای XLC و KVM پشتیبانی میکند.
منابع
[ویرایش]- ↑ "LXC - Linux Containers". linuxcontainers.org. Archived from the original on 10 November 2014. Retrieved 2014-11-10.
- ↑ "Linux Containers - LXC - News". linuxcontainers.org. Retrieved 3 January 2017.
- ↑ بارگنج واژهٔ مصوب فرهنگستان زبان و ادب پارسی به جای container در انگلیسی است.
- ↑ Rami Rosen (May 2013). "Resource management: Linux kernel namespaces and cgroups" (PDF). cs.ucsb.edu. Archived from the original (PDF) on 11 February 2015. Retrieved February 11, 2015.
- ↑ Marco, d'Itri (2011). "Evading from linux containers". Archived from the original on 9 January 2014. Retrieved 12 February 2014.
- ↑ Graber, Stéphane (1 January 2014). "LXC 1.0: Security features [6/10]". Retrieved 12 February 2014.
However, at least in Ubuntu, our default containers ship with what we think is a pretty good configuration of both the cgroup access and an extensive apparmor profile which prevents all attacks that we are aware of. [...] LXC is no longer running as root so even if an attacker manages to escape the container, he’d find himself having the privileges of a regular user on the host
- ↑ Stéphane Graber (2013-12-20). "LXC 1.0: Your first Ubuntu container". Stgraber.org. Retrieved 2014-02-23.