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 [
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 системы.
Большой листинг процесса обновления
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 …
Во время 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 «обновление» до предыдущей версии. На этом сегодняшняя часть завершена, продолжение обязательно будет.