Что такое LXC и как начать?

37

Я буду признателен, если кто-нибудь представит меня LXC и подскажет, как начать использовать эту технологию? В каких случаях имеет смысл использовать, и в каких я должен держаться подальше от этого?

dhojgaard
источник
3
Если вы смотрите фильм « Начало», у вас есть хорошее представление о lxc. imdb.com/title/tt1375666 Трейлер.
Касим

Ответы:

53

_________________________________________________ LXC _________________________________________________________

                           Linux Containers ( Ubuntu )

обзор

Контейнеры Linux (LXC) представляют собой облегченную технологию виртуализации и предоставляют бесплатную систему виртуализации программного обеспечения для компьютеров, работающих под управлением GNU / Linux. Это достигается за счет изоляции на уровне ядра. Это позволяет запускать несколько виртуальных блоков (контейнеров) одновременно на одном хосте.

Контейнер - это способ изолировать группу процессов от других в работающей системе Linux. Используя существующие функции, такие как новые функции управления ресурсами ядра Linux и функции выделения ресурсов (группы и пространства имен), эти процессы могут иметь свое собственное частное представление операционной системы со своим собственным пространством идентификатора процесса (PID), структурой файловой системы и сетевые интерфейсы.

Контейнеры совместно используют одно и то же ядро ​​со всем, что на нем запущено, но их можно ограничить использованием только определенного количества ресурсов, таких как процессор, память или ввод-вывод. Комбинируя контейнеры с другими функциями, такими как файловая система Btrfs, можно будет быстро настроить несколько облегченных изолированных экземпляров Linux на одном хосте. Поэтому контейнеры лучше по сравнению с зонами Solaris или тюрьмами BSD.

введите описание изображения здесь

Установка

Делать LXC проще

Одной из основных задач Ubuntu LTS было сделать LXC очень простым в использовании, чтобы добиться этого. Создание базового контейнера и запуск его в Ubuntu

 sudo apt-get install lxc
 sudo lxc-create -t ubuntu -n my-container
 sudo lxc-start -n my-container

Авторизоваться

sudo lxc-console -n my-container -t 1

По умолчанию будет использоваться та же версия и архитектура, что и на вашем компьютере, очевидно, доступны дополнительные опции (–help перечислит их). Логин / Пароль Ubuntu / Ubuntu.

Для подробной конфигурации хоста


Подробнее о LXC

Debian

оракул

SourceForge


LXC Web Panel

Для новичка я бы порекомендовал использовать LXC Webpanel. Хорошая часть заключается в том, что если вы создадите контейнер в режиме cli, он появится в LXC Web Panel.

  sudo apt-get install lxc debootstrap bridge-utils -y
  sudo su
  wget https://lxc-webpanel.github.com/tools/install.sh -O - | bash

Откройте веб-браузер и подключитесь

                       http://your_ip_address:5000/
                Login with user admin and password admin

обзор

введите описание изображения здесь

Обзор контейнеров

введите описание изображения здесь

Сеть LXC

введите описание изображения здесь

Настройки контейнера

введите описание изображения здесь

Ограничение ресурсов

введите описание изображения здесь

Модификация пользователя (создание, удаление, изменение)

введите описание изображения здесь

введите описание изображения здесь

Касим
источник
1
Я должен был установить, sudo apt-get install debootstrapпрежде чем sudo lxc-create -t ubuntu -n my-containerбудет работать (Ubuntu 14.04 LTS).
CivMeierFan
Каковы особенности btrfs, которые ускоряют подготовку контейнера?
Чад
11

LXC

LXC - это сокращенный способ сказать, что LinuX Containers - это метод виртуализации на уровне операционной системы для запуска нескольких изолированных систем Linux, которые называются контейнерами на одном управляющем хосте. Поскольку LXC обеспечивает виртуализацию на уровне операционной системы, она не использует полноценную виртуальную машину, а предоставляет собственную виртуальную среду, которая имеет собственный процесс и сетевое пространство.

LXC опирается на cgroups ядра Linux ( группы управления ), которые разработаны как часть LXC, которая является функцией ограничения, учета и изоляции использования ресурсов (ЦП, память, дисковый ввод-вывод и т. Д.) Групп процессов. Он также опирается на другие виды функций изоляции пространства имен, которые были разработаны и интегрированы в основное ядро ​​Linux.

В Ubuntu вы можете найти такие инструменты, как Juju , которые используются с LXC. Вы даже можете найти несколько учебных пособий:

Чтобы использовать LXC и его преимущества, я рекомендую прочитать Руководство по Ubuntu для Juju

Официальный сайт - https://linuxcontainers.org/

Списки рассылки размещены здесь

Луис Альварадо
источник
2

Я думаю, что лучший вопрос - что вы хотите делать с LXC?

Я бы начал с документации сообщества и задавал конкретные вопросы о конкретных вещах, которые вы не понимаете.

https://help.ubuntu.com/12.04/serverguide/lxc.html

https://help.ubuntu.com/community/LXC

LXC может использоваться для изоляции сервисов или других процессов от хоста, хотя изоляция не всегда идеальна.

LXC, IMO, находится в стадии быстрой разработки, и это может помочь, если вы подпишетесь на список рассылки.

http://lxc.sourceforge.net/index.php/about/lxc-development/

Distrowatch также сделал хороший обзор на прошлой неделе

http://distrowatch.com/weekly.php?issue=20130429#qa

пантера
источник