Brocade SAN Часть 12: Мониторинг производительности и проблем в фабрике
Мониторинг производительности в фабрике сводится к двум основным вещам:
- Поиск наиболее активного оборудования (top talkers)
- Поиск “бутылочных голышек” (bottleneck detections)
Для первого случая нам ничего дополнительно не нужно (с версии FOS 7.2), а вот для Top Talkers необходима лицензия Fabric Vision или Advanced Performance Monitoring.
Лицензии у меня под рукой нигде нет, поэтому опять будет рассказ без примеров.
Функционал Top Talkers позволяет в режиме реального времени отслеживать потоки с наибольшей загрузкой, проходящие через определённый порт.
Top Talkers может работать в одном из двух режимов:
- Port mode — мониторинг может быть установлен на F_ports для измерения трафика, исходящего из F_port в любом направлении
- Fabric mode — мониторы устанавливаются на E_ports в фабрике и измеряют скорость передачи данных всех возможных потоков в фабрике (только входящий трафик E_port). В этом режиме мониторы могут определять наибольших потребителей трафика на данном коммутаторе.
Мониторинг может работать только в одном из двух режимов!
Включение мониторинга в режиме Port mode на определённом порту
switch:admin> perfttmon -add egress|ingress
Выключение
switch:admin> perfttmon -delete
Включение мониторинга в режиме Fabric mode
switch:admin> perfttmon -add fabricmode
Данная команда включает мониторинг на всех коммутаторах в фабрике
Выключение
switch:admin> perfttmon -delete
Теперь при помощи команды
switch:admin> perfttmon -show
например
switch:admin> perfttmon -show 12 5
выведет top 5 потоков на 12 порту
Это пример для режима Port mode
В режиме же Fabric mode, нам необходимо указать Domain ID
switch:admin> perfttmon -show dom
например
switch:admin> perfttmon -show dom 1 5
Ограничения мониторинга:
- Не может обнаруживать скачки в потоке
- Невозможно установить мониторинг на зеркальном порту
- Может отслеживать только 10000 потоков за раз
- Не может обнаруживать всплески в потоке
- Не поддерживаются VE_ports, EX_ports, VEX_ports
- Собранные данные удаляются при перезагрузке коммутатора
Также Top Talkers можно настроить и через Brocade Network Adviser.
С версии FOS 7.4 эти механизмы устарели и им на смену пришли Monitoring and Alerting Police Suite (MAPS), который заменил Fabric watch, а его настройки могут быть конвертированы и перенесены при обновлении в MAPS, а Advanced Performance Monitor заменили Flow Vision. И MAPS и Flow Vision требуют лицензию Fabric Vision.
Monitoring and Alerting Police Suite (MAPS) — инструмент мониторинга на основе политики с заранее построенными правилами, которые упрощают настройку и мониторинг по всей сети.
Flow vision — инструмент, который позволяет администраторам определять, контролировать и анализировать потоки данных приложений для обеспечения оптимальной производительности. А также дает возможность беспрепятственного захвата копии трафика для анализа потоков трафика, узких мест (bottlenecks), использования полосы пропускания. Flow Vision также обеспечивает возможность генерации тестового потока, которую вы можете использовать для предварительной проверки инфраструктуры SAN. Генерирование тестового потока также полезно для тестирования внутренних соединений на коммутаторе перед развертыванием в производственной среде. Кроме того, Flow Vision позволяет тестировать проблемы с подключением к сети, такие как Slow Drain, использование полосы пропускания и аналогичные проблемы.
Вообще Flow Vision и MAPS довольно обширные темы. Тем более активно развиваются от версии к версии, да и в курсе им не уделялось особого внимания. По этой причине я рекомендую взять для изучения следующие документы.
Brocade Monitoring and Alerting Policy Suite Configuration Guide, 8.2.0
Brocade Flow Vision Configuration Guide, 8.2.0
Они максимально подробны, и если вы хотите использовать данный функционал, данные документы обязательны к изучению.
Bottleneck detection
Узким местом (Bottleneck) является порт в фабрике, где кадры не могут пройти так быстро, как должны. Bottleneck может вызвать нежелательное ухудшение пропускной способности по различным линкам. Когда bottleneck появляется на одном из портов, другие порты в фабрике также могут испытывать падение производительности при передачи трафика. Bottleneck detection не требует лицензии.
Bottleneck на порту может возникать, когда текущая нагрузка не превышает физическую скорость линка, но тем не менее, подключенное устройство не в состоянии обрабатывать трафик на данной скорости. За счёт одного такого устройства в сети проблемы с производительностью могут распространиться по всей фабрике.
Не так давно я опубликовал небольшую заметку Configuring your SAN to Support All Flash Arrays в которой прикладывал презентацию с Dell EMC World, где в разделе «Congestion Spreading & Innocent flows» как раз описывается подобная ситуация. Там очень наглядно с картинками показано как это происходит и к каким последствиям может приводить. Для лучшего понимания рекомендую ознакомиться с презентацией.
Bottleneck detection работает в следующих случаях:
- Поддерживаются F_ports, FL_ports, E_ports, EX_ports
- Транки на F_ports и E_ports
- E_ports на long distance
- Поддерживается на всех портах от 4Gb/s
- Поддерживаются порты на коммутаторах в режиме AG
- Поддерживаются виртуальные фабрики
- Поддерживаются на всех типах фабрик
Получить информацию по bottleneck можно двумя способами:
- RASlog, вы можете настроить частоту и продолжительность bottleneck для уведомлений
- CLI
Для включения обнаружения bottleneck
switch:admin> bottleneckmon -enable
что позволит включить мониторинг на всех портах. Можно указать дополнительные параметры
switch:admin> bottleneckmon -enable -alert *
для включения RASlog уведомлений с дефолтными параметрами длительности и порога срабатывания. В большинстве случаев этого достаточно.
Также стоит упомянуть, что не рекомендуется включать обнаружение bottleneck если загрузка линка более 85%.
Команда
switch:admin> bottleneckmon —status
покажет в каком состоянии находится мониторинг и параметры его срабатывания
switch:admin> IBM_2498_24G_FSW1:admin> bottleneckmon —status
Bottleneck detection — Enabled
==============================
Switch-wide sub-second latency bottleneck criterion:
====================================================
Time threshold — 0.800
Severity threshold — 50.000
Switch-wide alerting parameters:
================================
Alerts — No
Команда
switch:admin> bottleneckmon —show
показывает какое кол-во bottleneck было найдено в указанные отрезки времени