Brocade SAN Часть 6: Администрирование и обновление прошивок

Вообще в курсе данная глава посвящена как Web Tools, так и консоли, но в предыдущих главах мы уже немало с ними поработали и я думаю они понятны всем. Поэтому в данной части я уделю больше внимание другому продукту управления и мониторинга коммутаторов Brocade - Brocade Network Advisor.

Но начнём мы с ещё одного протокола управления сетевым оборудованием - snmp. Пожалуй наиболее интересное во всём этом, это SNMP трапы - сообщения, которые коммутатор самостоятельно отправляет на сервер мониторинга.

SNMP настраивается как через Web Tools в разделе Switch Administration на вкладке SNMP, так и через CLI при помощи команды snmpconfig.

При настройке вы так же можете указать уровень отправляемых сообщений от Debug (когда вам будет приходить максимальное количество сообщений) и до Critical, когда вы будете получать только сообщения о критических ошибках. Но так же можете и полностью отключить отправку трапов (хотя крайне не рекомендуется с точки зрения здравого смысла).

SNMP трапы касаются непосредственной работы коммутатора - повышение температуры, отказ вентиляторов или ошибка на портах.

В добавок к SNMP крайне рекомендую настроить и банальную проверку по ICMP (ping) вашим сервером мониторинга, т.к. при падении сетевого доступа в большинстве случаев SNMP трап не успеет отправится и вы не узнаете о потере управления коммутатором.

Так должно быть в идеальном мире. Старайтесь соответствовать.

Дополнительной возможностью является передача логов коммутатора на удалённым сервер syslog. Анализ логов является неотъемлемой частью работы любого инженера для превентивного устранения возможных проблем с оборудованием. В сообщениях syslog так же есть информация и по ошибкам в SAN-сети, что так же поможет при диагностике возникших проблем.

Теперь вернёмся к BNA. Хочу сразу отметить, т.к. в портфеле решений компании Brocade есть оборудование не только для FC, но и FCoE, IP и MPLS, BNA позволяет работать со всеми этими типами сетей. Но ввиду того, что IP оборудование компании не получило широкого распространения, и то, что IP подразделение было продано после того, как Brocade купила компания Broadcom, вряд ли вы столкнётесь с необходимостью конфигурировать IP сети при помощи BNA.
BNA поставляется в 2 видах: платной лицензируемой редакции и бесплатной версии. Несмотря на то, что на курсах говорят о том, что функционально эти версии одинаковы и в бесплатной версии действует лишь ограничение на количество портов (до 300 портов в 2 фабриках), тем не менее - они отличаются и функциональностью. К примеру, плагин для VMware vCente или Microsoft SCOM требует лицензии Professional Plus или Enterprise. Так же из отличий - только версия Enterprise может работать с Brocade DCX 8510-8. Из минусов - она так же как и Web Tools написана на Java. И если Web Tools - небольшое приложение и работает достаточно шустро, то с BNA дело обстоит совсем иначе. Работы с ним требует определённой доли терпения и на отзывчивость интерфейса можно и не надеяться. Да и процессор (по крайней мере на маке) кушает очень и очень хорошо.

Пожалуй, если вы располагаете больше чем просто парой коммутаторов, то BNA станет для вас основным инструментом работы. BNA так же может работать и с HBA, правда только производства Brocade. Помимо управления SAN-сетью, наиболее интересным в нём являются возможности мониторинга - мониторинг производительности в реальном времени, хранение истории производительности SAN.
Доступ к коммутаторам осуществляется по IP сети. При первом запуске вам необходимо будет добавить в BNA свои коммутаторы и логины/пароли от них. После чего BNA самостоятельно нарисует схему вашей сети (правая часть на скриншоте).
Наиболее интересным на мой взгляд в нём является возможность мониторинга в реальном времени нагрузки на SAN-сеть. Это крайне полезная информация при дальнейшем расширении сети, при поиске возможных неисправностей и будущих проблем и устранении бутылочных горлышек вашей сети.

