CoreSystem/Virtualization: различия между версиями
Строка 2: | Строка 2: | ||
__TOC__ | __TOC__ | ||
=== Пакет mkve === | === Пакет mkve === | ||
Строка 60: | Строка 38: | ||
# в bundle для гипервизора $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 === |
Версия от 18:29, 20 февраля 2009
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).
Утилита mkve-bundle
/* Для создания tarball'ов с заданным набором пакетов используется утилита mkve-cache(1). Она создает hasher'овский chroot, устанавливает в него необходимые пакеты, копирует в него необходимые файлы, запускает хуки и команды. После (или вместо) этого она может затарить указанный chroot (это может быть произвольный hasher'овский chroot). Предположительно, скоро эта утилита будет переименована в hsh-<что-то> и переедет в hasher(7). */
Формат шаблона
Вот полный список файлов для гипервизора hypervisor:
./version # версия шаблона ./packages/$hypervisor # файл со списком пакетов, устанавливающихся в bundle # при использовании гипервизора $hypervisor ./hooks-lists/$hypervisor # [необ.] файл со списком хуков для гипервизора $hypervisor ./conf/$hypervisor/ # [необ.] директория, содержащая дополнительные файлы для упаковки # в bundle для гипервизора $hypervisor
Таким образом, все, кроме версии зависит от типа виртуализации и единственным обязательным списком является список пакетов.
Утилита mkve-cache (aka hsh-?)
Для тех, кто привык не надеяться ни на кого, кроме себя и hasher'а, имеется утилита mkve-cache. Эта утилита позволяет создать и упаковать hasher'овский chroot с нужным набором пакетов. Кроме этого, при создании chroot можно запускать хуки, команды и копировать файлы из host'а в chroot. Подробное описание см. в mkve(1).
Пример 1.
$ mkve-cache --out <file> <список пакетов>
установит в дефолтный hasher'овский chroot пакеты <список пакетов>, и после этого запакует содержимое chroot'а в файл <file>.
Пример 2.
$ mkve-cache --out <file> --command 'chkconfig sshd on' <список пакетов>
установит в дефолтный hasher'овский chroot пакеты <список пакетов>, запустит в chroot'е команду
chkconfig sshd on
и после этого запакует содержимое chroot'а в файл <file>.
Пример 3.
$ mkve-cache -z --tarify-only <путь к hasher'овскому chroot'у>
просто запакует указанный chroot в файл $TMPDIR/output.tar.gz.
Пакет alterator-mkve
Управление виртуальными машинами средствами alterator и mkve
Кроме web-морды для mkve этот модуль предоставляет дополнительные возможности для управления машинами.
OpenVZ
Специальная часть для OpenVZ является "полупрямым" потомком alterator-ovz.
Планы
- шаблон test
- mkve-cache будет переименован и уедет в пакет hasher
- Локализация и документация alterator-mkve (help’ы к альтератору)
Bugs
mkve
- Неправильно убивается /var/lock/mkve/
- Проверять наличие vzctl, и если нет, то не запускать её при проверке существования ovz-шных машин
- В bugzilla предостаточно багов, относящихся к старому alterator-ovz. С большой долей вероятности, они еще актуальны.