Как установить много Linux в одном дистрибутиве с помощью LXC

LXC (Linux Containers) — легкая и простая в использовании система виртуализации, позволяющая одновременно использовать несколько изолированных друг от друга операционных систем на одном компьютере.

Отличается LXC от других систем виртуализации (VirtualBox, KVM, Vmware) тем, что гостевые операционные системы работают на том же ядре, что и основная система (host), виртуальная машина при этом не используется, что позволяет существенно экономить ресурсы и получить полностью изолированные экземпляры операционных систем.

Как установить LXC

Откройте терминал и впишите следующие команды:

sudo apt-get install lxc lxctl lxc-templates
sudo lxc-checkconfig

Первая команда установит LXC, программы управления контейнерами и готовые шаблоны, которые облегчают установку гостевой операционной системы. Вторая команда проверит конфигурацию вашей основной системы на соответствие требованиям LXC.

Создание контейнера с операционной системой в LXC

Проще всего воспользоваться готовыми шаблонами lxc-templates, которые содержат все необходимые сведения для установки Ubuntu, Debian, Fedora, openSUSE, Gentoo и других дистрибутивов. Полный список поддерживаемых систем можно посмотреть следующей командой в терминале:

ls /usr/share/lxc/templates/

Создается контейнер всего одной командой. Например, установка Ubuntu в LXC выполняется так:

lxc-create -n ubuntu01 -t ubuntu

Где опция -n отвечает за имя контейнера, а -t — за используемый шаблон. Далее LXC скачает и установит нужные ISO и пакеты. Вмешательство пользователя не требуется. В заключении пользователю будет сообщен пароль для входа в установленную систему (в данном случае: ubuntu/ubuntu).

Запуск LXC-контейнеров

Когда контейнер с системой готов, можно перейти к его запуску. Для этого введите следующие команды:

lxc-start -n ubuntu01 -d
lxc-console -n ubuntu01

Легко догадаться, что lxc-star запускает контейнер, а lxc-console открывает консоль управления к нему. Останавливаются контейнеры командой lxc-stop:

lxc-stop -n ubuntu01

Установить можно любое количество операционных систем. Сколько из них сможет работать одновременно зависит только от количества свободных ресурсов компьютера.

Преимущества использования LXC

Помимо основного предназначения — создания изолированных сред — LXC позволяет использовать все преимущества виртуализации. А именно:

Клонирование операционных систем


lxc-stop -n ubuntu01
lxc-clone ubuntu01 ubuntu02

Создание снэпшотов (снимков)

Снэпшот позволяет зафиксировать текущее состояние операционной системы в контейнере и легко к нему вернуться, если что-то пойдет не так:

lxc-stop -n ubuntu01
lxc-snapshot -n ubuntu01

Управление контейнерами дистанционно, через web-интерфейс

Для этого потребуется установить lxc-webpanel:

wget http://lxc-webpanel.github.io/tools/install.sh -O - | bash

После этого становится доступным управление прямо из браузера:
Управление контейнерами LXC

field_vote: 
Ваша оценка: Нет Средняя: 4.2 (5 оценки)
Главная тема: 
Программное обеспечение: 

Комментарии

Может оказаться очень неплохой штукой. Например, можно поставить глючную Убуку, но все важные сервисы держать в контейнере под Debian. Или в Debian можно запилить контейнер с Kali на тот случай, когда требуется пошалить.

Да и вообще, изоляция — это прекрасно. По идее, любую сетевую службу нужно изолировать. Даже если каккер своим эксплоитом замогилит, например, Apache или Postfix, поиметь основную систему он все равно не сможет.

Оценка: 
Средняя: 4 (4 оценки)

Тут интересны несколько моментов:
1. Замогилили модули ядра базовой системы, и что будет с контейнерами?????
2. Как с реальной, не сферовакуумной:(, производительностью при таком подходе, ведь может быть и ситуация, что даже многими не любимая Бунта и «святой и быстрый":)... Дебиан, будут тупо тормозить и с полным отсутствием профита в реальных задачах...????:(
P.S. В Европе сейчас пилять системы с экзоядрами, полной изоляцией от слоя приложений, думаю что — это на данный момент более реальный вариант, к примеру — arrakis-release-2014-05-14!?

Оценка: 
Пока без оценки

Атаки на ядро будут иметь последствия. Но дырки в сервисах находят значительно чаще, чем в ядре.

Как с реальной производительностью

Мне тоже это интересно. Если буду использовать LXC, проведу замеры. Но интуиция подсказывает, что с производительностью все в порядке. Во-первых, LXC работает поверх cgroups, а к этой технологии претензий по производительности нет. Во-вторых, неслучайно же контейнеры LXC называются легковесными.

Оценка: 
Пока без оценки

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.