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

Материал из ALT Linux Wiki
Нет описания правки
(Отмена правки 15767 участника АндрейЧерепанов (обсуждение))
Строка 1: Строка 1:
== Требования к окружению ==
У вас должна быть установлена система ALT Linux, необходимые утилиты для создания профиля.
На сервере, где будет разворачиваться профиль необходимо иметь работающее ядро с поддержкой '''openvz''', утилиты управления контейнерами.
Имейте ввиду, создать профиль на i586-машине для архитектуры x86_64 нельзя.
== Создание темплейта контейнера ==
== Создание темплейта контейнера ==
Создать темплейт для профиля проще всего командой '''mkve-template''' из пакета '''mkve'''.
Создать темплейт для профиля проще всего командой '''mkve-template''' из пакета '''mkve'''.
Команда вида:
Команда вида:
<pre>
<pre>
$ mkve-template --hypervisor=openvz --packages='interactivesystem apt proftpd openssh-server' /tmp/test_template
$ mkve-template --hypervisor=openvz --packages='apt proftpd openssh-server' /tmp/test_template
</pre>
</pre>
создаст темплейт с именем '''test_template''' в каталоге '''/tmp'''.
создаст темплейт с именем '''test_template''' в каталоге '''/tmp'''.
Строка 10: Строка 16:
Список пакетов можно записать в файл и указать путь к нему используя ключ '''--fpackages=FILES'''
Список пакетов можно записать в файл и указать путь к нему используя ключ '''--fpackages=FILES'''
Дополнительные ключи команды можно узнать запустив её с ключом '''--help'''.
Дополнительные ключи команды можно узнать запустив её с ключом '''--help'''.
<div style="border: 1px solid darkblue; padding: 4px;">'''Внимание!''' Для входа в shell виртуальной машины командой ''vzctl enter <VEID>'' обязательно указывайте пакет '''interactivesystem'''</div>


=== Базовые пакеты ===
=== Базовые пакеты ===
Строка 20: Строка 24:
Все пакеты, как показано выше, можно передать программе посредством ключа '''--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]]

Версия от 17:20, 23 августа 2010

Требования к окружению

У вас должна быть установлена система ALT Linux, необходимые утилиты для создания профиля. На сервере, где будет разворачиваться профиль необходимо иметь работающее ядро с поддержкой openvz, утилиты управления контейнерами.

Имейте ввиду, создать профиль на i586-машине для архитектуры x86_64 нельзя.

Создание темплейта контейнера

Создать темплейт для профиля проще всего командой mkve-template из пакета mkve. Команда вида:

$ mkve-template --hypervisor=openvz --packages='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 необходимые репозиториии.