LXC

LXC (קיצור של: Linux Containers) היא שיטת וירטואליזציה ברמת מערכת ההפעלה להפעלת מספר מערכות לינוקס (קונטיינרים) מבודדות על מארח בקרה באמצעות ליבת לינוקס אחת.

ליבת לינוקס מספקת את פונקציונליות cgroups המאפשרת הגבלה ותעדוף של משאבים (מעבד, זיכרון, קלט/פלט, רשת וכו') ללא צורך בהפעלת מכונות וירטואליות כלשהן, וגם את פונקציונליות בידוד מרחב השמות המאפשרת בידוד מלא של סביבת ההפעלה, כוללים תהליך עצים, רשתות, מזהים המשתמשים ועיגון מערכות קבצים שרואה היישום.

LXC משלב את cgroups של הליבה ותמיכה במרחבי שמות מבודדים כדי לספק סביבה מבודדת ליישומים. גרסאות מוקדמות של Docker השתמשו ב-LXC כדרייבר להרצת קונטיינרים, אם כי LXC נעשה אופציונלי בגרסה 0.9 והתמיכה בוטלה ב-Docker v1.10. הפניות לקונטיינרי לינוקס מתייחסות בדרך כלל לקונטיינרים של Docker הפועלים על לינוקס.

סקירה כללית 
LXC מספקת וירטואליזציה ברמת מערכת ההפעלה באמצעות סביבה וירטואלית שיש לה תהליך ומרחב רשת משלה, במקום ליצור מכונה וירטואלית מלאה. LXC מסתמך על פונקציונליות cgroups של ליבת לינוקס שפורסמה בגרסה 2.6.24. הוא מסתמך גם על סוגים אחרים של פונקציונליות בידוד של מרחב שמות, שפותחו ושולבו בליבת לינוקס הראשית.

אבטחת מידע 
במקור, קונטיינרים של LXC לא היו מאובטחים כמו שיטות וירטואליזציה אחרות ברמת מערכת ההפעלה כגון OpenVZ: בליבות לינוקס לפני 3.8, משתמש השורש של מערכת האורח יכול להריץ קוד שרירותי במערכת המארחת עם הרשאות שורש, בדיוק כפי שהוא יכול ב"אזורי"  chroot. החל מה-LXC מהדורת 1.0, ניתן להפעיל קונטיינרים כמשתמשים רגילים על המארח באמצעות "קונטיינרים בלתי מורשים". קונטיינרים לא מורשים מוגבלים יותר בכך שהם אינם יכולים לגשת ישירות לחומרה. עם זאת, אפילו קונטיינרים מועדפים צריכים לספק בידוד הולם ב-LXC מודל אבטחה 1.0 (אם מוגדר כראוי).

חלופות 
LXC דומה לטכנולוגיות וירטואליזציה אחרות ברמת מערכת ההפעלה בלינוקס כמו OpenVZ ו- Linux-VServer, כמו גם לאלו במערכות הפעלה אחרות כמו כלא FreeBSD, מחיצות עומס עבודה AIX ומכולות Solaris . בניגוד ל-OpenVZ, LXC עובד בקרנל וניל לינוקס ללא צורך בהחלת תיקונים נוספים על מקורות הליבה. גרסה 1 של LXC, אשר שוחררה ב-20 בפברואר 2014, היא גרסה נתמכת לטווח ארוך ומיועדת לתמיכה למשך חמש שנים.  LXC 2.0 ו-3.0 הם מהדורות תמיכה ארוכות טווח: LXC 2.0 (תמיכה עד יוני 2021); LXC 3.0 (עד 1 ביוני 2023).

LXD 
LXD הוא מנהל קונטיינרים, למעשה חלופה לכלים של LXC, (ולא "שכתוב של LXC"). למעשה הוא בונה על גבי LXC כדי לספק חווית משתמש טובה יותר

ראו גם 
 Docker, פרויקט האוטומציה של פריסה של יישומים בתוך מיכלי תוכנה
 וירטואליזציה ברמת מערכת ההפעלה

קישורים חיצוניים 

 
 IBM developerworks article about LXC
 "Evading from Linux Containers" by Marco D'Itri
 Presentation about cgroups and namespaces, the underlying technology of Linux containers, by Rami Rosen
 Presentation about Linux Containers and the future cloud, by Rami Rosen
 LXC : Install and configure the Linux Containers
 LSS: Secure Linux containers (LWN.net)
 Introduction to Linux Containers
 , April 2013

הערות שוליים 

וירטואליזציה
תוכנות מערכת
תוכנה חופשית