CoreSystem/Virtualization
Материал из ALT Linux Wiki
(→Создание и удаление виртуальной машины) |
(→Пакет mkve) |
||
Строка 2: | Строка 2: | ||
__TOC__ | __TOC__ | ||
+ | |||
+ | === Утилита mkve-cache (aka hsh-?) === | ||
+ | Для тех, кто привык все делать сам и не надеяться ни на кого, кроме себя | ||
+ | имеется утилита mkve-cache. | ||
=== Пакет mkve === | === Пакет mkve === | ||
Создание, удаление и управление виртуальными машинами. | Создание, удаление и управление виртуальными машинами. | ||
В данный момент {{pkg|mkve}} поддерживает работу с OpenVZ и QEMU. | В данный момент {{pkg|mkve}} поддерживает работу с OpenVZ и QEMU. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
==== Создание и удаление виртуальной машины ==== | ==== Создание и удаление виртуальной машины ==== | ||
- | Виртуальные машины создаются так: | + | Для создания и удаления виртуальных машин используется утилита {{prg|mkve}}. |
+ | Эта утилита написана с использованием библиотеки [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> |
Версия 15: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. С большой долей вероятности, они еще актуальны.