Честно сказать - к BNA нужно очень долго привыкать. Интерфейс крайне не читабельный и неудобный. Да и отсутствие исторических данных в бесплатной версии тоже не очень приятно. Поэтому я бы крайне рекомендовал изучить бесплатное ПО под название STOR2RRD, которое прекрасно умеет мониторить не только FC коммутаторы, но и СХД (я уже рекомендовал его использования для мониторинга СХД в статье Lenovo Storage (ex-Storwize) V3700 V2 XP для чайников, т.к. они обычно так же имеют крайне скромные возможности для мониторинга и не хранят исторических данных).

Я бы сказал, что будет более продуктивно использовать оба эти продукта в большой SAN-сети, BNA - для управления, stor2rrd - для мониторинга. Но в любом случае - выбрать вы сможете, только попробовав оба продукта.

Обновление прошивки.
Прошивку можно обновлять двумя способами - из GUI (как самого коммутатора, так и через BNA) и из консоли. Я лично, предпочитаю второй вариант, на мой взгляд он удобнее. Но вообще я изначально приучал себя к работе с коммутаторами из консоли, поэтому кому-то возможно будет удобнее делать это и из Web Tools или BNA. Тут могу лишь предложить попробовать все 3 варианта и выбрать для себя наиболее удобный. Удобство BNA заключается в возможности прошить сразу все коммутаторы в фабрике.
И так, сам процесс обновления прошивки крайне прост, но важно понимать, что происходит с коммутатором в этот момент. Данная процедура отличается для классических коммутаторов с одним управляющим процессором и для директоров, где их два.
У каждого управляющего процессора есть 2 партиции, где располагаются файлы ОС. При запуске команды firmwareDownload прошивка загружается на вторичную партицию, после чего происходит high-availability перезагрузка (при который FC трафик не прерывается, если вы соблюдаете рекомендации по переходу от версии к версии) и формальная вторая партиция, становится основной, после чего файлы прошивки копируются с основной партиции на вторичную. В случае же с директором, картина похожа, с той лишь разницей, что у него 2 сервис процессора. Перед запуском обновления, необходимо проверить, что они синхронизированы и работают корректно.
switch:admin> hashow
Local CP (Slot 5, CP0): Active, Warm Recovered
Remote CP (Slot 6, CP1): Standby, Healthy
HA enabled, Heartbeat Up, HA State synchronized

И так, сначала прошивку скачивает вторичный сервис процессор, на нём она так же разворачивается на обеих партициях новая прошивка, после чего он перезагружается. Сервис процессоры синхроинизруют своё состояние друг с другом, после чего основной сервисный процессор делает failover и перезагружается, становясь вторичным. Затем они снова синхронизируются и уже после этого, новый вторичный сервисный процессор скачивает прошивку и обновляется. После чего так же перезагружается и снова происходит синхронизация.

За ходом обновления, в обоих случаях, можно следить при помощи команды firmwareDownloadStatus.

И так, пройдём весь процесс по шагам. Перед тем, как обновлять прошивку, необходимо выполнить пару подготовительных действий:
switch:admin> configUpload -all -p sftp
Ключ -all позволяет сохранить конфиг самого шасси и коммутатора (или всех виртуальных коммутаторов). Можно делать это и по отдельности.

