LXC

LXC
מפתח Christian Brauner עריכת הנתון בוויקינתונים
מחזור חיים 6 באוגוסט 2008 – הווה (16 שנים) עריכת הנתון בוויקינתונים
גרסה אחרונה 6.0.0 (3 באפריל 2024) עריכת הנתון בוויקינתונים
מערכת הפעלה לינוקס עריכת הנתון בוויקינתונים
נכתבה בשפות פייתון, לואה, Bourne Shell עריכת הנתון בוויקינתונים
סוג רישיון GPL-2.0 עריכת הנתון בוויקינתונים
קוד מקור https://github.com/lxc עריכת הנתון בוויקינתונים
linuxcontainers.org
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

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

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

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

סקירה כללית

[עריכת קוד מקור | עריכה]

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

אבטחת מידע

[עריכת קוד מקור | עריכה]

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

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

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

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

[עריכת קוד מקור | עריכה]
ויקישיתוף מדיה וקבצים בנושא LXC בוויקישיתוף

הערות שוליים

[עריכת קוד מקור | עריכה]
  1. ^ Rami Rosen (במאי 2013). "Resource management: Linux kernel namespaces and cgroups" (PDF). cs.ucsb.edu. נבדק ב-11 בפברואר 2015. {{cite web}}: (עזרה)
  2. ^ "Docker 0.9: introducing execution drivers and libcontainer - Docker Blog". Docker Blog (באנגלית אמריקאית). 2014-03-10. נבדק ב-2018-05-09.
  3. ^ "Docker Engine release notes - 1.10.0 (2016-02-04)". 2016-02-04. נבדק ב-2020-10-06.
  4. ^ "Everything You Need to Know about Linux Containers, Part II: Working with Linux Containers (LXC) | Linux Journal". www.linuxjournal.com. נבדק ב-2021-07-10.
  5. ^ Marco, d'Itri (2011). "Evading from linux containers". אורכב מ-המקור ב-9 בינואר 2014. נבדק ב-12 בפברואר 2014. {{cite web}}: (עזרה)
  6. ^ 1 2 Graber, Stéphane (1 בינואר 2014). "LXC 1.0: Security features [6/10]". נבדק ב-12 בפברואר 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 {{cite web}}: (עזרה)
  7. ^ Graber, Stéphane (2013-12-20). "LXC 1.0: Your first Ubuntu container". Stgraber.org. נבדק ב-2014-02-23.
  8. ^ "Linux Containers - LXC". linuxcontainers.org. נבדק ב-2021-03-02.
  9. ^ "Linux Containers - LXD - Introduction". linuxcontainers.org. נבדק ב-2020-04-14.