|
|
Строка 1: |
Строка 1: |
| | {{Stub}} |
| | |
| == Sisyphus Core — виртуализация == | | == Sisyphus Core — виртуализация == |
|
| |
|
| __TOC__ | | __TOC__ |
|
| |
| === Пакеты ve-* ===
| |
|
| |
| Эти пакеты предназначены для создания контейнеров. Они не содержат ни одного
| |
| файла, но вытягивают указанные в них пакеты по зависимостям. Имеется два типа
| |
| таких пакетов.
| |
|
| |
| Первый тип составляют пакеты {{pkg|ve-<name>}}. Они определяют множество пакетов,
| |
| необходимое для создания контейнера для "сервиса" {{pkg|<name>}}. Например,
| |
| пакет {{pkg|ve-ftp-server}} вытягивает множество пакетов, необходимое для поднятия
| |
| ftp-сервера на "работающей" виртуальной машине.
| |
|
| |
| Второй тип составляют пакеты {{pkg|ve-hypervisor-<hypervisor>}}. Они определяют
| |
| дополнительное множество пакетов, необходимое для запуска сервиса под конкретным
| |
| типом виртуализации. Этот пакет может оказаться и "пустым", если дополнительных
| |
| пакетов не требуется (как, например, в случае OpenVZ).
| |
|
| |
| Таким образом, множество пакетов, требуемых для поднятия сервиса {{term|<service>}}
| |
| на виртуальной машине под управлением гипервизора {{term|<hypervisor>}} определяется
| |
| "суммой" {{pkg|ve-<service>}} + {{pkg|ve-hypervisor-<hypervisor>}}.
| |
|
| |
|
| === Пакет mkve === | | === Пакет mkve === |
Строка 44: |
Строка 26: |
|
| |
|
| Полное описание возможностей программы {{prg|mkve}} см. в mkve(1). | | Полное описание возможностей программы {{prg|mkve}} см. в mkve(1). |
|
| |
| ==== Утилита {{prg|mkve-bundle}} ====
| |
|
| |
| /* Для создания tarball'ов с заданным набором пакетов используется утилита {{prg|mkve-cache}}(1). Она создает {{prg|hasher}}'овский chroot, устанавливает в него необходимые пакеты, копирует в него необходимые файлы, запускает хуки и команды. После (или вместо) этого она может затарить указанный chroot (это может быть произвольный {{prg|hasher}}'овский chroot). Предположительно, скоро эта утилита будет переименована в hsh-<что-то> и переедет в {{prg|hasher}}(7). */
| |
|
| |
| ==== Формат шаблона ====
| |
| Вот полный список файлов для гипервизора hypervisor:
| |
| ./version # версия шаблона
| |
| ./packages/$hypervisor # файл со списком пакетов, устанавливающихся в bundle
| |
| # при использовании гипервизора $hypervisor
| |
| ./hooks-lists/$hypervisor # [необ.] файл со списком хуков для гипервизора $hypervisor
| |
| ./conf/$hypervisor/ # [необ.] директория, содержащая дополнительные файлы для упаковки
| |
| # в bundle для гипервизора $hypervisor
| |
| Таким образом, все, кроме версии зависит от типа виртуализации и единственным обязательным списком является список пакетов.
| |
|
| |
| === Утилита mkve-cache (aka hsh-?) ===
| |
| Для тех, кто привык не надеяться ни на кого, кроме себя и {{prg|hasher}}'а,
| |
| имеется утилита {{prg|mkve-cache}}. Эта утилита позволяет создать и упаковать
| |
| hasher'овский chroot с нужным набором пакетов. Кроме этого, при создании chroot
| |
| можно запускать хуки, команды и копировать файлы из host'а в chroot. Подробное описание
| |
| см. в {{term|mkve(1)}}.
| |
|
| |
| '''Пример 1.'''
| |
| $ mkve-cache --out <file> <список пакетов>
| |
| установит в дефолтный {{prg|hasher}}'овский chroot пакеты {{term|<список пакетов>}},
| |
| и после этого запакует содержимое chroot'а в файл {{term|<file>}}.
| |
|
| |
| '''Пример 2.'''
| |
| $ mkve-cache --out <file> --command 'chkconfig sshd on' <список пакетов>
| |
| установит в дефолтный {{prg|hasher}}'овский chroot пакеты {{term|<список пакетов>}},
| |
| запустит в chroot'е команду
| |
| chkconfig sshd on
| |
| и после этого запакует содержимое chroot'а в файл {{term|<file>}}.
| |
|
| |
| '''Пример 3.'''
| |
| $ mkve-cache -z --tarify-only <путь к hasher'овскому chroot'у>
| |
| просто запакует указанный chroot в файл {{path|$TMPDIR/output.tar.gz}}.
| |
|
| |
|
| === Пакет alterator-mkve === | | === Пакет alterator-mkve === |
|
Данная страница находится в разработке. Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
|
Sisyphus Core — виртуализация
Пакет mkve
Создание, удаление и управление виртуальными машинами.
В данный момент mkve поддерживает работу с OpenVZ и QEMU.
Создание и удаление виртуальной машины
Для создания и удаления виртуальных машин используется утилита mkve.
Эта утилита написана с использованием библиотеки libvirt.
Виртуальные машины создаются на основе так называемых bundles, tarball'ов специального вида
(см. описание mkve-bundle) следующим образом:
# mkve create <machine> --bundle <bundle> [дополнительные опции]
Здесь <machine> - это имя машины, а <bundle> - это bundle, созданный
с помощью mkve-bundle.
Каждой виртуальной машине присваивается уникальный (в пределах hardware node) ID.
Для того чтобы удовлетворить соглашениям, принятым в OpenVZ, ID выдаются начиная со 100.
Для того чтобы удалить виртуальную машину достаточно сказать
# mkve destroy <machine>
Полное описание возможностей программы mkve см. в mkve(1).
Пакет alterator-mkve
Управление виртуальными машинами средствами alterator и mkve
Кроме web-морды для mkve этот модуль предоставляет дополнительные возможности
для управления машинами.
OpenVZ
Специальная часть для OpenVZ является "полупрямым" потомком alterator-ovz.
Планы
- шаблон test
- mkve-cache будет переименован и уедет в пакет hasher
- Локализация и документация alterator-mkve (help’ы к альтератору)
Bugs
mkve
- Проверять наличие vzctl, и если нет, то не запускать её при проверке существования ovz-шных машин
- В bugzilla предостаточно багов, относящихся к старому alterator-ovz. С большой долей вероятности, они еще актуальны.