CoreSystem/Virtualization: различия между версиями
Строка 2: | Строка 2: | ||
__TOC__ | __TOC__ | ||
=== Утилита mkve-cache (aka hsh-?) === | |||
Для тех, кто привык все делать сам и не надеяться ни на кого, кроме себя | |||
имеется утилита mkve-cache. | |||
=== Пакет mkve === | === Пакет mkve === | ||
Строка 7: | Строка 11: | ||
В данный момент {{pkg|mkve}} поддерживает работу с OpenVZ и QEMU. | В данный момент {{pkg|mkve}} поддерживает работу с OpenVZ и QEMU. | ||
==== | ==== Создание и удаление виртуальной машины ==== | ||
Для создания | Для создания и удаления виртуальных машин используется утилита {{prg|mkve}}. | ||
Эта утилита написана с использованием библиотеки [http://www.libvirt.org/ libvirt] | Эта утилита написана с использованием библиотеки [http://www.libvirt.org/ libvirt]. | ||
Виртуальные машины создаются на основе так называемых bundles, tarball'ов специального вида | |||
Виртуальные машины создаются так: | (см. описание {{prg|mkve-bundle}}) следующим образом: | ||
# mkve create <machine> --bundle <bundle> [дополнительные опции] | # mkve create <machine> --bundle <bundle> [дополнительные опции] | ||
Здесь {{term|<machine>}} - это имя машины, а {{term|<bundle>}} - это bundle, созданный с помощью {{prg|mkve-bundle}}. | Здесь {{term|<machine>}} - это имя машины, а {{term|<bundle>}} - это bundle, созданный | ||
с помощью {{prg|mkve-bundle}}. | |||
Каждой виртуальной машине присваивается уникальный (в пределах hardware node) ID. | |||
Для того чтобы удовлетворить соглашениям, принятым в OpenVZ, ID выдаются начиная со 100. | Для того чтобы удовлетворить соглашениям, принятым в OpenVZ, ID выдаются начиная со 100. | ||
Для того чтобы удалить виртуальную машину достаточно сказать | Для того чтобы удалить виртуальную машину достаточно сказать | ||
# mkve destroy <machine> | # mkve destroy <machine> | ||
Полное описание возможностей программы {{prg|mkve}} см. в mkve(1). | Полное описание возможностей программы {{prg|mkve}} см. в mkve(1). | ||
Строка 43: | Строка 43: | ||
Таким образом, все, кроме версии зависит от типа виртуализации и единственным обязательным списком является список пакетов. | Таким образом, все, кроме версии зависит от типа виртуализации и единственным обязательным списком является список пакетов. | ||
=== Пакет alterator-mkve === | |||
Управление виртуальными машинами средствами {{prg|alterator}} и {{prg|mkve}} | Управление виртуальными машинами средствами {{prg|alterator}} и {{prg|mkve}} | ||
Строка 62: | Строка 49: | ||
для управления машинами. | для управления машинами. | ||
==== OpenVZ ==== | |||
Специальная часть для OpenVZ является "полупрямым" потомком alterator-ovz. | Специальная часть для OpenVZ является "полупрямым" потомком alterator-ovz. | ||
<onlyinclude> | <onlyinclude> |
Версия от 18:05, 20 февраля 2009
Sisyphus Core — виртуализация
Утилита mkve-cache (aka hsh-?)
Для тех, кто привык все делать сам и не надеяться ни на кого, кроме себя имеется утилита mkve-cache.
Пакет 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
Таким образом, все, кроме версии зависит от типа виртуализации и единственным обязательным списком является список пакетов.
Пакет 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. С большой долей вероятности, они еще актуальны.