CoreSystem/Virtualization
Sisyphus Core — виртуализация
Список имеющихся пакетов
mkve
Создание, удаление и управление виртуальными машинами
Пакет содержит профили серверов и утилиту mkve, предназначенную для создания виртуальных машин на их основе. В данный момент каждый профиль (набор пакетов и хуков для каждого гипервизора) сильно зависит от пакета с аналогичным ve- именем. К примеру, ftp-server зависит от пакета ve-ftp-server. Образ виртуальной машины собирается на основе репозиториев, настроенных на сборочной машине.
Машины создаются при помощи libvirt, так что, теоретически, доступны все средства управления, предоставляемые libvirt’ом. (Практически же, их нужно реализовывать на Python, пользуюясь libvirt'овским API.)
Для создания tarball'ов с заданным набором пакетов используется утилита mkve-cache(1). Она создает hasher'овский chroot, устанавливает в него необходимые пакеты, копирует в него необходимые файлы, запускает хуки и команды. После (или вместо) этого она может затарить указанный chroot (это может быть произвольный hasher'овский chroot). Предположительно, скоро эта утилита будет переименована в hsh-<что-то> и переедет в hasher(7).
alterator-mkve
Управление виртуальными машинами средствами mkve
Интерфейс предоставляет возможности создавать и уничтожать, запускать и останавливать виртуальные машины.
Каждой виртуальной машине присваивается уникальный (в пределах hardware node) ID. Для того чтобы удовлетворить соглашениям, принятым в OpenVZ, ID выдаются начиная со 100. К бриджу mkvebr0 добавляется виртуальная сеть mkve-network (192.0.2.1/24). Виртуальная машина с ID=X имеет в этой сети адрес 192.0.2.X. В каждой виртуальной машине выложен публичный SSH ключ для root, секретная часть которого находится в файле /var/lib/mkve/keys/key.
Планы
- предварительное тестирование
- подготовка готовых профилей
- выкладывание в Сизиф
- mkve-cache будет переименован и уедет в пакет hasher
- поддержка kvm
- поддержка xen
- Локализация и документация alterator-mkve (help’ы к альтератору)
Bugs
mkve
- заведомо падает сборка:
- qemu::asterisk
- qemu::caching-nameserv
- qemu::kerberos-serverer
- qemu::list-server
- qemu::ntp-server
- qemu::proxy-server
- qemu::ftp-server
- qemu::imap-server
- qemu::smtp-server
- Неправильно убивается /var/lock/mkve/
- Проверять наличие vzctl, и если нет, то не запускать её при проверке существования ovz-шных машин
- В bugzilla предостаточно багов, относящихся к старому alterator-ovz. С большой долей вероятности, они еще актуальны.