EMC Solutions Enabler и Virtual Storage Integrator для vCenter: их соединение и решение проблем с соединением

У компании 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

https://SE_vAPP_IP:5480

Примечание: логин и пароль для входа в Solutions Enabler по умолчанию следующие:

Логин: seconfig

Пароль: seconfig

После открытия нужно перейти на вкладку Command Execution, далее в блоке NETHOST Settings указать рабочую станцию и пользователя, который получит доступ к серверу через SYMAPI демона и нажать Configure.

Примерный формат NETHOST можно увидеть на картинке ниже:

image

Примечание: В поле Nodename можно указать не только FQDN, но и IP адрес клиентской машины

Примечание 2: В поле Users нужно указать имя пользователя, который в залогинен на рабочую станцию, а не в vCenter. Ввести нужно только его логин, без указания домена. Если пользователей с одной рабочей станции будет много, то нужно прописать их всех

Далее перейти на вкладку Daemon Status и перезапустить следующие демоны в указанном порядке:

  1. Выключить storsrvd
  2. Выключить storapid
  3. Включить storsrvd
  4. Включить storapid

Если storapid долго не включается или не выключается, можно перезагрузить vApp. Произойдет штатная перезагрузка, так как внутри есть vmware tools.image

Всё, с этим закончено.

Настройка соединения vCenter с Solutions Enabler

Тут обычно всё проходит очень просто, после того, как выполнены все предыдущие шаги, нужно открыть vSphere Client, перейти на окно Home, выбрать внизу EMC и откроется следующее окно:

image

В нем нужно выбрать 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

 

Обе могут быть вызваны несколькими общими причинами, может быть даже несколько сразу:

  1. Неправильно указано или совсем не указано NodeName или Users в настройках NETHOST
  2. Неправильно настроено соединение на стороне клиента в файле netcnfg или не заданы переменные окружения
  3. Неправильно определяется имя или IP адрес клиента на сервере SE
  4. Серверы DNS возвращают неверное значение имени клиента
  5. Серверы ДНС недоступны
  6. Проблемы с маршрутизацией
  7. Ошибка сертификата и проверки подлинности

Чтобы понять какая же из перечисленных выше проблем наша, или даже какие, нужно заглянуть в логи сервера SE, но перед этим попробовать провести авторизацию 2-3 раза, чтобы убедиться что ошибка одна и та же. И посмотреть ошибку в логах vCenter.

Просмотр детального описания ошибок в  логах vCenter

Открываем vSphere Client, переходим на окно Home, выбраем внизу EMC, а далее Logging, в списке Log Files выбрать лог начинающийся с sewrapper-*, Log Levels выставить на All или Error.

Тогда в увидите следующую картину:

image

Далее зная ошибку можно искать её на Powerlink или попробовать решить самостоятельно

Просмотр логов на Solutions Enabler

Заходим на веб-интерфейс SE, вкладка Appliance Data/Log, выбираем в блоке DAEMON/LOG FILES storsrvd и жмем Download.

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

image

Логи у нас есть, что дальше?

Решение проблем!

У меня в логах было примерно следующее:

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 все равно нужно, для этого можно сделать следующие шаги:

  1. Добавить в NETHOSTS на SE vitaly@10.10.0.1 (user@nodename)
  2. Перезапустить демонов storsrvd и storapid.
  3. Проверить авторизацию снова

Оно не заработает, потому что у меня проблема как раз в проверке подлинности сертификата.

Решение №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, автор Волнянский Виталий.

Leave a Reply

Your email address will not be published. Required fields are marked *