XAPI (Xen Project Management API)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 21:20, 18 декабря 2016.
XAPI (Xen Project Management API)
fraimed
Разработчики: Linux Foundation
Состояние разработки: активное
Написана на: OCaml
Тип ПО: Стек управления
Лицензия: GNU GPL
Веб-сайт Репозиторий на Github

Что такое XAPI?

XAPI - один из доступных стеков управления, добавляющий Xen Project облачные функции. Гипервизор, используемый с XAPI, объединяет серверные мощности, активирует сбережение энергии, охлаждение, управление затратами, таким образом обеспечивая средоустойчивые вычисления, имеет повышенную способность адаптироваться к постоянно изменяющейся ИТ-среде и оптимизирует использование оборудования. XAPI полностью написан на OCaml.

XenServer, являющийся версией ПО Xen Project с открытым исходным кодом, использует XAPI в качестве стека управления по умолчанию. Проект XenServer поддерживается Citrix Systems, в то время как XAPI является частью Linux Foundation.[ссылка 1][ссылка 2]

Выбор стека управления

Xen Project может использоваться с разными стеками управления. На рисунке ниже отображены возможные варианты.

В синих прямоугольниках расположены продукты Xen Project

Все эти стеки оптимизированы для различных применений и подразумевают разные компромиссы, однако, в общем и целом, чем правее на рисунке расположен стек управления, тем большую функциональность он предлагает.

Xen Project использует XL в качестве стека управления по умолчанию. Объединение гипервизора Xen Project со стеком XAPI получило название XCP. Позднее XCP был вытеснен свободно распространяемым ПО XenServer, которое также использует XAPI в качестве стека по умолчанию. До появления libxenlight положение со стеками управления было сложным и запутанным. Проблема заключалась в том, что xend, xapi, libvirt, и так далее требуют распространенных низкоуровневых операций, что привело к дублированию кода, багами и затраченным впустую ресурсам.

Libxenlight

Это небольшая библиотека, написанная на языке C. Она проста в понимании, легка в модификации и расширении. Используется всеми стеками управления в рамках Xen проекта. Она создавалась для обеспечения простого и надежного API для всех стеков управления. Также целью ее создания было создание общей базы кода для осуществления операций Xen.

XL

Это представляет собой легкий вариант командной строки стека управления, построенный с использованием libxenlight. Она была разработана для обратной совместимости и предоставляет простой интерфейс командной строки для инструментов Xen. Ниже приведены ее характеристики:

  • PV и HVM гости
  • Основные операции гостевого жизненного цикла: создание, выключение, перезагрузка, пауза, переименование и так далее
  • Поддержка гостевых устройств
  • Пулы центрального процессора
  • Контроль параметров планировщика центрального процессора
  • Живая миграция и сохранение/восстановление гостей

XAPI

Этот стек управления по умолчанию определен у сервера Xen. Он также используется в некоторых решениях cloudstack. Он имеет бесплатную лицензию на программное обеспечение. Если вы хотите узнать об это больше, ознакомьтесь с этой статьей.

Libvirt

Это - виртуализированный инструментарий API, используемый для управления различными технологиями виртуализации. Libvirt обычно используется в качестве решений, которые нужны для поддержки проектов Xen и гипервизоров KVM. Он также используется такими компаниями, как Oracle и SUSE в их облачных решениях.

XEND

Этот тип стека продолжает находиться как часть исходных выпусков Xen. Однако в версии 4.1 Xen скорее всего будет удален в следующей версии. Рекомендуется использовать типы тех стеков, о которых написано выше.

Особенности XAPI

По сравнению с другими стеками управления Xen Project, XAPI предлагает дополнительную функциональность, как то:

  • Позволяет отслеживать события, с учётом прогресса и оповещениями.
  • Использует концепцию "пула": одинаковые сервера объединяются в в массу неразличимых вычислительных ресурсов. Замена серверов внутри пула не требует специальных мероприятий.
  • Расширенное и продуманное ПО для управления пулом хостов.
  • Конфигурация всех серверов из пула определяется общей конфигурацией пула.
  • Специальная версия XenStored с улучшенной стабильностью и производительностью, полностью написанная на OCaml.
  • Набор встроенных шаблонов для большинства гостевых ОС.
  • Встроенная помощь.
  • Пулы ресурсов могут включать живую миграцию, автоматическую конфигурацию и восстановление после сбоев.
  • Жизненный цикл виртуальной машины расширен за счёт добавления снимков, ключевых точек и миграций.
  • Общий способ администрирования для PV и HVM машин.
  • Облегчение контроля производительности в реальном времени.
  • Использование Open vSwitch в качестве основного бэкенда для сетевых соединений, что позволяет создавать pure-virtual сети с произвольной архитектурой.

