Создание профиля OpenVZ: различия между версиями
(Отмена правки 15767 участника АндрейЧерепанов (обсуждение)) |
|||
Строка 9: | Строка 9: | ||
Команда вида: | Команда вида: | ||
<pre> | <pre> | ||
$ mkve-template --hypervisor=openvz --packages='apt proftpd openssh-server' /tmp/test_template | $ mkve-template --hypervisor=openvz --packages='interactivesystem apt proftpd openssh-server' /tmp/test_template | ||
</pre> | </pre> | ||
создаст темплейт с именем '''test_template''' в каталоге '''/tmp'''. | создаст темплейт с именем '''test_template''' в каталоге '''/tmp'''. | ||
Строка 17: | Строка 17: | ||
Дополнительные ключи команды можно узнать запустив её с ключом '''--help'''. | Дополнительные ключи команды можно узнать запустив её с ключом '''--help'''. | ||
<div style="border: 1px solid darkblue; padding: 4px;">'''Внимание!''' Для входа в shell виртуальной машины командой ''vzctl enter <VEID>'' обязательно указывайте пакет '''interactivesystem'''</div> | |||
=== Базовые пакеты === | === Базовые пакеты === | ||
Бывает необходимо поставить в контейнер пакеты для более удобной работы с контейнером. | Бывает необходимо поставить в контейнер пакеты для более удобной работы с контейнером. |
Текущая версия от 17:21, 23 августа 2010
Требования к окружению
У вас должна быть установлена система ALT Linux, необходимые утилиты для создания профиля. На сервере, где будет разворачиваться профиль необходимо иметь работающее ядро с поддержкой openvz, утилиты управления контейнерами.
Имейте ввиду, создать профиль на i586-машине для архитектуры x86_64 нельзя.
Создание темплейта контейнера
Создать темплейт для профиля проще всего командой mkve-template из пакета mkve. Команда вида:
$ mkve-template --hypervisor=openvz --packages='interactivesystem apt proftpd openssh-server' /tmp/test_template
создаст темплейт с именем test_template в каталоге /tmp. В качестве опций указали команде, что необходимо создать темплейт для системы виртуализации OpenVZ (опция --hypervisor=openvz), указали список пакетов, которые будут обязательно установлены при создании профиля (опция --packages=).
Список пакетов можно записать в файл и указать путь к нему используя ключ --fpackages=FILES Дополнительные ключи команды можно узнать запустив её с ключом --help.
Базовые пакеты
Бывает необходимо поставить в контейнер пакеты для более удобной работы с контейнером. Например, для удобного редактирования текстовых файлов достаточно доставить пакет vim-console, что бы иметь возможность после развёртывания контейнера устанавливать дополнительное ПО, необходимо прописать пакет apt. Для доступа к контейнеру по протоколу SSH, достаточно указать поставить пакет openssh-server
Все пакеты, как показано выше, можно передать программе посредством ключа --packages или --fpackages=FILES. Необходимые пакеты можно доставить и после развёртывания контейнера.
Создание профиля
Перед тем как создать профиль, необходимо настроить сборочную систему Hasher.
Имея настроенную систему hasher, можно собрать профиль из заранее заготовленного темплейта OpenVZ используя команду mkve-bundle. Запустим команду, указав в качестве опций, создать профиль для OpenVZ (опция --hypervisor=openvz), куда нужно сохранить профиль после создания (опция --output=/home/test/bundles/) и путь к ранее созданному темплейту:
$ mkve-bundle --hypervisor=openvz --output=/home/test/bundles/tesing.bun /tmp/test_template/
Если всё прошло удачно, то в директории, /home/test/bundles, увидим созданный файл профиля:
$ ls -l /home/test/bundles/ итого 145948 -rw-r--r-- 1 mike mike 149299200 Май 26 19:00 testing.bun
Создание plain openvz template cache
Если вам не требуется создание bundle (для использования из alterator), а нужен простой openvz template cache (для создания контейнеров непосредственно с помощью vzctl), можно воспользоваться утилитой mkve-cache:
$ mkve-cache -v --create-fake-devices -z --output altlinux-5.1-i586.tar.gz awk vim-console
Указание --apt-conf не предусмотрено, так что нужно прописать в /etc/apt/sources.list необходимые репозиториии.