Хочу поделиться удобным способом создания и управления виртуальными машинами в графическом режиме для OS Linux. Archipel – это маштабируемое решение для управления виртуальными машинами и гипервизорами с помощью графического интерфейса. Archipel позволяет удобно управлять как несколькими виртуальными машинами на одном сервере, так и сотнями виртуалок, размещенных на десятках серверов в разных датацетрах. Archipel использует протокол XMPP в качестве системы обмена между своими подсистемами. Более подробную информацию можно получить на сайте проекта / Archipel – очень простое приложение, для установки достаточно выполнить
Но для того, что бы все заработало, нужно провести некоторые предварительные настройки. Для работы archipel требует установленный и работающий XMPP сервер (ejabberd) и любой веб-сервер для хостинга Archipel Agent (UI). Мы установим Archipel в односерверном варианте на Ubuntu 12.04 LTS, в нашем случае ejabberd, nginx и виртуальные машины будут расположены на одном сервере. В более серьезных проектах все это можно разнести по разным серверам. Установка и настройка XMPPНам необходимо установить ejabberd версии не ниже 2.1.6 с включенными модулями mod_admin_extra и ejabberd_xmlrpc (не обязательно). Устанавливаем ejabberd из репозитория:
Модуль mod_admin_extra уже входит в поставку, так что отдельно его устанавливать не нужно. Настраиваем ejabberd для работы archipel.По умолчанию в debian/Ubuntu настройки ejabberd заточены под простой ?чат-сервер?, и они не совсем подходят для наших задач, где требуется полноценный XMPP сервер. Для работы требуется иметь корректный FQDN (полное имя домена). Для избежание дальнейших граблей, очень желательно установить его до настройки ejabberd и привести в соответствие hostname. Для примера мы будем использовать FQDN archipel.. При установке обязательно нужно заменить этот адрес на адрес вашего сервера.
Так же не забудьте изменить /etc/hosts в соответствии с вашим адресом. Убедитесь, что сервер доступен по указанному адресу с сервера и вашего компьютера.
Сохраним копию конфигурационного файла ejabberd
Сам файл ejabberd.cfg приводим к следующему виду: Скрытый текст
В файле ejabberd.cfg меняем все вхождения FQDN на ваш адрес сервера
Создадим новый самоподписанный сертификат для ejabberd. Обязательно укажите ваш FQDN в запросе Common Name.
После этого запускаем ejabberd
Если ejabberd не запускается – проверьте наличие процесса beam в списке запущенных процессов. При необходимости убейте этот процесс. Так же бывает ошибка при изменении hostname после первого запуска ejabberd. В этом случае нужно очистить директорию /var/lib/ejabberd/ и перезапустить сервис ejabbed. Проверить работоспособность можно с помощью ejabberdctl:
Создаем аккаунт администратора (имя желательно использовать admin):
Мы закончили с настройкой ejabberd и теперь можно приступить к установке Archipel agent Archipel Agent.Работа Archipel agent бессмысленна без средств виртуализации и гипервизора, которыми он будет управлять. Для работы нам требуется:
Установим зависимости:
И сам агент:
Создаем pubsub nodes:
Здесь admin и YOURPASSWORD нужно заменить на ваши данные, которые вводились при создании аккаунта администратора. Теперь нужно проверить файл /etc/archipel/archipel.conf, особенно обратить внимание на строчку xmpp_server, она должна совпадать с вашим FQDN. Пробуем запустить агента:
Если запуск не удался, можно запустить агента вручную с помощью команды runarchipel , так будут видны ошибки. Логи агента хранятся в файле /var/log/archipel/archipel.log Если запуск прошел успешно, в список подключенных пользователей jabber добавиться наш агент:
Для проверки корректности работы можно выполнить расширенный тест:
Если у вас не установлен модуль xmlrpc – 8 тест и далее выполняться с ошибками. На дальнейшую работу это не повлияет. Установка клиента.Клиент Archipel написан полностью на Javascript. Для работы он не требует никаких серверных языков типа php, python, java или баз данных. Достаточно просто распаковать архив и поместить его в папку веб-сервера. Так же можно использовать публичную версию клиента, доступную по адресу app./. Для примера мы установим nginx и разместим файлы на своем сервере. Вместо nginx может быть любой http сервер, и он не обязательно должен быть расположен на том же сервере, что и агент.
Теперь можно открыть клиента Archipel в браузере: http://archipel./Archipel/ Должна отобразиться такая страница: В качестве Jabber ID вводим admin@archipel. и установленный пароль администратора. Не забудьте везде заменить archipel. на адрес вашего сервера!!! После входа можно приступать к созданию виртуальных машин. Установка Windows Server 2008R2 как гостевую ОСДля примера попробуем создать виртуальную машину с Windows Server 2008 R2. В первую очередь нам нужно добавить аккаунт гипервизора в наш контактный лист. После добавления при выборе агента в списке будет виден вот такой статус сервера с графиками загрузки: Для создания новой виртуальной машины выбираем нужного агента, переходим в пункт Virtual Machines, внизу нажимаем кнопку с ?+?. В появившемся окне заполняем данные. Поля являются информационными и не обязательны для заполнения, если не указать имя машины – оно будет сгенерировано автоматически. После создания аккаунт виртуальной машины попросит авторизовать его. Я советую дать разрешение на авторизацию. После этого можно выделить новую виртуальную машину в списке контактов и перейти к ее настройке. В настройках можно указать размер RAM (Definition > Basics > Memory), количество процессоров (Definition > Basics > Virtual CPUs), порядок загрузки (Definition > Basics > Boot from); добавить виртуальные диски cd/dvd (Definition > Virtual Medias), виртуальные сети (Definition > Virtual Nics), диски (Disks) и другие. Так же можно делать снапшоты и подключаться через виртуальную консоль к компьютеру. Настройки виртуальных сетей находятся в агенте, меню Networks. После изменения настроек для их сохранения нужно нажать на кнопку Validate. Для запуска тестового сервера мы добавим новую сеть с типом Nat, в этом случае виртуальная машина будет выходить в интернет с IP-адресом хоста. Если вы хотите выделить для виртуальной машины отдельный IP – можно использовать режим Bridge. Не забудем запустить сеть (выделить сеть и нажать кнопку с галочкой внизу списка) Добавим системный диск Все диски и образы храняться в папке /vm/ на компьютере-гипервизоре. Предварительно добавляем в папку /vm/iso/ iso-образы windows server и драйверов virtio (можно взять на alt./pub/alt/virtio-win/latest/images/bin/) В Definition > Virtual Medias подключаем следующие диски:
USB мы используем для второго cdrom из-за того, что поддерживается только 1 IDE канал. В Virtual Nics создаем сетевую карту: Type: Network, Source: имя созданной сети с nat, Model: virtio После этого можно запустить виртуальную машину (Controls > Start) и подключиться к VNC Console Windows 2008 R2 ничего не знает о virtio, поэтому мы подключили второй cdrom с драйверами и теперь можем их загрузить. В списке драйверов выбираем Red Hat VirtIO SCSI Controller, после их загрузки появится системный диск, на который можно устанавливать Windows. Дальнейшая установка проходит как обычно. После установки не забудьте добавить еще 2 драйвера с диска virtio: Network и Baloon (нужен для изменения памяти) Осталось дать доступ к сервисам виртуальной машины с помощью маппинга портов либо установки и настройки vpn, но это уже тема других статей. |
|
来自: 浸心阁 > 《Archipel》