среда, 10 декабря 2008 г.

VMware ESX server 3i (ESXi3)



После экспериментов с виртуализацией (начало я уже описывал, надеюсь, найду время описать результаты экспериментов с Xen), решено было пойти по "экономному пути", но с использованием VMware. В процессе замера скорости работы жесткого диска выяснилось, что VMware значительно теряет скорость, если не использовать аппаратную виртуализацию. Но зато с ней - потери практически неощутимы.

Сейчас VMware раздает бесплатно (необходимо только зарегистрироваться) значительную часть своих продуктов. В частности, весьма интересный ESXi сервер, представляющий собой, по сути, RedHat EL, выпотрошенный по максимуму (убраны практически все утилиты), с прикрученным busybox и набором специфических утилит управления vmware сервером. ESXi сервер позиционируется как "почти хардверное" решение для виртуализации, вход в linux-консоль там даже не предусмотрен (хотя возможен, способ я опишу несколько далее). Управление этим сервером осуществляется посредством VMware Infrastructure Client. К сожалению, работает исключительно под Windows, даже в wine удается только установить, но не запустить, т.к. это чудо написано на .NET. Но есть и открытые perl-библиотеки (API) и набор утилит (RemoteCLI), которые позволяют управлять сервером.



Однако в бесплатной версии существуют ряд ограничений, в частности, на использование RewmoteCLI в режиме read-only. Что, впрочем, обходится после включения консоли и ssh (такой же, и даже более функциональный набор утилит уже установлен "внутри" сервера).

Еще неплохой бонус (для меня) - на сайте VMware раздается специальная сборка ESXi сервера для HP Proliant серверов, с установленными драйверами и некоторыми утилитами от HP. Техсаппорт HP подтвердил, что эта сборка работает без проблем на их железе.

Большой "недостаток" решений от VMware - цена :(
VMware Infrastructure 3 в полном комплекте для одного нашего сервера обходится в $15 тыс. А для полноценной работы (кластера) серверов надо не меньше двух (а лучше три-четыре). Поэтому пока решили остановиться на варианте "псевдокластера", когда команда на миграцию виртуальных машин отдается вручную (и сбой детектится тоже оператором).

Итак, пробуем установить. В качестве подопытного используется HP Proliant BL685c G1, подключенный к SAN 3PAR через fiber optic adapters Emulex (4Gb). SAN используется для хранения образов виртуальных машин.

Инсталляция не вызывает никаких трудностей. Достаточно загрузится с инсталляционного диска и указать устройство, куда необходимо установить сервер.

В процессе экспериментов выяснилась довольно интересная (и, на мой взгляд, странная) особенность. Инсталлятор устанавливает тип разделов для базовой операционной системы - VFAT (!). Совершенно непонятны причины использования VFAT - эта ФС устарела и ненадежна. Однако, оставим эти моменты на совести разработчиков VMware :)

Продожим. По окончании инсталляции перед пользователем появляется интерфейс настройки сервера, выполненный в желтых тонах. Достаточно просто внимательно читать подсказки, и проблем не будет. Нужно настроить сетевой интерфейс, к которому в дальнейшем можно подключаться для управления сервером, имя компьютера и пароль администратора (root). Хочу сразу предупредить - не включайте Lockdown mode по крайней мере до тех пор, пока не настроите локальный пользователей, иначе VI Client не сможет залогиниться.



Теперь необходимо "исправить" один серьезный недостаток ESXi сервера. А именно - отсутствие доступа по ssh. Самое сложное - у ESXi, в отличие от ESX, вообще не предусмотрен (официально) доступ к консоли. Но поиск в инете помог найти решение. Итак, все довольно просто.

  • На консоли переходим из интерфейса управления сервером в собственно консоль сервера. Все делается, как обычно - Alt-F1

  • Набираем "волшебное слово" unsupported. Отображаться ничего не будет. Жмем Enter

  • Если слово набрано правильно, появится предупреждение красным цветом о том, что админ ССЗБ и предложение ввести пароль. Вводим пароль рута

  • Получили рутовую консоль. Теперь даем команду:

    # vi /etc/inetd.conf

    И получаем старый добрый vi, с загруженным конфигом не менее старого и доброго inetd

  • находим строчку, начинающуюся с ssh и раскомментируем ее

  • далее (и тут идут отличия ESXi 3.5 и ESXi 3.5 Update 2 и выше. Указанное действие проверено на 3.5 Update3, но должно сработать на всех версиях) находим PID запущенного inetd:
    # ps ax | grep inetd
    И посылаем сигнал HUP процессу (чтобы он перечитал измененную конфигурацию):
    kill -HUP

Все, готово! Теперь мы имеем доступ по ssh на сервер! Он совершенно не лишний, т.к. позволяет полноценно использовать консольные утилиты vmware для управления ESXi. В частности, для выполнения автоматических бекапов виртуальных машин это просто незаменимо. Потому что Consolidated backup в бесплатной версии отключен, и единственный способ нормально автоматизировать - работать по ssh.

После проведения необходимых настроек (перегружаться не понадобится ;) ) можно переходить к следующему этапу - настройке сервера через VI Client.

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

Собственно говоря, для маленького предприятия, которое хочет максимум экономии при минимуме вложений отличия ESXi от VMware Server незначительны (ну, разве что в интерфейсе управления).

А самое интересное заключается в некоторых свойствах ESXi, предназначенных для Enterprise решений. А именно - потенциальная возможность создания HA решений (при некоторых ограничениях получится почти кластер). Судя входит общий сторадж (SAN, NAS или хотя бы iSCSI) повышенной надежности (не забываем, что это основная потенциальная точка отказа) и network adapter teaming - "объединение" сетевых адаптеров с целью увеличить надежность и повысить скорость работы в сети.

Эти интересные "вкусности" рассмотрим в следующей части.

Комментариев нет:

Отправить комментарий