Доброго времени суток. Среда виртуализации Xen позволяет нам довольно гибко управлять аппаратными ресурсами нашего сервера для получения максимальной производительности. Для комфортного управления виртуальными машинами, отображения более подробных логов, управления выделяемой памятью и процессорными ядрами и ведения полноценного мониторинга за потреблением оперативной памяти необходима так называемая обратная связь между хостовой и виртуальной машиной. Эта связь достигается за счет установки набора утилит которые именуются «Xen tools» или «Xen guest utilities». Данная публикация как раз им и посвящена.

Итак имеется у нас несколько хост-машин с установленными Xen серверами на них и крутящимся на них зоопарком различных виртуалок (различные задачи требуют различных инструментов для решения). 60% зоопарка составляют машины на базе ОС Windows (win 7 32/64, win serv 2003/2008, есть даже пара XP) оставшиеся базируются на Ubuntu Server / Debian / Centos и есть парочка машин на базе FreeBSD (одна из них это роутер pfSense 2.2). И вот именно эти машинки и выделялись в XenCenter отсутствием многих удобных функций и белыми пятнами в сводной статистике.

А еще раздражающей надписью:

XenServer Tools not installed

image

С виртуальными машинами на базе ОС Windows управиться с такой проблемой очень даже легко достаточно кликнуть по этой надписи, или кликнув правой кнопкой мыши (ПКМ) по нужной машине в списке виртуалок и выбрать пункт Install XenServer Tools… — дальше в вируталку автоматически примонтируется миниобраз содержащий в себе эти утилиты и в зависимости от настроек системы начнется установка (или появится запрос на установку, или ничего не появится и надо будет самому зайти в виртуальный диск и выбрав там файл «installwizard.msi» запустить его). Для установки XenTools требуется наличие .Net Framework 4.0 В процессе инсталяции система потребует перезагрузки. После которой будут доустановлены оставшиеся компоненты и система будет готова к бою.

Чуток посложнее с ОС семейства Linux.
Для начала надо так же подключит миниобраз к нашей виртуальной ОС. Следующий этап монтирование этого миниобраза в систему — тут нам на помощь приходит следующая команда:

mount /dev/cdrom /mnt

Следующий шаг:

bash /mnt/Linux/install.sh

Лично я обычно смотрю содержимое примонтированного каталога с помощью:

ls -l /mnt
ls -l /mnt/Linux

После чего устанавливаю нужный пакет, например вот так:

dpkg -i /mnt/Linux/xe-guest-utilities_6.1.0-1031_amd64.deb

По окончании установки отмонтируем CD-Rom:

umount /mnt

И перегружаем машинку:

reboot

После перезагрузки страшная надпись пропадает и нам становятся доступны вкусные плюшечки…

Самое сложное было подружиться с ОС Freebsd, а конкретнее с собранной на базе FreeBSD 10.1 pfSense 2.2
Итак для чистой FreeBSD последовательность действий следующая:

pkg install xe-guest-utilities

Дождавшись окончания загрузки пакетов и их установки внесем правки в файл автозагрузки etc/rc.conf:

ee /etc/rc.conf

В этом файлике необходимо добавить вот такую строку:

xenguest_enable=«YES»
По окончании файл необходимо сохранить и перегрузить машину.

reboot

Чтобы проверить работу сервиса без перезагрузки можно стартануть сервис командой:

service xenguest start

Ну и на сладкое pfSense. На самом деле отличий тут не так уж и много, но они есть, заданы в неявном виде и попортили немножко капель крови. Установка выполняется той же командой:

pkg install xe-guest-utilities

А вот дальше внимание, файл rc.conf — при перезагрузке удаляется и его содержимое не читается, поэтому запись для автозагрузки вносим в файл /etc/rc.conf.local:

ee /etc/rc.conf.local

Так как pfSense не даст нам запустить при старте скрипт без расширения .sh то делаем на него симлинк:

ln -s /usr/local/etc/rc.d/xenguest /usr/local/etc/rc.d/xenguest.sh

После этого можно перегружаться и любоваться результатом:

reboot

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

Всего доброго.

Комментарии (3)


  1. evnuh
    01.04.2015 17:18
    +4

    Что, серьёзно? Пост «как установить программу в *nix?


    1. Klukonin
      02.04.2015 09:46

      А где в этом посте использование функуционала XEN?

      Я прочитал только о том как запустить установить пакет или запустить скрипт под Linux И BSD.


      1. Klukonin
        02.04.2015 09:51

        Промахнулся :(