Как установить MegaRAID SMIS Providers на VMware ESXi 5.5
Добрый день, коллеги. Рад, что вы вновь зашли, на самый лучший IT блог, посвященный виртуализации. Есть сервер ESXI5.5, в нем есть raid контроллер LSI 9260-4i. Сервер забит не полностью дисками. Купили мы тут SSD, воткнули, перезагрузили ESXI, пытаемся найти наши ssd, но не тут-то было их видно не было. Как и в случае с windows дай думаю поставлю MSM в утилиту управляющую рейдом, но по закону всемирной подлости не тут-то было, существует ряд грабель со взаимодействием LSI и vMware. Начнемс.
Как установить MSM на ESXI хостах
Первое, что нужно сделать найти все необходимое для вашего LSI контроллера, я писал, как это сделать тут. Заходим в утилиты и скачиваем Latest SMIS Provider for ESXI 5.5

Распаковываем наш архив и видим файл формата vib, это сам драйвер SMIS провайдера.

Включаем на вашем esxi ssh об этом писал тут. Копируем данный файл в папку /tmp как это сделать описано тут. Переведите сервер ESXi в режим обслуживания (Maintenance Mode).
Подключитесь к серверу ESXi с помощью клиента SSH и установите MegaRAID SMIS Provider, выполнив команду:
esxcli software vib install -v /tmp/500.04.V0.53-0003.vib --no-sig-check
(в некоторых случаях --no-sig-check может и не понадобиться)

Видим, что команда отработала, о чем говорит статус "Update completed successfully", а статус reboot true, ожидает от вас перезагрузки.

Перезагрузите сервер. После перезагрузки проверьте, запущенна ли служба CIM Server. В консоли vSphere Client откройте вкладку Configuration раздел Security Profile, далее Properties для служб, а также посмотрим состояние устройств в Hardware.

Идем в storage.

Дальше проверим службы "Configuraation-Security profile"

Видим, что все ок

На вкладке Configuration в разделе DNS and Routing отображается имя хоста. Пропишите это имя в прямую и обратную зону DNS сервера, при отсутствии DNS сервера, внесите информацию об имени сервера ESXi в файл hosts на локальном компьютере.
Проверьте, что разрешение доменных имен происходит правильно в обе стороны как на рабочей станции с MSM, так и на гипервизоре.
Теперь если все ок то сразу можно использовать MSM, но в моем случае он не смог сразу найти нужный сервер. Мне помогла утилита SLP Helper (прокси для SLP-запросов MSM):
slp_helper - https://cloud.mail.ru/public/bMHx/WBp968mBi
Суть в том, что для обнаружения провайдеров CIMOM/WBEM (специфичного интерфейса управления) ESXi-серверов используется протокол SLP (Service Location Protocol). В результате недолгих исследований обнаружилось, что утилита MSM рассылает запросы SLP мультикастом... но сервер SLP на ESXi по каким-то причинам на мультикаст не отвечает (и, кстати, не всегда отвечает на броадкаст). Как выяснилось чуть позже - именно в этом и кроется причины невозможности обнаружения сервера. Заставить каким-либо образом SLP-сервер на ESXi отвечать на мультикасты не удалось в принципе.
К счастью, протокол SLP работает и по уникастовой схеме обмена. Это позволило быстренько (на подручном PHP 5.4) написать маленькую утилиту, которая бы конвертировала мультикаст-запросы от MSM в уникаст-запросы к ESXi-серверам, и передавала назад ответы. Эдакий маленький Proxy, который позволяет MSM обмениваться данными с серверами в обход мультикаста (мультикаст шлётся, но толку в нашем случае от него никакого). Данную утилитку вы можете скачать по ссылке ниже (а еще ниже - найдёте инструкцию по применению).
Скачиваем распаковываем.
Архив содержит рантайм PHP 5.4 и модуль php_sockets, поэтому весит 3 Мб. Для работы требуется именно PHP 5.4, в более младших версиях PHP отсутствует поддержка multicast на сокетах.
Перед использованием MSM/RWC2 утилиту достаточно развернуть, подправить адреса серверов (см. ниже), и запустить (runme.cmd) на одном из компьютеров локальной сети. Если между компьютерами нормально ходит мультикаст - она будет проксировать запросы от любого компьютера, передавая запросы на серверы, и возвращая обратно.
Адреса серверов задаются в файле slp_helper.php, строке $unicast_ips = array('192.168.1.1'); Просто замените 192.168.1.1 на адрес Вашего ESXi-сервера, при необходимости - добавьте через запятую (например - так:$unicast_ips = array('192.168.1.1', '192.168.1.2'); ) еще несколько адресов. Не переусердствуйте. В теории эта утилита может осилить и 100 серверов/клиентов, на практике - более двух серверов и одного клиента не проверялось.
Напоминаю, что утилиту Вы используете на свой страх и риск, и всю ответственность за последствия её использования в любом случае Вы несёте самостоятельно. Автор не даёт никаких гарантий касательно данной утилиты. При распространении указание ссылки на данную статью - обязательно. Запрещается создание коммерческих продуктов на базе кода данной утилиты.

