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}} ====
 
-
Для создания/удаления, запуска/останова и изменения базовых свойств виртуальных машин используется утилита {{prg|mkve}}.
 
-
Эта утилита написана с использованием библиотеки [http://www.libvirt.org/ libvirt]. Виртуальные машины создаются на основе
 
-
так называемых bundles, tarball'ов специального вида (см. описание {{prg|mkve-bundle}}).
 
==== Создание и удаление виртуальной машины ====
==== Создание и удаление виртуальной машины ====
-
Виртуальные машины создаются так:
+
Для создания и удаления виртуальных машин используется утилита {{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}}.
-
<s>Каждой виртуальной машине присваивается уникальный (в пределах hardware node) ID.
+
Каждой виртуальной машине присваивается уникальный (в пределах hardware node) ID.
Для того чтобы удовлетворить соглашениям, принятым в OpenVZ, ID выдаются начиная со 100.
Для того чтобы удовлетворить соглашениям, принятым в OpenVZ, ID выдаются начиная со 100.
-
К бриджу {{term|mkvebr0}} добавляется виртуальная сеть {{term|mkve-network}} ({{term|192.0.2.1/24}}).
 
-
Виртуальная машина с ID={{term|X}} имеет в этой сети адрес {{term|192.0.2.X}}.</s>
 
Для того чтобы удалить виртуальную машину достаточно сказать
Для того чтобы удалить виртуальную машину достаточно сказать
  # mkve destroy <machine>
  # mkve destroy <machine>
-
 
-
XXX: рассказать что происходит
 
Полное описание возможностей программы {{prg|mkve}} см. в mkve(1).
Полное описание возможностей программы {{prg|mkve}} см. в mkve(1).
Строка 43: Строка 43:
Таким образом, все, кроме версии зависит от типа виртуализации и единственным обязательным списком является список пакетов.
Таким образом, все, кроме версии зависит от типа виртуализации и единственным обязательным списком является список пакетов.
-
'''Пример.''' Шаблон test, поставляемый с пакетом mkve.
+
=== Пакет alterator-mkve ===
-
$ cd /usr/share/mkve/templates/test && find
+
-
./version
+
-
./packages/openvz
+
-
./packages/qemu
+
-
./hooks-lists/openvz
+
-
./hooks-lists/qemu
+
-
./conf/openvz/config
+
-
 
+
-
 
+
-
 
+
-
 
+
-
 
+
-
==== alterator-mkve ====
+
Управление виртуальными машинами средствами {{prg|alterator}} и {{prg|mkve}}
Управление виртуальными машинами средствами {{prg|alterator}} и {{prg|mkve}}
Строка 62: Строка 49:
для управления машинами.
для управления машинами.
 +
==== OpenVZ ====
Специальная часть для OpenVZ является "полупрямым" потомком alterator-ovz.
Специальная часть для OpenVZ является "полупрямым" потомком alterator-ovz.
-
Однако, сейчас это работает не корректно: из-за смешения netif_add и ipadd.
 
<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. С большой долей вероятности, они еще актуальны.


 
Личные инструменты