LXC
LXC (Linux Containers) | |
---|---|
Тип | Виртуализация на уровне операционной системы |
Разработчики | Даниэль Лескано, Серж Айюн, Стефан Грабе |
Написана на | Python,LuaиBourne shell |
Операционная система | Linux |
Первый выпуск | 6 августа2008[1] |
Аппаратные платформы | x86,x86-64,IA-64,PowerPC,ARMиSPARC |
Последняя версия | |
Репозиторий | github.com/lxc |
Лицензия | GNU GPL 2 |
Сайт |
linuxcontainers.org(англ.) linuxcontainers.org/… |
Медиафайлы на Викискладе |
LXC(англ.Linux Containers) — подсистемаконтейнеризации,позволяющая запускать несколько изолированных экземпляров операционной системы Linux на одном узле. LXC не используетвиртуальные машины,а создаёт виртуальное окружение с собственным пространством процессов и сетевым стеком; все экземпляры LXC используют один экземплярядра операционной системы.
Сходна сOpenVZиLinux-VServer[англ.]для Linux, а такжеFreeBSD jailиSolaris Containers.Использует технологииконтрольных группипространств имён,входящие вядро Linuxначиная с версии 2.6.29.
Основные разработчики — Даниэль Лескано (Daniel Lezcano), Серж Айюн (Serge Hallyn) и Стефан Грабе (Stéphane Graber).
Среди примеров использования — применение вPaaS-хостингеHerokuдля изоляции динамических контейнеров (dynos). ПроектDockerв ранних версиях использовал LXC в качестве драйвера запуска контейнеров (с версии 0.9 использование LXC стало опциональным, а с версии 1.10 — поддержка была полностью прекращена).
Безопасность
[править|править код]Изначально LXC-контейнеры не поддерживали достаточно высокий уровень изоляции в сравнении с контейнерами на базе более ранней технологииOpenVZ.В частности, в ядре Linux до версии 3.8 root-пользователь LXC-контейнера может выполнить произвольный код в родительскойоперационной системе:это возможно за счёт того, чтоuid0 внутри контейнера совпадает с uid 0 базовой системы (внутри которой контейнер запущен). С выпуском LXC версии 1.0 данная проблема исправлена введением «непривилегированных контейнеров» — где uid 0 в контейнере соответствует непривилегированному пользователю снаружи и имеет расширенные права только на свои ресурсы. LXC до версии 1.0 можно обезопасить с помощью различных настроек управления доступом и фильтров, используя инструментыapparmor,selinuxи тому подобные[3].
LXD
[править|править код]LXD— высокоуровневый инструмент управления контейнерами[4],это менеджер контейнеров и виртуальных машин, созданный разработчикамиThe Linux Containers projectна основеLXC.РазработкаLXDначата в 2015 году и спонсируется компаниейCanonical[5].LXDсоздан для упрощения администрирования множества контейнеров и работа с ним похожа на работу с менеджерами виртуальных машин[6].LXDнаписан наязыке программированияGoи распространяется подлицензией Apache 2.0[4].
LXDиспользует контейнеризациюLXC,управление контрольными точкамиCRIUи виртуализациюQEMU[4].
История LXD
[править|править код]В апреле 2022 года вышла версияLXD5.0[4].
В июле 2023 года управление разработкойLXDбыло передано изThe Linux Containers projectвCanonical[5][7][8].
В 2024 годуThe Linux Containers project,из-за изменения лицензии новым владельцем LXD, прекратил поддержку образов для контейнеров LXC/LXD. По плану завершения поддержки библиотеки образов на сервереThe Linux Containers project,1 мая 2024 года все пользователи LXD потеряли доступ к образам, ранее опубликованным на нём[9].
После передачи LXD вCanonical,вThe Linux Containers projectзанимаются разработкой менеджера виртуализации Incus и рекомендуют своим пользовалям переходить с LXD на него[9].
Примечания
[править|править код]- ↑https://linuxcontainers.org/lxc/downloads/
- ↑Release v6.0.0— 2024.
- ↑Linux Containers - LXC - Безопасность .linuxcontainers.org. Дата обращения: 12 декабря 2016.Архивировано20 декабря 2016 года.
- ↑1234Выпуск системы управления контейнерами LXD 5.0:[арх.11 апреля 2022] // Opennet. — 2022. — 11 апреля.
- ↑12Rudra, S.The LXD Project Finds a New Home at Canonical:The LXD Project has moved to Canonical's website. Here's what you need to know about it:[англ.]:[арх.5 июля 2023] // It's FOSS News. — 2023. — 5 July.
- ↑Parrott, T.1. Owerview:[арх.22 сентября 2020] // Introduction to LXD projects:[англ.].
- ↑Brauner, C.LXD is now under Canonical:[англ.]:[арх.1 ноября 2023] / C. Brauner, S. Hallyn, S. Graber // LinuxContainers. — 2023. — 4 July.
- ↑LXD будет развиваться компанией Canonical отдельно от проекта Linux Containers:[арх.5 июля 2023] // Opennet. — 2023. — 5 июля.
- ↑12Graber, S.Important notice for LXD users (image server):[англ.]// Linux Containers. — 2023.
Литература
[править|править код]- Senthil Kumaran S.Practical LXC and LXD: Linux Containers for Virtualization and Orchestration.— Apress, 2017. — 159 с. —ISBN 978-1-4842-3023-7.
- Джон Лэйн.LXC: малая виртуализация //Linux Format.— 2912. — Октябрь (№62). —С. 88—91.
- Мэт Хэлсли.LXC: Kонтейнерные утилиты Linux .developerWorks.IBM(14 июля 2009). Дата обращения: 25 января 2020.
Ссылки
[править|править код]- linuxcontainers.org/lxc/— официальный сайт LXC
- ubuntu.com/lxd— официальный сайт LXD
- Репозиторий LXD
- LXC Howto
- Стефан Грабе.Цикл статей о LXC 1.0.Перевод.