Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
serverguide-precise-ru.pdf
Скачиваний:
77
Добавлен:
03.05.2015
Размер:
1.86 Mб
Скачать

Виртуализация

lxc-info возвращает статус контейнера и pid его инициирующего процесса. lxc-cgroup может быть использована для получения и установки переменных ограничений и информации управляющих групп контейнера. Это может оказаться более удобным, чем взаимодействие с файловой системой cgroup. Например, для получения списка устройств, к которым контейнер имеет доступ, вы можете использовать:

sudo lxc-cgroup -n CN devices.list

или для добавления прав доступа mknod, read и write к /dev/sda,

sudo lxc-cgroup -n CN devices.allow "b 8:* rwm"

и для ограничения памяти до 300M:

lxc-cgroup -n CN memory.limit_in_bytes 300000000

lxc-netstat выполняет netstat в запущенном контейнере, давая вам представление о статусе его сети.

lxc-backup создаст резервные копии корневой файловой системы всех существующих контейнеров (за исключением основанных на lvm-based ), используя rsync для сохранения содержимого в /var/lib/ lxc/CN/rootfs.backup.1. Эти резервные копии могут использоваться для восстановления с помощью lxc-restore Однако, lxc-backup и lxcrestore неустойчивы благодаря модификациям и, соответственно, не рекомендуются к использованию.

5.3.7. Уничтожение контейнеров

Используйте lxc-destroy для уничтожения контейнера.

sudo lxc-destroy -n CN

Если контейнер запущен, lxc-destroy завершится с сообщением о возможности остановить и уничтожить контейнер с помощью команды

sudo lxc-destroy -n CN -f

5.3.8. Использование расширенного пространства имен

Одной из особенностей ядра Linux, используемой в LXC для создания контейнеров, являются частные пространства имён. Пространства имён позволяют ряду задач иметь частные отображения имен ресурсов для таких вещей как пути и ID процессов. (Смотрите Раздел 5.9, «Ресурсы» [418] для дополнительной информации). В отличие от

408

Виртуализация

групп управления и других особенностей монтирования, которые также используются при создании контейнеров, пространствами имён

невозможно манипулировать при помощи интерфейса файловой системы. Поэтому LXC поставляется с программой lxc-unshare которая большей частью используется для тестирования. Она предоставляет возможность создавать новую задачу в частном пространстве имён. Например,

sudo lxc-unshare -s 'MOUNT|PID' /bin/bash

создаст оболочку shell с частными pid и пространством имён монтирования. В этой оболочке вы можете выполнить

root@ubuntu:~#

mount -t

proc proc /proc

 

root@ubuntu:~#

ps -ef

 

 

 

 

UID

PID

PPID

C

STIME TTY

TIME CMD

root

1

0

6

10:20

pts/9

00:00:00 /bin/bash

root

110

1

0

10:20

pts/9

00:00:00 ps -ef

притом, что ps покажет только задачи в вашем новом пространстве имён.

5.3.9. Недолговечные контейнеры

Недолговечные (эфемерные — ephemeral) контейнеры — это одноразовые контейнеры. Имея созданный контейнер CN, вы можете выполнить команду в недолговечном контейнере, созданном на основе CN, подсоединив пользователя jdoe в контейнер, используя команду:

lxc-start-ephemeral -b jdoe -o CN -- /home/jdoe/run_my_job

После завершения задания, контейнер будет сброшен. 5.3.10. Команды для работы с контейнерами Далее приведена таблица всех контейнерных команд:

Таблица 20.3. Команды для работы с контейнером

Команда

Описание

 

 

lxc-attach

(НЕ ПОДДЕРЖИВАЕТСЯ) Выполняет команду в

 

запущенном контейнере

 

 

lxc-backup

Создаёт резервную копию корневой системы для

 

всех контейнеров, основанных на lvm

 

 

lxc-cgroup

Просмотр и установка параметров групп управления

 

 

lxc-checkconfig

Проверка основной системы на поддержку

 

контейнеров

 

 

409

 

Виртуализация

 

 

Команда

Описание

 

 

lxc-checkpoint

(НЕ ПОДДЕРЖИВАЕТСЯ) Контрольная точка для

 

запущенного контейнера

 

 

lxc-clone

Создание копии существующего контейнера

 

 

lxc-console

Открытие консоли работающего контейнера

 

 

lxc-create

Создание нового контейнера

 

 

lxc-destroy

Уничтожение существующего контейнера

 

 

lxc-execute

Запуск команды в (незапущенном) контейнере

 

приложений

 

 

lxc-freeze

Приостановка работающего контейнера

 

 

lxc-info

Вывод информации о состоянии контейнера

 

 

lxc-kill

Передача сигнала в инициализирующий процесс

 

контейнера

 

 

lxc-list

Получение списка всех контейнеров

 

 

lxc-ls

Получение списка всех контейнеров с меньшим

 

выводом, чем у lxc-list

 

 

lxc-monitor

Отслеживание изменения состояния одного или

 

нескольких контейнеров

 

 

lxc-netstat

Выполнение команды netstat в запущенном

 

контейнере

 

 

lxc-ps

Просмотр информации по процессам в работающем

 

контейнере

 

 

lxc-restart

(НЕ ПОДДЕРЖИВАЕТСЯ) Сброс контейнера,

 

остановленного в контрольной точке

 

 

lxc-restore

Восстановление контейнеров из резервных копий,

 

сделанных lxc-backup

 

 

lxc-setcap

(НЕ РЕКОМЕНДУЕТСЯ) Установка характеристик

 

файлов (file capabilities) на инструменты LXC

 

 

lxc-setuid

(НЕ РЕКОМЕНДУЕТСЯ) Установка или сброс setuid

 

битов для инструментов LXC

 

 

lxc-shutdown

Безопасное завершение работы контейнера

 

 

lxc-start

Запуск остановленного контейнера

 

 

lxc-start-ephemeral

Запуск недолговечного (одноразового) контейнера

 

 

lxc-stop

Немедленная остановка работающего контейнера

 

 

410

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]