У компании EMC есть замечательная штука под названием Solutions Enabler (SE), которая необходима для плагина Virtual Storage Integrator для vCenter и для управления CLARiiON и Symmetrix. Solutions Enabler имеет довольно широкий функционал, который требуется дополнительно лицензировать, но так как я хочу использовать его только для EMC VSI plug-in, то никаких лицензий дополнительно не требуется, потому что базовая лицензия на него идет в комплекте с любым СХД от EMC. Отмечу то, что если Вы являетесь владельцем любой СХД EMC, то у Вас есть все основания использовать их плагины для vCenter, они бесплатны и дают достаточно преимуществ, чтобы их не игнорировать.
Моей целью было подружить SE с vCenter, а так как мне было невероятно лень устанавливать сервер Solutions Enabler, то я использовал vApp с ним, что заметно удобнее. Скачать его можно с powerlink –> support –> software downloads licensing –> Downloads S –> Solutions Enabler.
Мне нужна была версия 7.3, так что нужно найти что-то вроде se730_suse11_vapp_OVF10.ova или Kit for Virtual Appliance. Так же потребуется Solutions Enabler for Windows x86.
Примечание: Virtual Storage Integrator работает только с версией Solutions Enabler для x86 систем, установленной на машине администратора
Примечание 2: версии SE для vApp и для windows должны совпадать, иначе при настройке связи с vCenter может выдавать ошибку version mismatch
Мы скачали и развернули vApp, а так же установили Solutions Enabler на рабочую станцию и установили на неё VSI plug-in, теперь нужно их подружить. Так же мы проверили, что vApp имеет доступ по сети к vCenter, к СХД, к DNS серверам, к машине администратора с VSI. Предположим, что все условия соблюдены, что дальше?
Настройка соединения Solutions Enabler сервера и клиента
А дальше нужно сделать следующее:
1. Настройка соединения на клиентской станции
Открыть файл C:\Program Files\EMC\SYMAPI\config\netcnfg
Этот файл всегда расположен там, даже если у Вас x64 система, не стоит искать его Program Files(x86).
Вписать в него подобную строку:
SYMAPI_SECURE – TCPIP NodeName IP_Вашего_SE 2707 SECURE
Формат строки таков, что если Вы решите использовать только DNS вашего SE, то вместо IP, нужно указать знак “-“, NodeName – это DNS имя вашего SE сервера, 2707 – стандартный порт SYMAPI демона, SECURE – проверка подлинности при соединении
Пример:
SYMAPI_SECURE – TCPIP SE_SuSE11_VApp – 2707 SECURE
P.S. в качестве DNS имени можно использовать FQDN, а можно использовать короткое, как у меня
Примечание: Если одновременно указать NodeName и IP, то будет использоваться именно IP, независимо от того что написано в параметре NodeName
SYMAPI_SECURE – TCPIP PentagonServer 10.0.0.2 2707 SECURE
2. Настроить переменные окружения на клиентской станции:
set SYMCLI_CONNECT=SYMAPI_SERVER
и
set SYMCLI_CONNECT_TYPE=REMOTE
Первой строкой мы сообщаем, что хотим подключиться к серверу SYMAPI.
Второй строкой мы сообщаем, что сервер является удаленным, но мы локально храним кэш операций.
Эти переменные так же можно прописать в переменные окружения системы, чтобы они были доступны всем пользователям за данной рабочей станцией, если ей пользуется несколько администраторов.
Возможно потребуется перезагрузка, если переменные были прописаны только в системные.
3. Разрешить доступ к SYMAPI серверу, на Solutions Enabler.
Для этого нужно зайти на веб-интерфейс Solutions Enabler vApp.
По-умолчанию портом веб интерфейса является 5480
Примечание: логин и пароль для входа в Solutions Enabler по умолчанию следующие:
Логин: seconfig
Пароль: seconfig
После открытия нужно перейти на вкладку Command Execution, далее в блоке NETHOST Settings указать рабочую станцию и пользователя, который получит доступ к серверу через SYMAPI демона и нажать Configure.
Примерный формат NETHOST можно увидеть на картинке ниже:
Примечание: В поле Nodename можно указать не только FQDN, но и IP адрес клиентской машины
Примечание 2: В поле Users нужно указать имя пользователя, который в залогинен на рабочую станцию, а не в vCenter. Ввести нужно только его логин, без указания домена. Если пользователей с одной рабочей станции будет много, то нужно прописать их всех
Далее перейти на вкладку Daemon Status и перезапустить следующие демоны в указанном порядке:
- Выключить storsrvd
- Выключить storapid
- Включить storsrvd
- Включить storapid
Если storapid долго не включается или не выключается, можно перезагрузить vApp. Произойдет штатная перезагрузка, так как внутри есть vmware tools.
Всё, с этим закончено.
Настройка соединения vCenter с Solutions Enabler
Тут обычно всё проходит очень просто, после того, как выполнены все предыдущие шаги, нужно открыть vSphere Client, перейти на окно Home, выбрать внизу EMC и откроется следующее окно:
В нем нужно выбрать Solutions Enabler и указать имя или IP Вашего сервера Solutions Enabler. Далее жмем Test Connection и если видите сообщение как у меня, то еще и Save Connection.
Поздравляю, настройка закончена.
Проблемы при соединении и что делать
При настройке соединения я наткнулся на две проблемы:
1. The trusted host file disallowed a client server connection
2. The remote client/server handshake failed
Обе могут быть вызваны несколькими общими причинами, может быть даже несколько сразу:
- Неправильно указано или совсем не указано NodeName или Users в настройках NETHOST
- Неправильно настроено соединение на стороне клиента в файле netcnfg или не заданы переменные окружения
- Неправильно определяется имя или IP адрес клиента на сервере SE
- Серверы DNS возвращают неверное значение имени клиента
- Серверы ДНС недоступны
- Проблемы с маршрутизацией
- Ошибка сертификата и проверки подлинности
Чтобы понять какая же из перечисленных выше проблем наша, или даже какие, нужно заглянуть в логи сервера SE, но перед этим попробовать провести авторизацию 2-3 раза, чтобы убедиться что ошибка одна и та же. И посмотреть ошибку в логах vCenter.
Просмотр детального описания ошибок в логах vCenter
Открываем vSphere Client, переходим на окно Home, выбраем внизу EMC, а далее Logging, в списке Log Files выбрать лог начинающийся с sewrapper-*, Log Levels выставить на All или Error.
Тогда в увидите следующую картину:
Далее зная ошибку можно искать её на Powerlink или попробовать решить самостоятельно
Просмотр логов на Solutions Enabler
Заходим на веб-интерфейс SE, вкладка Appliance Data/Log, выбираем в блоке DAEMON/LOG FILES storsrvd и жмем Download.
Выскочит окно, которое спросит куда сохранить архив с логами, сохраняем где удобнее.
Логи у нас есть, что дальше?
Решение проблем!
У меня в логах было примерно следующее:
ANR0018E Rejecting session 1 for vitaly@::ffff:10.10.0.1: The trusted host file disallowed a client server connection
ANR0151E Common Name in client certificate not valid: expected “::ffff:10.10.0.1”, received “storsrvd pc01.domain.int”
Хм. Ненормально, особенно учитывая то, что IP моей рабочей станции 192.168.0.2, а он видит как авторизацию с IP адреса гейтвея для сети 10.10.0.0
Зато я вижу что DNS сервер откликается, возвращает правильное имя рабочей станции и что проблема на уровне сети, к которой доступа у меня нет.
Решение №1
Но подключиться к SE все равно нужно, для этого можно сделать следующие шаги:
- Добавить в NETHOSTS на SE vitaly@10.10.0.1 (user@nodename)
- Перезапустить демонов storsrvd и storapid.
- Проверить авторизацию снова
Оно не заработает, потому что у меня проблема как раз в проверке подлинности сертификата.
Решение №2
Идем дальше. Можно выпустить сертификат со своим IP вместо FQDN.
1. Открываем: C:\Program Files\EMC\SYMAPI\Config\Cert
2. Выполняем команду:
C:\Program Files\EMC\SYMCLI\bin\manage_server_cert.bat create 10.10.0.1
3. На своей рабочей станции выполняем следующие команды:
stordaemon show storsrvd
Если storsrvd запущен, то выполняем
stordaemon shutdown storsrvd
Если не запущен, то
stordaemon shutdown storapid
stordaemon start storsrvd <-Эту команду выполняем только если storsrvd был запущен в первом шаге
stordaemon start storapid
4. Перезапускаем демонов на сервере: все те же самые storsrvd и storapid.
5. Проверяем
У меня заработало 🙂
Но есть еще один способ, если первые 2 не помогли.
Решение №3
Это решение тоже рабочее, документированное и в некоторых ситуациях правильное.
Мы отключаем проверку подлинности для клиентов, так что авторизация будет проходить только по user@nodename, без сертификата.
Изменения на стороне клиента:
Открыть файл C:\Program Files\EMC\SYMAPI\config\netcnfg
Вписать в него подобную строку:
SYMAPI_SECURE – TCPIP NodeName IP_Вашего_SE 2707 NONSECURE
Параметр NONSECURE сообщает, что сертификат предоставляться на проверку серверу не будет.
Изменения на стороне сервера:
1. Открываем веб-интерфейс SE сервера
2. Вкладка Daemon Status, жмём кнопку Daemon Options
3. В появившемся окне ищем строку:
# storsrvd:security_level = SECURE
4. Убираем знак решётки и меняем уровень на NONSECURE
storsrvd:security_level = NONSECURE
5. Сохраняем изменения
6. Перезапускаем демонов storsrvd и storapid.
7. Проверяем.
У меня тоже заработало.
Если эти решения не помогли, а долгие поиски на powerlink не принесли результатов – обращайтесь в техподдержку, иногда от них бывает польза 🙂
Документы использованные при написании статьи: emc242362, emc254020, emc244917, Solutions Enabler Installation Guide и еще какие-то…
Статья изначально опубликована в блоге volnyanskiy.ru, автор Волнянский Виталий.