Создание профиля OpenVZ: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 8 промежуточных версий 4 участников)
Строка 9: Строка 9:
Команда вида:
Команда вида:
<pre>
<pre>
$ mkve-template --hypervisor=openvz --packages='apt proftpd opensshd-server' /tmp/test_template
$ mkve-template --hypervisor=openvz --packages='interactivesystem apt proftpd openssh-server' /tmp/test_template
</pre>
</pre>
создаст темплейт с именем '''test_template''' в каталоге '''/tmp''', пропишет в конфигурационный файл список пакетов, указанных ключом '''--packages''', которые будут в последствии установлены в контейнер.
создаст темплейт с именем '''test_template''' в каталоге '''/tmp'''.
В качестве опций указали команде, что необходимо создать темплейт для системы  виртуализации '''OpenVZ''' (опция '''--hypervisor=openvz'''), указали список пакетов, которые будут обязательно установлены при создании профиля (опция '''--packages=''').


Список пакетов можно записать в файл и указать путь к нему используя ключ '''--fpackages=FILES'''
Список пакетов можно записать в файл и указать путь к нему используя ключ '''--fpackages=FILES'''
Дополнительные ключи команды можно узнать запустив её с ключом '''--help'''.
Дополнительные ключи команды можно узнать запустив её с ключом '''--help'''.


<div style="border: 1px solid darkblue; padding: 4px;">'''Внимание!''' Для входа в shell виртуальной машины командой ''vzctl enter <VEID>'' обязательно указывайте пакет '''interactivesystem'''</div>
=== Базовые пакеты ===
=== Базовые пакеты ===
Бывает необходимо поставить в контейнер пакеты для более удобной работы с контейнером.
Бывает необходимо поставить в контейнер пакеты для более удобной работы с контейнером.
Строка 21: Строка 23:
Для доступа к контейнеру по протоколу SSH, достаточно указать поставить пакет '''openssh-server'''
Для доступа к контейнеру по протоколу SSH, достаточно указать поставить пакет '''openssh-server'''


Все пакеты, как показано выше можно передать программе посредством ключа '''--packages''' или '''--fpackages=FILES'''.
Все пакеты, как показано выше, можно передать программе посредством ключа '''--packages''' или '''--fpackages=FILES'''.
Необходимые пакеты можно доставить и после развёртывания контейнера.
Необходимые пакеты можно доставить и после развёртывания контейнера.
== Создание профиля ==
Перед тем как создать профиль, необходимо настроить сборочную систему [[Hasher]].
Имея настроенную систему hasher, можно собрать профиль из заранее заготовленного темплейта OpenVZ используя команду '''mkve-bundle'''.
Запустим команду, указав в качестве опций, создать профиль для '''OpenVZ''' (опция '''--hypervisor=openvz'''),
куда нужно сохранить профиль после создания (опция '''--output=/home/test/bundles/''') и путь к ранее созданному темплейту:
<pre>
$ mkve-bundle --hypervisor=openvz --output=/home/test/bundles/tesing.bun /tmp/test_template/
</pre>
Если всё прошло удачно, то в директории, '''/home/test/bundles''', увидим созданный файл профиля:
<pre>
$ ls -l /home/test/bundles/
итого 145948
-rw-r--r-- 1 mike mike 149299200 Май 26 19:00 testing.bun
</pre>
== Создание 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 необходимые репозиториии.
[[Категория:Платформа5]]

Текущая версия от 14: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.

Внимание! Для входа в shell виртуальной машины командой vzctl enter <VEID> обязательно указывайте пакет interactivesystem

Базовые пакеты

Бывает необходимо поставить в контейнер пакеты для более удобной работы с контейнером. Например, для удобного редактирования текстовых файлов достаточно доставить пакет 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 необходимые репозиториии.