>
Ноябрь 2017
Пн Вт Ср Чт Пт Сб Вс
« Окт    
 12345
6789101112
13141516171819
20212223242526
27282930  

Обзор системы управления виртуальными серверами – Archipel

Сегодня на просторах интернета можно найти огромное количество решений для управления виртуализацией от коробочных до панельных версий. Одни ставятся вместе с системой, другие «наворачиваются» отдельно. Среди них есть с виду обычная система управления виртуальными узлами Archipel от французского программиста Антуана Меркадаля (Antoine Mercadal). Первые версии были доступны в ISO-образе. Скачал, поставил и забыл. Образы были нескольких вариантов, на базе CentOS и на базе Fedora. Сейчас Archipel доступен в репозиториях Ubuntu начиная с 14.04 LTS, на более ранних версиях не тестировалось. Также на сайте разработчика доступен образ ANSOS (Archipel Node Stateless OS).

Archipel

Почему среди всех выделил именно эту систему? Да просто у нее есть одно существенное отличие, которое для меня показалось очень удобным и гибким в работе решением. Эта системa обменивается командами на базе протокола XMPP, что позволяет мгновенно реагировать на изменения состояния системы. То есть все ответы виртуальных узлов или систем сразу появляются в веб-клиенте! Представь, какие удобные инструменты добавляются в мессенджере. Хоть с самим гипервизором, хоть с виртуалками отдельно можно в прямом смысле «разговаривать», обмениваясь сообщениями! Также доступна традиционная веб-панель. Archipel-агент может быть установлен практически на все гипервизоры KVM, QEMU, VMware, Xen, OpenVZ.

Archipel – начало!

  1. Установка системы управления Archipel.
  2. Краткий экскурс по веб-панели управления Archipel.

Установка и настройка

Нам дано:

  • установленная версия Ubuntu 12.04;
  • утилиты для организации сетевого моста;
  • настроенный сетевой мост на одном из интерфейсов.

Итак, имеем Ubuntu Server. Первым делом надо установить ejabberd-сервер (как мы помним, Archipel взаимодействует с пользователем через XMPP-протокол). Устанавливать будем из стандартных репозиториев Ubuntu:

Далее переходим к настройке. Конфиг для ejabberd можно найти на сайте archipelproject.org, в разделе документации, а исправленный конфиг смотри в дополнительных материалах к этой статье.

Мысли вслух

Конечно, никто не запрещает использовать публичные серверы XMPP вместо того, чтобы настраивать свой. Однако, как ты, уважаемый читатель, понимаешь, безопасность в этом случае очень и oчень страдает. Например, некоторых никогда не покидает чувство «они везде, они слeдят за нами». А вот если в арсенале имеются несколько серверов с виртуализацией, тогда достаточно поднять один Jabber-сервер. У некоторых пользователей встречал даже такую настройку: стоял сервер виртуализации на Ubuntu, а внутри маленькая виртуалка с Jabber-сервером. И уже этот самый джаббер обслуживает управлялку Archipel. В этом случае стоит понимать, что, как только отвалится виртуалка, доступ к управлению через Archipel сразу пропадет тоже.

Меняем параметры IP-адреса и FQDN на свои. Перезапускаем ejabberd:

Если все прошло хорошо, то движемся дальше. Если нет, идем курить логи и исправлять ошибки. Далее делаем необходимые записи в файле /etc/hosts на нашем компе или поднимаем DNS-сервер, добавляем нужную зону, прописываем необходимые А-записи. Запись в FQDN типа

Далее создаем необходимые сертификаты для SSL:

Перезапускаем ejabberd. Опять-таки, если не запускается, смотрим логи. Еcли все о’кей, идем дальше. Следующим шагом нужно установить агент Archipel и веб-клиент. Веб-клиент — это обычное веб-приложение, для его работы поднимаем любой из удобных веб-серверов, на этом или любом другом сервере.

