CoreSystem/Virtualization: различия между версиями

Материал из ALT Linux Wiki
(→‎Bugs: {{altbug|31200}})
 
(не показаны 92 промежуточные версии 4 участников)
Строка 1: Строка 1:
[[Category:Sisyphus]]
{{Stub}}{{Historical}}
 
== Sisyphus Core — виртуализация ==


== Sisyphus Core - виртуализация ==
__TOC__
__TOC__


=== Пакет {{pkg|mkve}} ===
{{Attention|Похоже что {{prg|mkve}} устарела, и для создания контейнеров сейчас правильнее использовать {{prg|mkimage-profiles}} (см. [[Mkimage/Profiles/m-p/examples|примеры использования]] для [[Mkimage/Profiles/m-p/examples#OpenVZ_VE|OpenVZ VE]] и [[Mkimage/Profiles/m-p/examples#Qemu_VM|Qemu VM]])}}
Создание, удаление и управление виртуальными машинами.
В данный момент {{pkg|mkve}} поддерживает работу с OpenVZ и QEMU.


=== Список имеющихся пакетов ===
==== Создание и удаление виртуальной машины ====
Для создания и удаления виртуальных машин используется утилита {{prg|mkve}}.
Эта утилита написана с использованием библиотеки [http://www.libvirt.org/ libvirt].


==== mkve ====
Виртуальные машины создаются на основе так называемых bundles, tarball'ов специального вида
Создание, удаление и первичное управление виртуальными машинами
(см. описание {{prg|mkve-bundle}}) следующим образом:
# mkve create <machine> --bundle <bundle> [дополнительные опции]
Здесь {{term|<machine>}} - это имя машины, а {{term|<bundle>}} - это bundle, созданный
с помощью {{prg|mkve-bundle}}.


Пакет содержит профили серверов и утилиты, предназначенные для создания
Каждой виртуальной машине присваивается уникальный (в пределах hardware node) ID.
виртуальных машин на их основе. В данный момент каждый профиль (набор
Для того чтобы удовлетворить соглашениям, принятым в OpenVZ, ID выдаются начиная со 100.
пакетов и хуков для каждого гипервизора) сильно зависит от пакета с аналогичным
ve- именем. К примеру, ftp-server зависит от пакета ve-ftp-server.


Для создания машины используется утилита mkve(1), которая съедает определенный
Для того чтобы удалить виртуальную машину достаточно сказать
пользователем набор аргументов (профилей, сетей, ...) кэширует их, и производит
# mkve destroy <machine>
прочие необходимые действия (которые сильно зависят от типа гипервизора).


Создаваемую машину можно подключать к виртуальной сети, которую можно создать с помощью утилиты mkve-network(1).
Полное описание возможностей программы {{prg|mkve}} см. в mkve(1).


Создание кэшей производится с помощью утилиты mkve-template(1), которая
=== Пакет alterator-mkve ===
принимает в качестве аргументов набор шаблонов и имя гипервизора, создает
Управление виртуальными машинами средствами {{prg|alterator}} и {{prg|mkve}}.
список пакетов и директорию с необходимыми хуками и передает их утилите
mkve-cache(1). В свою очередь утилита mkve-cache(1) использует для кэширования hasher(7).


==== alterator-mkve ====
Кроме web-морды для mkve этот модуль предоставляет дополнительные возможности
Создание и удаление виртуальных машин с помощью Альтератора
для управления машинами.


Этот модуль представляет из себя надстройку над mkve. Позволяется
Для того чтобы модуль увидел созданые bundle (см. [[CoreSystem/Virtualization/Создание bundle#Создание bundle с помощью mkve-bundle|Создание bundle с помощью {{prg|mkve-bundle}}]]), они должны располагаться в каталоге {{path|/srv/share/bundles}}.
создавать/удалять виртуальные машины.


==== alterator-ovz ====
==== OpenVZ ====
Управление виртуальными машинами Open VZ
Специальная часть для OpenVZ является "полупрямым" потомком {{pkg|alterator-ovz}}.


Это старый добрый alterator-ovz, из которого убрана поддержка создания/управления
<onlyinclude>
шаблонами (см. alterator-ve-templates). Модуль более-менее переписан для соответствия
современному Альтератору.


----
<onlyinclude>
=== Планы ===
=== Планы ===
* Дописать mkve-ctl, затем mv mkve-ctl mkve
* шаблон test
* создание модуля alterator-qemu
* {{prg|mkve-cache}} будет переименован и уедет в пакет {{pkg|hasher}}
* создание модуля alterator-xen
* Локализация и документация {{prg|alterator-mkve}} (help’ы к альтератору)
* реинкарнация модуля alterator-ovz
* аутентификация с хостами
* s/ovz/openvz/G <i.e., very very global>
* Локализация и документация (help'ы к альтератору)
 
'''mkve'''
* залить утилиту mkve-xml внутрь (нового) mkve
* залить утилиту mkve-network внутрь (нового) mkve
* ''Новая утилита mkve-ctl --- управление машинками при помощи libvirt, (10.09.08)''
* mkve-ctl create - запустить машинку
* mkve-ctl destroy - запустить машинку
* mkve-ctl start - запустить машинку
* mkve-ctl stop - остановить машинку
* ''mkve-ctl info, (11.09.08)''
* ''mkve-ctl list, (11.09.08)''
* mkve-ctl get - получить значение параметра
* mkve-ctl set - сменить значение параметра
* ''(Создавать XML-описание домена, 08.09.08)''
* Вытянуть проверку ''всех'' опций в начало ve-machines. Дабы не создавать кэши зазря
* ''(добавить возможность подключения машины к сети, созданной с помощью ve-networks, 08.09.08)''
* добавить поддержку гипервизора kvm
* добавить поддержку гипервизора xen
* добавить опции --hook и --run в mkve-cache
* запаковать mkve-cache отдельно
* убить возможность mkve-template брать хуки из директории .../extra/
* Проглядеть программы на предмет комментариев, к примеру, убрать русские и сленговые
* Добавить программам стандартные аргументы, вроде --help
* Аргумент --help должен перенаправлять на man-страницу
 
'''alterator-mkve'''
* доделать configure-часть визарда для qemu
* ''(дописать бакенд для передачи mkve опций из морды, 08.09.08)''
* портировать configure-часть визарда для ovz из alterator-ovz
* ssh-доступ должен предоставляться по желанию
* добавить подсказку/варианты по некоторым опциям (см. libvirt~capabilities)
 
'''alterator-ovz'''
* нужен ли CAPS_LIST?
* При редактировании конкретного сервера его имя должно отображаться
 
'''alterator-qemu'''
* добавить кнопочки start/stop
* добавить кнопочку destroy?
* добавить управление параметрами


</onlyinclude>
</onlyinclude>
<nowiki><nowiki>Вставляйте сюда неотформатированный текст.</nowiki></nowiki>


=== Bugs ===
=== Bugs ===
'''ve-machines'''
==== {{pkg|mkve}} ====
* падает сборка:
* Проверять наличие {{prg|vzctl}}, и если нет, то не запускать её при проверке существования ovz-шных машин
** qemu::asterisk
* В bugzilla предостаточно багов, относящихся к старому {{pkg|alterator-ovz}}. С большой долей вероятности, они еще актуальны.
** qemu::caching-nameserv
==== {{pkg|alterator-mkve}} ====
** qemu::kerberos-serverer
* {{altbug|31200}} -- не исключено, что {{pkg|alterator-mkve}} устарел и не может нормально взаимодействовать с текущими версиями OpenVZ и {{pkg|libvirt}}.
** qemu::list-server
{{CoreSystem-nav}}
** qemu::ntp-server
** qemu::proxy-server
** qemu::ftp-server
** qemu::imap-server
** qemu::smtp-server
 
'''ve-machines'''
* Проверять наличие $TMPDIR; $TMPDIR должна присутствовать в hasher'овском списке
 
'''alterator-ovz'''
* В bugzilla предостаточно багов, относящихся к старому alterator-ovz. С большой долей вероятности, они еще актуальны.

Текущая версия от 12:19, 7 августа 2015

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
Small-pyramides.png
Архивная информация.
Описываемые в этой статье вещи больше не используются и оставлены только для обратной совместимости.


Sisyphus Core — виртуализация

Пакет mkve

Внимание! Похоже что mkve устарела, и для создания контейнеров сейчас правильнее использовать mkimage-profiles (см. примеры использования для OpenVZ VE и Qemu VM)

Создание, удаление и управление виртуальными машинами. В данный момент 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).

Пакет alterator-mkve

Управление виртуальными машинами средствами alterator и mkve.

Кроме web-морды для mkve этот модуль предоставляет дополнительные возможности для управления машинами.

Для того чтобы модуль увидел созданые bundle (см. Создание bundle с помощью mkve-bundle), они должны располагаться в каталоге /srv/share/bundles.

OpenVZ

Специальная часть для OpenVZ является "полупрямым" потомком alterator-ovz.


Планы

  • шаблон test
  • mkve-cache будет переименован и уедет в пакет hasher
  • Локализация и документация alterator-mkve (help’ы к альтератору)


Bugs

mkve

  • Проверять наличие vzctl, и если нет, то не запускать её при проверке существования ovz-шных машин
  • В bugzilla предостаточно багов, относящихся к старому alterator-ovz. С большой долей вероятности, они еще актуальны.

alterator-mkve

  • altbug #31200 -- не исключено, что alterator-mkve устарел и не может нормально взаимодействовать с текущими версиями OpenVZ и libvirt.