Как вы знаете, в состав ПО для стораджа, которое доступно вам для новых систем NetApp, входит полезный инструмент наблюдения, управления, диагностики и рисования красивых графиков – OnCommand Core 5 (ранее – DFM, Data Fabric Manager). Для его работы необходимо использовать протокол SNMP. NetApp Data ONTAP поддерживает SNMP вплоть до версии 3. Вот как включить и настроить использование аутентифицируемого SNMPv3 для работы с DFM/OnCommand Core.
Начнем с того, что в админской консоли NetApp включим отключенный по умолчанию в сторадже протокол SNMP.
> options snmp.enable on
Хотя с NetApp и можно работать под root-ом, но тут это такая же “плохая практика” как и в обычном UNIX-like. Поэтому сразу начнем учиться жить “по-правильному”. Воспользуемся имеющимися средсвам RBAC – Role-based Access Control (кстати про использовани RBAC вы можете почитать перевод руководства на сайте Netwell в переводах Best Practices).
Создадим роль (snmpv3role), которой назначим определенную доступную ей функцию (login-snmp). Затем создадим группу, которой присвоим созданную роль с функцией, а затем добавим в эту группу созданного пользователя, которому назначена роль, с присвоенной роли функцией (“…в доме, который построил Джек”). Вот в таком порядке это создается:
> useradmin role add snmpv3role -a login-snmp
> useradmin group add snmpv3group -r snmpv3role
> useradmin user add snmpv3user -g snmpv3group
> Enter password:
Введем, в заключение процесса, пароль на пользователя snmpv3user. Это будет наш пользователь для операций SNMPv3. Протокол v3 отличается от традиционного и привычного v1 как раз наличием средств аутентификации.
Включим трапы SNMP.
> snmp traps enable
> snmp init 1
?? разрешим аутентификацию.
> snmp authtrap 1
А затем добавим хост, с которого будут происходить обращения к SNMP. В нашем случае это хост с установленным DFM или OnCommand Core 5.0, или же любым другим средством, работающим по SNMP, например собирающем со стораджа статистику. Можно добавить и несколько хостов.
> snmp traphost add <DFM server hostname>
Укажем расположение стораджа, для административных нужд, чтобы можно было легко его обнаружить и идентифицировать, в случае необходимости.
> snmp location <filer location>
(если в строке есть пробелы – окружите строку кавычками; snmp location “ДЦ2, комн.5, стойка 8”)
Все готово на стороне стораджа. Переходим на сторону хоста DFM/OnCommand 5.0
- Если вы настраиваете из GUI, то проследуйте сюда:
Control Center tab | Setup | Options | SNMP Trap Listener. Щелкните Yes для включения листенера и щелкнитеk Update.
Control Center tab | Setup | Network Credentials.
Если вы использовали SNMPv1, найдите сеть вашего стораджа, которую вы хотите изменить на использование SNMPv3 в списке внизу страницы, и щелкните Edit справа.
В Edit Network Credentials, выберем SNMPv3.
В SNMPv1 Settings, убираем все, что указано в этом поле.
В SNMPv3 Settings, введем имя пользователя и пароль, созданные выше (snmpv3user) и щелкнем Update. НЕ ВВОД??ТЕ ничего в поле Privacy password. Это пока не используется, если вы туда что-то напишете, то получите сообщение об ошибке “snmpd:error Encryption not enabled” на стороне стораджа.
- Если вы настраиваете из командной строки:
C:\> cd c:\Program Files\Network Appliance\DataFabric\DFM\bin
> dfm host list
(чтобы посмотреть ID стораджа и его IP)
> dfm host set <storage ip> prefsnmpVersion=3
> dfm host get -q <ID стораджа, который вы подключаете по v3>
(для проверки версии snmp)
> dfm host diag <имя хоста стораджа>
Вы получите следующий диагностический вывод:
SNMP Version in use SNMPv3
SNMPv1 Failed
(это правильно)
SNMP Community <пусто>
(так и должен быть пустой, см. ниже)
SNMPv3 Passed (297ms)
SNMPv3 Auth Protocol MD5
SNMPv3 Privacy Enabled No
(Так и должно быть, это зарезервировано для будущего использования Privacy password, и сейчас не работает)
SNMPv3 Username root
(OK, диагностика использует root
, а не нашего созданного snmpv3user
)
SNMP sysName <…>
(какие-то значения, указанные в настройках)
SNMP sysObjectID <…>
SNMP productID <…>
Диагностика использует выполнение от пользователя root, поэтому мы видим выше упоминание root.
Если вы не очистите строку read only community в DFM GUI, то DFM будет использовать SNMPv1 в том случае, если строка ro community определена на сторадже. Для ее удаления выполните команду в консоли стораджа:
> snmp community delete ro <community ro string>
??мейте ввиду, что System Manager v1.x и 2.x пока не поддерживают SNMPv3. Это означает, что если вы отключите использование SNMPv1, у вас перестанет работать функция обнаружения стораджей в сети, однако вы сможете добавить их вручную по IP-адресу (не Discover, а Add, затем введите IP-адрес стораджа, затем щелкните на иконку стрелки вниз, следующей за More, и введите логин и пароль административного аккаунта). Ели вам нужно продолжать использовать System Manager вместе с DFM, то оставьте строку ro community на сторадже, удалив ее в DFM. DFM будет работать по v3, а System Manager по v1, без аутентификации.