CoreSystem/Virtualization
Материал из ALT Linux Wiki
(→Пример шаблона для qemu) |
(→Sisyphus Core — виртуализация) |
||
Строка 1: | Строка 1: | ||
== Sisyphus Core — виртуализация == | == Sisyphus Core — виртуализация == | ||
+ | |||
__TOC__ | __TOC__ | ||
- | === | + | === Пакет mkve === |
+ | Создание, удаление и управление виртуальными машинами. | ||
+ | В данный момент {{pkg|mkve}} поддерживает работу с OpenVZ и QEMU. | ||
- | ==== mkve ==== | + | ==== Утилита {{prg|mkve}} ==== |
- | + | Для создания/удаления, запуска/останова и изменения базовых свойств виртуальных машин используется утилита {{prg|mkve}}. | |
+ | Эта утилита написана с использованием библиотеки [http://www.libvirt.org/ libvirt]. Виртуальные машины создаются на основе | ||
+ | так называемых bundles, tarball'ов специального вида (см. описание {{prg|mkve-bundle}}). | ||
- | + | /* Каждой виртуальной машине присваивается уникальный (в пределах hardware node) ID. | |
- | + | Для того чтобы удовлетворить соглашениям, принятым в OpenVZ, ID выдаются начиная со 100. | |
- | + | К бриджу {{term|mkvebr0}} добавляется виртуальная сеть {{term|mkve-network}} ({{term|192.0.2.1/24}}). | |
- | {{term| | + | Виртуальная машина с ID={{term|X}} имеет в этой сети адрес {{term|192.0.2.X}}. */ |
- | + | ||
- | + | ||
- | + | ==== Утилита {{prg|mkve-bundle}} ==== | |
- | + | ||
- | + | ||
- | Для создания tarball'ов с заданным набором пакетов используется утилита {{prg|mkve | + | /* Для создания tarball'ов с заданным набором пакетов используется утилита {{prg|mkve-cache}}(1). Она создает {{prg|hasher}}'овский chroot, устанавливает в него необходимые пакеты, копирует в него необходимые файлы, запускает хуки и команды. После (или вместо) этого она может затарить указанный chroot (это может быть произвольный {{prg|hasher}}'овский chroot). Предположительно, скоро эта утилита будет переименована в hsh-<что-то> и переедет в {{prg|hasher}}(7). */ |
- | Она создает {{prg|hasher}}'овский chroot, устанавливает в него необходимые пакеты, копирует | + | |
- | в него необходимые файлы, запускает хуки и команды. После (или вместо) этого она может | + | |
- | затарить указанный chroot (это может быть произвольный {{prg|hasher}}'овский chroot). | + | |
- | Предположительно, скоро эта утилита будет переименована в hsh-<что-то> и переедет в {{prg|hasher}}(7). | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
==== Формат шаблона ==== | ==== Формат шаблона ==== | ||
Строка 67: | Строка 56: | ||
=== Планы === | === Планы === | ||
- | * | + | * шаблон test |
- | + | ||
* {{prg|mkve-cache}} будет переименован и уедет в пакет {{pkg|hasher}} | * {{prg|mkve-cache}} будет переименован и уедет в пакет {{pkg|hasher}} | ||
- | |||
- | |||
* Локализация и документация {{prg|alterator-mkve}} (help’ы к альтератору) | * Локализация и документация {{prg|alterator-mkve}} (help’ы к альтератору) | ||
Строка 78: | Строка 64: | ||
=== Bugs === | === Bugs === | ||
'''mkve''' | '''mkve''' | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
* Неправильно убивается {{path|/var/lock/mkve/}} | * Неправильно убивается {{path|/var/lock/mkve/}} | ||
* Проверять наличие {{prg|vzctl}}, и если нет, то не запускать её при проверке существования ovz-шных машин | * Проверять наличие {{prg|vzctl}}, и если нет, то не запускать её при проверке существования ovz-шных машин |
Версия 14:27, 9 февраля 2009
Sisyphus Core — виртуализация
Содержание |
Пакет mkve
Создание, удаление и управление виртуальными машинами. В данный момент mkve поддерживает работу с OpenVZ и QEMU.
Утилита mkve
Для создания/удаления, запуска/останова и изменения базовых свойств виртуальных машин используется утилита mkve. Эта утилита написана с использованием библиотеки libvirt. Виртуальные машины создаются на основе так называемых bundles, tarball'ов специального вида (см. описание mkve-bundle).
/* Каждой виртуальной машине присваивается уникальный (в пределах hardware node) ID. Для того чтобы удовлетворить соглашениям, принятым в OpenVZ, ID выдаются начиная со 100. К бриджу mkvebr0 добавляется виртуальная сеть mkve-network (192.0.2.1/24). Виртуальная машина с ID=X имеет в этой сети адрес 192.0.2.X. */
Утилита 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
Таким образом, все, кроме версии зависит от типа виртуализации и единственным обязательным списком является список пакетов.
Пример. Шаблон test, поставляемый с пакетом mkve.
$ cd /usr/share/mkve/templates/test && find ./version ./packages/openvz ./packages/qemu ./hooks-lists/openvz ./hooks-lists/qemu ./conf/openvz/config
alterator-mkve
Управление виртуальными машинами средствами alterator и mkve
Кроме web-морды для mkve этот модуль предоставляет дополнительные возможности для управления машинами.
Специальная часть для OpenVZ является "полупрямым" потомком alterator-ovz. Однако, сейчас это работает не корректно: из-за смешения netif_add и ipadd.
Планы
- шаблон test
- mkve-cache будет переименован и уедет в пакет hasher
- Локализация и документация alterator-mkve (help’ы к альтератору)
Bugs
mkve
- Неправильно убивается /var/lock/mkve/
- Проверять наличие vzctl, и если нет, то не запускать её при проверке существования ovz-шных машин
- В bugzilla предостаточно багов, относящихся к старому alterator-ovz. С большой долей вероятности, они еще актуальны.