Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:руководство_по_ubuntu_server:виртуализация:lxc [2012/10/27 11:30] [Ссылки] |
wiki:руководство_по_ubuntu_server:виртуализация:lxc [2014/05/15 13:56] (текущий) [Настройка основной системы] |
||
---|---|---|---|
Строка 54: | Строка 54: | ||
**LXC** сохраняет информацию контейнеров и корневую файловую систему (с резервным хранилищем по умолчанию) в **/var/lib/lxc**. Также шаблоны создания контейнеров предпочитают хранить закешированную информацию по дистрибутивам в **/var/cache/lxc**. | **LXC** сохраняет информацию контейнеров и корневую файловую систему (с резервным хранилищем по умолчанию) в **/var/lib/lxc**. Также шаблоны создания контейнеров предпочитают хранить закешированную информацию по дистрибутивам в **/var/cache/lxc**. | ||
- | Если вы хотите использовать для **/var** иную файловую систему, вы можете смонтировать в этот каталог другую файловую систему большего объема. Если у вас есть диск, предназначенный для этих целей, вы можете просто смонтировать его в **/var/lib/lxc**. Если вы предпочитаете использовать другое расположение, такое как /srv, вы можете примонтировать его к этому каталогу или создать символическую ссылку. Например, если /srv является большой смонтированной файловой системой, создайте два каталога и символьные ссылки на них: | + | Дефолтный путь, называемый **lxcpath**, может быть переопределён в командной строке ключом **-P** или навсегда через **lxcpath = /новый/путь** в **/etc/lxc/lxc.conf** |
+ | Если вы переопределяете **lxcpath**, то каталог снимков **snap** добавляется к **lxcpath** и магическим образом за ним следует. Кэш шаблонов, к сожалению, жёстко вшит и не просто его сменить. | ||
+ | Но можно всё сделать через символические ссылки. Например, если /srv является большой смонтированной файловой системой, создайте каталог и символьную ссылку на него: | ||
<code> | <code> | ||
- | sudo mkdir /srv/lxclib /srv/lxccache | + | sudo mkdir /srv/lxccache |
- | sudo rm -rf /var/lib/lxc /var/cache/lxc | + | sudo rm -rf /var/cache/lxc |
- | sudo ln -s /srv/lxclib /var/lib/lxc | + | |
sudo ln -s /srv/lxccache /var/cache/lxc | sudo ln -s /srv/lxccache /var/cache/lxc | ||
</code> | </code> | ||
или, используя монтирование: | или, используя монтирование: | ||
<code> | <code> | ||
- | sudo mkdir /srv/lxclib /srv/lxccache | + | sudo mkdir /srv/lxccache |
sudo sed -i '$a \ | sudo sed -i '$a \ | ||
- | /srv/lxclib /var/lib/lxc none defaults,bind 0 0 \ | ||
/srv/lxccache /var/cache/lxc none defaults,bind 0 0' /etc/fstab | /srv/lxccache /var/cache/lxc none defaults,bind 0 0' /etc/fstab | ||
sudo mount -a | sudo mount -a | ||
Строка 79: | Строка 79: | ||
Если основная система имеет **/var**, размеченный как **btrfs**, средства администрирования LXC распознают это и автоматически будут использовать для клонирования контейнеров снимки btrfs. | Если основная система имеет **/var**, размеченный как **btrfs**, средства администрирования LXC распознают это и автоматически будут использовать для клонирования контейнеров снимки btrfs. | ||
+ | ===ZFS=== | ||
+ | |||
+ | Подобно **btrfs**, использование **zfs** позволит применять возможности, но уже **ZFS**: подтом (subvolume) для контейнера, быстрое создание снимков и клонов, более эффективное использование места на диске за счёт дедупликации. | ||
===Apparmor=== | ===Apparmor=== | ||
- | LXC поставляется с профилем Apparmor, предназначенным для защиты основной системы от случайного неправильного использования привилегий внутри контейнера. Нпример, контейнер не должен иметь возможности писать в каталог /proc/sysrq-trigger или менять большинство файлов в каталоге /sys. | + | LXC поставляется с профилем Apparmor, предназначенным для защиты основной системы от случайного неправильного использования привилегий внутри контейнера. Например, контейнер не должен иметь возможности писать в каталог /proc/sysrq-trigger или менять большинство файлов в каталоге /sys. |
Профиль **usr.bin.lxc-start** используется при запуске **lxc-start**. Этот профиль в основном предотвращает монтирование **lxc-start** новых файловых систем вне корневой файловой системы контейнера. Перед инициализацией контейнера LXC запрашивает переключение на профиль контейнера. По умолчанию используется профиль **lxc-container-default**, определенный в **/etc/apparmor.d/lxc/lxc-default**. Этот профиль запрещает контейнеру доступ к многим опасным каталогам и монтирование большинства файловых систем. | Профиль **usr.bin.lxc-start** используется при запуске **lxc-start**. Этот профиль в основном предотвращает монтирование **lxc-start** новых файловых систем вне корневой файловой системы контейнера. Перед инициализацией контейнера LXC запрашивает переключение на профиль контейнера. По умолчанию используется профиль **lxc-container-default**, определенный в **/etc/apparmor.d/lxc/lxc-default**. Этот профиль запрещает контейнеру доступ к многим опасным каталогам и монтирование большинства файловых систем. | ||
Строка 198: | Строка 201: | ||
===Клонирование=== | ===Клонирование=== | ||
- | Для быстрой подготовки к работе вы можете решить изменить canonical контейнер в соответствии с вашими требованиями и затем сделать множество его копий. Это можно осуществить с помощью программы lxc-clone. Дан существующий контейнер с именем C1, новый контейнер C2 мможет быть создан: | + | Для быстрой подготовки к работе вы можете решить изменить canonical контейнер в соответствии с вашими требованиями и затем сделать множество его копий. Это можно осуществить с помощью программы lxc-clone. Дан существующий контейнер с именем C1, новый контейнер C2 может быть создан: |
<code>sudo lxc-clone -o C1 -n C2</code> | <code>sudo lxc-clone -o C1 -n C2</code> | ||
Строка 510: | Строка 513: | ||
~~ Основное развитие проекта LXC на [[http://lxc.sf.net/|Sourceforge]]. | ~~ Основное развитие проекта LXC на [[http://lxc.sf.net/|Sourceforge]]. | ||
~~ Проблемы безопасности приведены и обсуждаются на странице [[http://wiki.ubuntu.com/LxcSecurity|LxcSecurity wiki]]. | ~~ Проблемы безопасности приведены и обсуждаются на странице [[http://wiki.ubuntu.com/LxcSecurity|LxcSecurity wiki]]. | ||
- | ~~ Для дополнительной информации по пространствам имен в Linux смотрите книгу **S. Bhattiprolu, E. W. Biederman, S. E. Hallyn, and D. Lezcano. //Virtual Servers and Check- point/Restart in Mainstream Linux.// SIGOPS Operating Systems Review, 42(5), 2008**. | + | ~~ Для дополнительной информации по пространствам имен в Linux смотрите: [[http://dl.acm.org/citation.cfm?id=1400097.1400109&coll=DL&dl=GUIDE&CFID=133158545&CFTOKEN=80778967|S.Bhattiprolu, E.W.Biederman, S.E.Hallyn, and D.Lezcano. Virtual Servers and Checkpoint/Restart in Mainstream Linux. SIGOPS Operating Systems Review, 42(5), 2008]]. |
+ | ~~ Стефан Грабер (Stéphane Graber), в предверии выхода 20 февраля 2014 года релиза LXC 1.0, опубликовал цикл статей о Linux Containers. [[https://www.stgraber.org/2013/12/20/lxc-1-0-blog-post-series/|LXC 1.0: Blog post series]] ([[http://vasilisc.com/lxc-1-0-blog-post-series|перевод]]). | ||
---- | ---- | ||
Строка 517: | Строка 521: | ||
[[wiki:руководство_по_ubuntu_server:виртуализация:ubuntu_cloud|<-назад]] | | [[wiki:руководство_по_ubuntu_server:виртуализация:ubuntu_cloud|<-назад]] | | ||
[[wiki:руководство_по_ubuntu_server:кластеризация|далее->]]</style> | [[wiki:руководство_по_ubuntu_server:кластеризация|далее->]]</style> | ||
- |