CoreSystem/Virtualization

Материал из ALT Linux Wiki

(Различия между версиями)
Перейти к: навигация, поиск
(пакеты ve-*)
(Sisyphus Core — виртуализация)
Строка 1: Строка 1:
 +
{{Stub}}
 +
== Sisyphus Core — виртуализация ==
== Sisyphus Core — виртуализация ==
__TOC__
__TOC__
-
 
-
=== Пакеты ve-* ===
 
-
 
-
Эти пакеты предназначены для создания контейнеров. Они не содержат ни одного
 
-
файла, но вытягивают указанные в них пакеты по зависимостям. Имеется два типа
 
-
таких пакетов.
 
-
 
-
Первый тип составляют пакеты {{pkg|ve-<name>}}. Они определяют множество пакетов,
 
-
необходимое для создания контейнера для "сервиса" {{pkg|<name>}}. Например,
 
-
пакет {{pkg|ve-ftp-server}} вытягивает множество пакетов, необходимое для поднятия
 
-
ftp-сервера на "работающей" виртуальной машине.
 
-
 
-
Второй тип составляют пакеты {{pkg|ve-hypervisor-<hypervisor>}}. Они определяют
 
-
дополнительное множество пакетов, необходимое для запуска сервиса под конкретным
 
-
типом виртуализации. Этот пакет может оказаться и "пустым", если дополнительных
 
-
пакетов не требуется (как, например, в случае OpenVZ).
 
-
 
-
Таким образом, множество пакетов, требуемых для поднятия сервиса {{term|<service>}}
 
-
на виртуальной машине под управлением гипервизора {{term|<hypervisor>}} определяется
 
-
"суммой" {{pkg|ve-<service>}} + {{pkg|ve-hypervisor-<hypervisor>}}.
 
=== Пакет mkve ===
=== Пакет mkve ===
Строка 44: Строка 26:
Полное описание возможностей программы {{prg|mkve}} см. в mkve(1).
Полное описание возможностей программы {{prg|mkve}} см. в mkve(1).
-
 
-
==== Утилита {{prg|mkve-bundle}} ====
 
-
 
-
/* Для создания tarball'ов с заданным набором пакетов используется утилита {{prg|mkve-cache}}(1). Она создает {{prg|hasher}}'овский chroot, устанавливает в него необходимые пакеты, копирует в него необходимые файлы, запускает хуки и команды. После (или вместо) этого она может затарить указанный chroot (это может быть произвольный {{prg|hasher}}'овский chroot). Предположительно, скоро эта утилита будет переименована в hsh-<что-то> и  переедет в {{prg|hasher}}(7). */
 
-
 
-
==== Формат шаблона ====
 
-
Вот полный список файлов для гипервизора hypervisor:
 
-
./version                    # версия шаблона
 
-
./packages/$hypervisor      # файл со списком пакетов, устанавливающихся в bundle
 
-
                              # при использовании гипервизора $hypervisor
 
-
./hooks-lists/$hypervisor    # [необ.] файл со списком хуков для гипервизора $hypervisor
 
-
./conf/$hypervisor/          # [необ.] директория, содержащая дополнительные файлы для упаковки
 
-
                              # в bundle для гипервизора $hypervisor
 
-
Таким образом, все, кроме версии зависит от типа виртуализации и единственным обязательным списком является список пакетов.
 
-
 
-
=== Утилита mkve-cache (aka hsh-?) ===
 
-
Для тех, кто привык не надеяться ни на кого, кроме себя и {{prg|hasher}}'а,
 
-
имеется утилита {{prg|mkve-cache}}. Эта утилита позволяет создать и упаковать
 
-
hasher'овский chroot с нужным набором пакетов. Кроме этого, при создании chroot
 
-
можно запускать хуки, команды и копировать файлы из host'а в chroot. Подробное описание
 
-
см. в {{term|mkve(1)}}.
 
-
 
-
'''Пример 1.'''
 
-
$ mkve-cache --out <file> <список пакетов>
 
-
установит в дефолтный {{prg|hasher}}'овский chroot пакеты {{term|<список пакетов>}},
 
-
и после этого запакует содержимое chroot'а в файл {{term|<file>}}.
 
-
 
-
'''Пример 2.'''
 
-
$ mkve-cache --out <file> --command 'chkconfig sshd on' <список пакетов>
 
-
установит в дефолтный {{prg|hasher}}'овский chroot пакеты {{term|<список пакетов>}},
 
-
запустит в chroot'е команду
 
-
chkconfig sshd on
 
-
и после этого запакует содержимое chroot'а в файл {{term|<file>}}.
 
-
 
-
'''Пример 3.'''
 
-
$ mkve-cache -z --tarify-only <путь к hasher'овскому chroot'у>
 
-
просто запакует указанный chroot в файл {{path|$TMPDIR/output.tar.gz}}.
 
=== Пакет alterator-mkve ===
=== Пакет alterator-mkve ===

Версия 10:23, 25 февраля 2009

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


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

Содержание


Пакет 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).

Пакет alterator-mkve

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

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

OpenVZ

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


Планы

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


Bugs

mkve

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


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