Я буду редактировать с помощью Notepad++


Запускаем runme.cmd в каталоге с утилитой от имени администратора. Откроется окно примерно следующего содержания

Откроется окно примерно следующего содержания.

После этих строк по мере запросов "побежит" журнал обращения к утилите. Самое главное - чтобы сразу после этих строк и между ними не было никаких сообщений об ошибках
Запустите MSM или RWC2. Адрес хоста для поиска должен быть одним из адресов локальной сети Вашей машины с MSM/RWC2. Зайдите в "Configure Host"

Видим, что внизу включена галка Stop discovery process of remote servers и ее выключить нельзя пока не поменяем тип обнаружения. Выбираем Display only the local server и жмем Save Settings.

Откроется вопрос сохранить настройки жмем Yes.

Опять идем в Configure Host и видим что галку Display only the local server можно снять или она вообще не стоит

Выбираем Display all the systems in the network of local server и жмем save settings.

На вопрос применить ли настройки прямо сейчас жмем NO.

Видим что, утилита стала броадкастить

Вводим нужный ip для поиска, учтите что он должен находится в пределах одного броэдкасного домена.

Логинимся


Надеюсь вы увидели, что устанавливать MSM в ESXI хостах, очень просто.

Так же советую посмотреть Ошибка unable to connect to cimom server при попытке залогиниться через MSM
Спасибо за статью, все очень хорошо расписано, но я столкнулся с небольшой проблемой не могу найти Latest SMIS Provider на мой контроллер ASUS-PIKE-2008 _ttp://www.nix.ru/autocatalog/server_systems_asustek/ASUS-PIKE-2008-8-port-SAS-SATA-6Gb-s-RAID-0-1-1E-10_116869.html#
Поставил скачав с сайта Lis версию по новее у меня резко повысилось время отклика дисков. с 10-15ms до 150-300ms пришлось удалить. Может вы сможете помочь. Среди драйверов для этого контроллера на сайте asus так и этот пакет я не смог найти.
Я бы в такой ситуации скачал бы все более новые SMIS Provider драйвера и ставил бы их по очереди, и тестировал, есть еще вариант если сервер или контроллер на гарантии, то написать официальному производителю, они обязаны помочь
Огромное спасибо за Ваш труд!
мой айпи хоста с которого подключен к сети 10.0.0.1
айпи ESXi = 10.0.1.29(с моего хоста — пингуется, телнетом на 427 открывается)
видит десяток серверов в моей сети (и без прокси)
но не видит нужный мне 🙁
как и чего проверить?
Галка Stop discovery process of remote servers неактивна. Что можно сделать?
Я помню такую ситуацию, мне помогало шаманство выбрать первый пункт, сохранить настройки закрыть MSM. Потом выбрать второй пункт сохранить и так в какой-то последовательности, приводило к тому, что она становилась активна. Сейчас не вспомню, ибо все серверное оборудование уже DELL
после установки в сервер адаптера hba и подключения полки, msm перестал находить хост. Надо край подключиться к локальному raid`у. Что можете посоветовать в данном случае. Спасибо
помог перезапуск службы cim server на хостах