Агент Archipel устанавливается несколькими путями: из репозитория Python или из исходного кода стягиванием с GitHub. С Гитхаба вот таким образом:

Через Python установку провести можно вот так:

Или можно тупо стянуть последнюю ТЕСТИРУЕМУЮ версию архивом:

Для завершения установки запускаем

Теперь необходимо создать пользователя Jabber с правами админа гипервизора:

Здесь меняем учетные данные на свои, где

  • admin — имя пользователя;
  • FQDN — полное хостовое имя Jabber-сервера или домена, на который Jabber-сервер настроен;
  • YOURPASSWORD — твой придуманный пароль.

Теперь можно рестартнуть Archipel и убедиться, что все запустилось без ошибок:

Проверяем, подключился ли пользователь «гипервизор» к Jabber-серверу:

Если все прошло хорошо, то в списке подключенных пользователей увидим агент, например:

Изменить учетные данные агента можно в файле /etc/archipel/archipel.conf, а также можно изменить имя администратора агента, которому разрешены все права, сменить-IP адрес, задать каталог хранения виртуальных машин и прочее:

После успешного запуска проверяем тест XMPP-сервера службами Archipel:

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

Или из исходного кода:

Оригинальная инструкция доступна на официальном сайте проекта.

Создаем виртуалки

Если все хорошо прошло, агент запущен, веб-клиент установлен, тогда заходим по адресу веб-клиента браузером и наблюдаем страничку авторизации.

Окно авторизации Archipel

Окно авторизации Archipel

Логинимся под созданной учетной записью. И видим, что у нас ничего нет: нужно добавить пользователя гипервизора в список. Жмем на знак + в нижнем левом углу, выбираем «Добавить контакт». В поле JID вставляем JID гипервизора, в моем случае это [email protected]/hyper.local, Nichname задаем произвольно, главное, не забудь, что это гипервизор. После успешного добавления можно создать группы, чтобы удобнее расположить виртуальные узлы. После чего, кликнув по гипервизору, можно увидеть состояние сервера.

Состояние сервера

Состояние сервера

Здесь отображаются такие данные, как нагрузка на проц, свободное количество оперативной памяти, использование раздела подкачки, Uptime, данные о версиях ПО. Ниже идут графики загрузки процессора, нагрузки на сетевые интерфейсы, использование памяти, состояние накопителей и свободное место на них.

Переходим в раздел Virtual Machines. Здесь, собственно, и создаются виртуальные машины. Кликаем по знаку + и заполняем все данные. Теперь подключим к нашей ВМ образы жестких дисков и сетевой интерфейс. Выбираем виртуальную машину из списка слева (поместить ее в группу можно, перетащив мышью в группу или подгруппу). Переходим в раздел Disks, жмем «Добавить» (+) и заполняем необходимые данные.

Создание образа жесткого диска

Создание образа жесткого диска

После этого он появится в списке жестких дисков, доступных для этого виртуального узла, дальше его необходимо подключить. Переходим в раздел Definition, подраздел Virtual Medias, и добавляем. Здесь можно выбрать тип подключения, тип диска, исходные путь подключения и сам диск. Чтобы добавить ISO-образы, их предварительно необходимо сложить в каталог /var/vm/iso. Далее сменить тип с disk на cdrom.

Добавление ISO-образа

Добавление ISO-образа

Следующим шагом нужно добавить сетевой интерфейс. Переходим в подраздел Virtual Nics. Жмем + для добавления, выбираем сетевой мост и имя сетевого моста, которое ты задал при настройке сетевых параметров сервера в самом начале. Если в системе всего один сетевой мост, то он сразу будет доступен и выбирается по умолчанию. Остальные параметры не меняем.

Подключение сетевого интерфейса

Подключение сетевого интерфейса