Установка XAPI

Самый простой способ начать пользоваться Xen с XAPI - установить основанный на CentOS дистрибутив XCP на чистой машине. Если же вы хотите превратить уже существующую машину под Ubuntu или Debian в XCP-хост, обратите внимание на Project Kronos.

Отметьте, что проект всё ещё в разработке и может не всегда работать корректным образом. Перед началом установки убедитесь, что вы прочитали полное руководство и отдаёте себе отчёт в своих действиях, иначе вы можете критическим образом нарушить работу операционной системы.[ссылка 3]

Основные шаги процесса установки:

  • Подготовка системы
    • Установка ОС

Установить Debian Squeeze. Преобразовать в нестабильный: редактировать /etc/apt/sources.list и заменить squeeze на wheezy.

sed -i 's/squeeze/wheezy/g' /etc/apt/sources.list
apt-get update
apt-get dist-upgrade
    • Установка программно-аппаратных средств
    • Установка репозиториев

Эта часть больше не требуется (в Debian), поскольку XCP сейчас находится в SID.

  • Исправление некоторых известных багов (Ubuntu)
  • Установка XAPI посредством apt-get

На этом шаге устанавливается xapi и все его зависимости, включая гипервизор Xen.

apt-get install pciutils
apt-get update
apt-get install xcp-xapi
apt-get install xcp-xe
  • Исправление конфликтов
  • Настройка после установки
    • Настройка файла сети/интерфейсов
    • Настройка файла xensource-inventory
    • Выбор стека управления Xen

Вам нужно установить переменную TOOLSTACK, чтобы запустить xcp-xapi. Вы можете сделать это следующей командой:

echo 'TOOLSTACK="xapi"' > /etc/default/xen

Если вы хотите узнать о процессе установки больше, смотрите на Xen Project wiki

Использование XAPI

XAPI может быть использован посредством командной строки с использованием команды "xe". Его можно использовать как на "домене 0", так и с удалённого хоста. Он может общаться с хостами и с пулом ресурсов поверх https. Синтаксис достаточно простой.

Синтаксис команды для "домена 0":

# xe <имя-команды> <аргумент=значение>

Синтаксис команды для удалённого хоста:

# xe -s <хост> -u <имя-пользователя> -pw <пароль> <имя-команды> <аргумент=значение>

Отметьте, что значения, содержащие пробелы, должны быть заключены в двойные скобки.

Ниже перечислен список команд:

  • Список CD/ISO
    # xe cd-list
  • Включение виртуальной машины
    # xe vm-start vm=<target VM name>
  • Монтирование ISO
    # xe vm-cd-insert cd-name=<name of ISO or CD> vm=<target VM name>
  • Показать список виртуальных машин хоста
    # xe vm-list
  • Список SR
    # xe sr-list
  • Удаление виртуальной машины хоста
    # xe vm-destroy uuid=<UUID of target VM>
  • Создание репозитория
    # xe sr-create name-label=<name> physical-size=<size> type=<type> content-type=<content_type> device-config:<config_name>=<value> [host-uuid=<Xen Cloud Platform host UUID>] [shared=<true | false>]
  • Удаление репозитория
    # xe sr-destroy uuid=<sr_uuid>

Контакты авторов материала

Roman Chistiakov, Bauman Moscow State Technical University, IU-8, E-mail: romchezz@gmail.com

Литература

  1. Википедия [Электронный ресурс]: Xen project — материал из Википедии — свободной энциклопедии: Версия 16442, сохранённая в 11:05 UTC 1 марта 2016. / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2016. — Режим доступа: https://wiki.xen.org/wiki/Main_Page
  2. Github [Электронный ресурс]: Проект XAPI / Дата обращения: 11 декабря 2016 — Режим доступа: https://github.com/xapi-project/xen-api
  3. Википедия [Электронный ресурс]: Руководство для разработчиков — материал из Википедии — свободной энциклопедии: Версия 9460, сохранённая в 12:31 UTC 11 июля 2013. / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2016. — Режим доступа: https://wiki.xen.org/wiki/XAPI_Developer_Guide

Ссылки