LXC Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:руководство_по_ubuntu_server:виртуализация:lxc [2012/10/27 10:55]
[Безопасность]
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>​
  
Строка 495: Строка 498:
 По умолчанию LXC контейнеры запускаются под управлением политики Apparmor для ограничения некоторых действий. Несмотря на то, что более строгая безопасность является задачей следующих редакций,​ в 12.04 LTS задачей политики Apparmor является не прекращение злонамеренных действий,​ а предупреждения случайных повреждений основной системы из гостевой. По умолчанию LXC контейнеры запускаются под управлением политики Apparmor для ограничения некоторых действий. Несмотря на то, что более строгая безопасность является задачей следующих редакций,​ в 12.04 LTS задачей политики Apparmor является не прекращение злонамеренных действий,​ а предупреждения случайных повреждений основной системы из гостевой.
  
-Смотрите [[http://​wiki.ubuntu.com/​LxcSecurity|LXC security ​wiki]] страницу для дополнительной актуальной информации.+Смотрите [[http://​wiki.ubuntu.com/​LxcSecurity|LxcSecurity ​wiki]] страницу для дополнительной актуальной информации.
  
 ===Используемые системные вызовы=== ===Используемые системные вызовы===
Строка 503: Строка 506:
 ====Ссылки==== ====Ссылки====
  
-    The DeveloperWorks ​article ​LXC: Linux container tools was an early introduction to the use of containers+  ~~ Статья в DeveloperWorks ​[[https://​www.ibm.com/​developerworks/​linux/​library/​l-lxc-containers/​|LXC: Linux container tools]] является введением в использование контейнеров
- +  ~~ [[http://​www.ibm.com/​developerworks/​linux/​library/​l-lxc-security/​index.html|The Secure Containers Cookbook]] демонстрирует использование модулей безопасности с целью сделать контейнеры более безопасными
-    ​The Secure Containers Cookbook ​demonstrated the use of security modules to make containers more secure+  ~~ Страницы руководств могут быть найдены по данным ссылкам
- +    ​~~ [[http://​manpages.ubuntu.com/​manpages/​en/​man7/​capabilities.7.html|capabilities]]. 
-    Manual pages referenced above can be found at: +    ​~~ [[http://​manpages.ubuntu.com/​manpages/​en/​man5/​lxc.conf.5.html|lxc.conf]]. 
- +  ~~ Основное развитие проекта ​LXC на [[http://​lxc.sf.net/​|Sourceforge]]
-    capabilities +  ~~ Проблемы безопасности приведены и обсуждаются на странице [[http://wiki.ubuntu.com/​LxcSecurity|LxcSecurity wiki]]. 
-    lxc.conf +  ~~ Для дополнительной информации по пространствам имен в 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|перевод]]).
-    The upstream ​LXC project is hosted at Sourceforge. +
- +
-    LXC security issues are listed and discussed at the LXC Security ​wiki page +
- +
-    For more on namespaces in Linux, see: S. Bhattiprolu,​ E. W. Biederman, S. E. Hallyn, and D. Lezcano. Virtual Servers and Check- point/Restart in Mainstream Linux. SIGOPS ​Op- erating ​Systems Review, 42(5), 2008. +
  
 ---- ----
Строка 524: Строка 521:
 [[wiki:​руководство_по_ubuntu_server:​виртуализация:​ubuntu_cloud|<​-назад]] |  [[wiki:​руководство_по_ubuntu_server:​виртуализация:​ubuntu_cloud|<​-назад]] | 
 [[wiki:​руководство_по_ubuntu_server:​кластеризация|далее->​]]</​style>​ [[wiki:​руководство_по_ubuntu_server:​кластеризация|далее->​]]</​style>​
-