Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
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> | ||
| - | |||