Чуть не забыл, в подразделе Basics задаем количество оперативной памяти, выделяемое для виртуальной машины, и количество ядер процессора. Также можно задать порядок загрузки, время, поведение при выключениях и перезагрузках, параметры проброса USB-устройств, тип виртуальной машины: QEMU или KVM, версию виртуальной машины, параметры подключения к устройствам ввода-вывода. Этих параметров достаточно для запуска виртуального узла. После этого у тебя статус виртуальной машины изменится на Off. Запускаем ее клавишей Run в верхнем меню. Для подключения к экрану жмем screen и можем видеть монитор виртуального узла. В одной из предыдущих статей мы настраивали PXE-загрузку, поэтому у меня на скрине то самое PXE-меню.

Подключение к монитору виртуального узла

Подключение к монитору виртуального узла

Также система позволяет распределять права доступа. Создаем пользователя Jabber, добавляем в список, введя его JID. Дальше выбираем виртуальный узел, к которому необходимо предоставить доступ. Переходим во вкладку Permissions.

Настройка прав доступа

Настройка прав доступа

Далее, если у тебя есть еще один сервер с виртуализацией, ты можешь установить на него Archipel-агент, на сервере Jabber создать пользователя для второго гипервизора. В параметрах /etc/archipel/archipel.conf второго сервера ввести эти учетные данные и управлять обоими серверами с одного веб-клиента Archipel. В этом случае будет доступна миграция виртуалок между серверами.

Окно миграции между серверами Archipel

Окно миграции между серверами Archipel

Чатимся с виртуалками

Ну и наконец, самое вкусное, или основная особенность всей этой системы, — управление виртуальными узлами через Jabber-сообщения с любого IM-клиента. Пример на встроенном в веб-клиент мессенджере. Выбираем виртуальную машину, переходим в раздел Chat. Для списка доступных команд вводим help.

Archipel

Общение с виртуальным узлом через сообщения

Изменить пароль текущей учетной записи прямо из веб-клиента Archipel можно в верхнем меню Archipel → XMPP Account. Также в нем доступно управление контактами и группами. Если ты планируешь использовать Archipel как многопользовательский сервер, то здесь еще есть возможность проводить Jabber-конференции прямо из веб-клиента или подключиться к конференции технической поддержки проекта.

Нельзя не отметить и создание отпечатков жестких дисков — Snapshots, особенно в тестовых виртуальных узлах при отладке того или иного приложения. Здесь это делается очень удобно и быстро. В специальном разделе Snapshots жмешь «Создать» и ждешь результат.

Аналогично можно подключаться с любого другого клиента на любом другом устройстве. Особенно актуально для виртуальных узлов в ОС Windows, если «что-то пошло не так». Также при установке Archipel на действующий сервер виртуальных машин система обнаружит их автоматически и предложит добавить в список виртуальных узлов. Из недостатков можно выделить то, что веб-клиент полностью на английском языке, но доступны исходные коды для локализации. Если кому-то это жизненно необходимо, могу помочь с этим. Сам использую версию на английском языке.

Из опыта работы с виртуальными машинами скажу, что среди массы решений, которые я пробовал (OpenNebula, Karesansui KVM, Proxmox, Xen Server, KVM голый + virt-manager, Hyper-V и еще ряд других), Archipel показался наиболее удобным, и им я и пользуюсь. Также еще установлен OpenNebula, его используем для выделения виртуальных узлов подведомственным учреждениям для своих нужд. OpenNebula удобна тем, что у нее в наборе есть готовые виртуалки — шаблоны. При создании выбираешь дистрибутив, задаешь логин-пароль, и виртуалка готова. Но это уже совсем другая история.

Подведем итоги

Мы разобрались с установкой и настройкой системы управления виртуализацией Archipel. Быстро пробежались по основным инструментам управления. Научились «разговаривать» с виртуальными узлами. Краем глаза посмотрели на миграцию между серверами Archipel (как появится второй большой сервер, сразу сделаю обзор на эту тему). Считаю систему очень удобной и весьма рекомендую.

[Всего голосов: 3    Средний: 4/5]
Share Button

Last updated by at .

Leave a Reply

You can use these HTML tags

<a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">