Можно запустить configupload без параметров и выполнить эту процедуру в интеркативном режиме.
switch:admin> configupload
Protocol (scp, ftp, sftp, local) [ftp]: sftp
Server Name or IP Address [host]: 10.1.2.3
User Name [user]: UserFoo
Path/Filename [/config.txt]: switchConfig_10.1.2.3.txt
Section (all|chassis|FID# [all]): all
username@10.1.2.3's password:
Password:
configUpload complete

switch:admin> supportsave
Пригодится в случае, если во время перепрошивки возникнут проблемы и придётся заводить кейс у вендора - данная информация поможет в решении возникших проблем.

После этого, можно приступать к процедуре прошивки
switch:admin> firmwaredownload
Server Name or IP Address: 10.1.1.1
User Name: admin
File Name: /brocade/fw/v8.0.2c/
Network Protocol(1-auto-select, 2-FTP, 3-SCP, 4-SFTP) [1]: 4
Do you want to input SFTP options (Y/N) [N]:
Verifying if the public key authentication is available.Please wait ...
The public key authentication is not available.
Password:
Do you want to continue with CRA (Y/N)[N]:
Server IP: 10.1.1.1, Protocol IPv4
Checking system settings for firmwaredownload...
System settings check passed.
You can run firmwaredownloadstatus to get the status
of this command.
This command will cause a warm/non-disruptive boot but will
require that existing telnet, secure telnet or SSH sessions
be restarted.
Do you want to continue (Y/N) [Y]: Y

После чего начнётся процесс загрузки прошивки, а процесс мало чем отличается от аналогичного обновления Linux системы.
[spoiler title="Большой листинг процесса обновления"]
Firmware is being downloaded to the switch. This step may take up to 30 minutes.
Preparing for firmwaredownload...
Start to install packages...
dir-1.0.5-5
############################### [ 100% ]
ldconfig-2.16.2-4
############################### [ 100% ]
glibc-2.3.7-8
############################### [ 100% ]
glibc-linuxthreads-2.3.7-3
############################### [ 100% ]
bash-2.05-8
############################### [ 100% ]
readline-4.2-4
############################### [ 100% ]
terminfo-11.2.1-6
############################### [ 100% ]
termcap-1.4-5
############################### [ 100% ]
vixie-cron-3.0.2-62_4
############################### [ 100% ]
fileutils-4.1-4
############################### [ 100% ]
textutils-1.23-4
############################### [ 100% ]
warning: /etc/group created as /etc/group.rpmnew
warning: /etc/passwd created as /etc/passwd.rpmnew
warning: /etc/shadow created as /etc/shadow.rpmnew
setup-8.0.2c-28
############################### [ 100% ]
warning: /etc/hosts created as /etc/hosts.rpmnew
swbd12-setup-1.3.5-4
############################### [ 100% ]
which-2.13-4
############################### [ 100% ]
findutils-4.2-4
############################### [ 100% ]
bzip-1.0.2-4
############################### [ 100% ]
zlib-1.1.5-5
############################### [ 100% ]
chkconfig-1.0.1-7
############################### [ 100% ]
sed-3.03-6
############################### [ 100% ]
procps-3.3.1-3
############################### [ 100% ]
psmisc-19.0.1-5
############################### [ 100% ]
modutils-3.2-9
############################### [ 100% ]
sin-1.1.1-6
############################### [ 100% ]
rcinit-1.1.5-9
############################### [ 100% ]
misc-1.0.1-6
############################### [ 100% ]
pam-0.77-30
############################### [ 100% ]
util-linux-2.13o-18
############################### [ 100% ]
sh-utils-3.0-10
############################### [ 100% ]
popt-1.4-4
############################### [ 100% ]
grep-2.4.3-4
############################### [ 100% ]
rpm-4.3-5
############################### [ 100% ]
man-1.6g-7
############################### [ 100% ]
less-3.4.1-5
############################### [ 100% ]
gzip-1.2.5a-4
############################### [ 100% ]
tar-1.13.20-4
############################### [ 100% ]
rsync-2.6.10-2
############################### [ 100% ]
uuid-libs-1.23-4
############################### [ 100% ]
e2fsprogs-1.39-5
############################### [ 100% ]
cpio-2.4.3-4
############################### [ 100% ]
dev-1.4.0-2
############################### [ 100% ]
bootenv-1.0.3-7
############################### [ 100% ]
wdtd-1.0.1-5
############################### [ 100% ]
fwdl-8.0.2c-48
############################### [ 100% ]
telnet-server-0.18-7
############################### [ 100% ]
kernel-2.6.14.2-1362258977
############################### [ 100% ]
sysvinit-2.79-10
############################### [ 100% ]
kernel-module-usb-2.6.14.2-1362258977
############################### [ 100% ]
swbd21-drivers-2.4.20-4
############################### [ 100% ]
syslog-ng-3.1.0-3
############################### [ 100% ]
net-tools-1.58-6
############################### [ 100% ]
sysklogd-1.5-10
############################### [ 100% ]
getty-2.0.8j-8
############################### [ 100% ]
uucp-1.07-6
############################### [ 100% ]
inetd-0.18-8
############################### [ 100% ]
iptables-1.4-1
############################### [ 100% ]
tcpd-7.7-4
############################### [ 100% ]
rsh-server-0.18-4
############################### [ 100% ]
rsh-0.18-4
############################### [ 100% ]
openssl-libs-1.0.1e-1
############################### [ 100% ]
openssh-6.2p1-1
md5sum: /etc/sshd_config.default: No such file or directory
############################### [ 100% ]
openssh-server-6.2p1-1
############################### [ 100% ]
rusers-server-0.18-4
############################### [ 100% ]
rdate-990821.0.1-5
############################### [ 100% ]
logrotate-3.5.5-6
############################### [ 100% ]
ntp-5.94e-5
############################### [ 100% ]
pciutils-2.1.9-4
############################### [ 100% ]
strace-4.3-4
############################### [ 100% ]
sendmail-8.10-11
############################### [ 100% ]
iproute2-2.5-10
############################### [ 100% ]
libxml2-2.6.31-1
############################### [ 100% ]
fss-8.0.2c-11
############################### [ 100% ]
fabos-setup-8.0.2c-15
############################### [ 100% ]
fabos-drivers-8.0.2c-11
############################### [ 100% ]
fabos-libs-8.0.2c-11
############################### [ 100% ]
fabos-diag-8.0.2c-14
############################### [ 100% ]
warning: /etc/fabos/user.db created as /etc/fabos/user.db.rpmnew
fabos-8.0.2c-18
############################### [ 100% ]
fabos-daemons-8.0.2c-4
############################### [ 100% ]
fabos-zoning-8.0.2c-10
############################### [ 100% ]
sqlite-3.2.2-4
############################### [ 100% ]
dhcpcd-1.4-4
############################### [ 100% ]
dhclient-1.1-1
############################### [ 100% ]
fabos-routing-8.0.2c-10
############################### [ 100% ]
fabos-vf-8.0.2c-10
############################### [ 100% ]
fabos-hmon-8.0.2c-10
############################### [ 100% ]
fabos-wwnhs-8.0.2c-10
############################### [ 100% ]
fabos-man-8.0.2c-13
############################### [ 100% ]
fabos-swbd109-8.0.2c-1
############################### [ 100% ]
apache-2.4.6-10
############################### [ 100% ]
fastcgi-2.3-4
############################### [ 100% ]
fabos-webtools-8.0.2c-11
############################### [ 100% ]
fabos-webtoolsez-8.0.2c-3
############################### [ 100% ]
tz-7.12-6
############################### [ 100% ]
mtracer-tool-2.4.20-13
############################### [ 100% ]
sysstat-5.0.5-8
############################### [ 100% ]
prom-440epx-1.0.11-1
Please avoid powering off the system during prom update.
############################### [ 100% ]
ipv6-1.3-8
############################### [ 100% ]
awk-3.1.1-6
############################### [ 100% ]
ipsec-1.1-1
############################### [ 100% ]
hss-diag-8.0.2c-10
############################### [ 100% ]
Removing unneeded files, please wait ...
Finished removing unneeded files.
All packages have been downloaded successfully.
Firmware has been downloaded to the secondary partition of the switch.
HA Rebooting …
[/spoiler]

Во время high-availability перезагрузки у вас разорвётся ssh соединение (только FC трафик не прерывается), а переподключившись к коммутатору, продолжить следить за процессом при помощи команды firmwaredownloadstatus
switch:admin> firmwaredownloadstatus
[1]: Wed Oct 11 16:41:46 2017
Firmware is being downloaded to the switch. This step may take up to 30 minutes.
[2]: Wed Oct 11 16:48:31 2017
Firmware has been downloaded to the secondary partition of the switch.
[3]: Wed Oct 11 16:50:52 2017
The firmware commit operation has started. This may take up to 10 minutes.

А firmwareshow подскажет какие версии находятся на партициях в данный момент
switch:admin> firmwareshow
Appl Primary/Secondary Versions
------------------------------------------
FOS v8.0.2c
v7.4.2
WARNING: Firmwaredownload is in progress.

Полное обновление коммутатора занимает около 20 минут, а директора, соответственно, примерно в 2 раза дольше.

switch:admin> downloadstatus
[1]: Wed Oct 11 16:41:46 2017
Firmware is being downloaded to the switch. This step may take up to 30 minutes.
[2]: Wed Oct 11 16:48:31 2017
Firmware has been downloaded to the secondary partition of the switch.
[3]: Wed Oct 11 16:50:52 2017
The firmware commit operation has started. This may take up to 10 minutes.
[4]: Wed Oct 11 16:55:54 2017
The commit operation has completed successfully.
[5]: Wed Oct 11 16:55:54 2017
Firmwaredownload command has completed successfully. Use firmwareshow to verify the firmware versions.

После завершения процесса рекомендую посмотреть наличие ошибок в процессе обновления
switch:admin> errdump -a
Fabric OS: v8.0.2c
2017/10/11-16:38:47, [LOG-1003], 1, CHASSIS, INFO, Brocade6510, The log has been cleared.
2017/10/11-16:41:46, [SULB-1001], 2, CHASSIS, WARNING, Brocade6510, Firmwaredownload command has started. (From v7.4.2 To v8.0.2c).
2017/10/11-16:48:31, [SULB-1044], 3, CHASSIS, INFO, Brocade6510, Firmwaredownload to secondary partition has completed successfully.
2017/10/11-16:48:46, [FSSM-1002], 4, CHASSIS, INFO, Brocade6510, HA State is in sync.
2017/10/11-16:48:53, [FSSM-1003], 5, CHASSIS, WARNING, Brocade6510, HA State out of sync.
2017/10/11-16:49:52, [HAM-1004], 6, CHASSIS, INFO, Brocade6510, Processor rebooted - FirmwareDownload.
2017/10/11-16:50:01, [FV-1001], 7, CHASSIS, INFO, switch-01, Flow Vision daemon initialized.
2017/10/11-16:50:41, [FSSM-1002], 8, CHASSIS, INFO, Brocade6510, HA State is in sync.
2017/10/11-16:50:47, [FV-1002], 9, FID 128, INFO, switch-01, Flow Vision Config Replay Completed Successfully.
2017/10/11-16:50:50, [MAPS-1201], 10, FID 128, INFO, switch-01, MAPS has started monitoring with dflt_base_policy policy.
2017/10/11-16:50:51, [FSSM-1003], 11, CHASSIS, WARNING, Brocade6510, HA State out of sync.
2017/10/11-16:50:52, [SULB-1003], 12, CHASSIS, INFO, Brocade6510, Firmwarecommit has started.
2017/10/11-16:55:54, [SULB-1004], 14, CHASSIS, INFO, Brocade6510, Firmwarecommit has completed.
2017/10/11-16:55:54, [SULB-1036], 15, CHASSIS, INFO, Brocade6510, The new Version: Fabric OS v8.0.2c.
2017/10/11-16:55:54, [SULB-1002], 16, CHASSIS, INFO, Brocade6510, Firmwaredownload command has completed successfully.

После чего, стоит проверить, что настройки коммутатора в порядке и все порты работают и на них нет ошибок. Всё это делается при помощи стандартного набора команд, о которых я рассказывал в Часть 2: Инсталляция и конфигурирование

switch:admin> psshow
switch:admin> fanshow
switch:admin> tempshow
switch:admin> sensorshow
switch:admin> switchshow

Так же добавим сюда команду отображения ошибок на портах коммутатора, о которой подробнее мы будем говорить в следующей части Часть 7: Базовое решение проблем
switch:admin> porterrshow

Если никаких проблем не выявлено, процесс обновления можно считать успешно завершённым.

Реокмендация: порой бывает так, что коммутатор в процессе обновления может зависнуть, при этом, хосты не смогут корректно определить недоступность хранилища и переключение на вторую фабрику не произойдёт. Что бы этого избежать, лучше всего перед обновлением прошивки самостоятельно выключать порты на обновляемом коммутаторе, а после завершения процедуры - включать. Для этого стоит использовать команды:
portcfgpersistentdisab
portcfgpersistentenable

т.к. команда portdisable выключает порт до первой перезагрузки коммутатора

Процесс отката прост - вы делает при помощи firmwaredownload «обновление» до предыдущей версии. На этом сегодняшняя часть завершена, продолжение обязательно будет.

Добавить комментарий