Стекирование SummitStack

Материал из Xgu.ru

Перейти к: навигация, поиск

< ExtremeXOS

Содержание

[править] Общая информация

Технология SummitStack присутствует на коммутаторах Summit от Extreme Networks и позволяет объединять эти коммутаторы в стек, в котором каждый будет представлять отдельный слот единого виртуального модульного коммутатора. В активной топологии стека может находиться до 8 коммутаторов. Для стекирования могут использоваться как специальные стековые порты (расположенные на коммутаторах, либо на отдельных аппаратных модулях расширения) так и обычные 10/40G-порты данных. Скорость на кольце стекирования зависит от типа задействованных для стекирования портов и модулей расширения.

Перечень основных параметров конфигурации стека, которые задаются на каждом узле
параметр когда применяется значение по-умолчанию
Stacking Mode во время загрузки Disabled
номер слота во время загрузки 1
Master-Capable во время загрузки Да
ограничение лицензии во время загрузки не задано
priority при следующем выборе мастера автоматически
Основной и альтернативные IP-адреса в Mgmt сразу же не задано
Stack MAC во время загрузки не задано
Stacking protocol во время загрузки Standard

Для их задания не обязательно, чтобы коммутатор уже находился в стеке. Эти параметры хранятся в NVRAM каждого узла. Большинство же параметров стекирования хранятся НЕ в NVRAM, а в файле конфигурации. Параметры хранящиеся в NVRAM из числа тех, которые понадобятся коммутатору до того, как файл конфигурации станет доступен. При перезагрузке стека используется конфигурационный файл коммутатора, который стал мастером сразу же после перезагрузки.

В конфигурационных файлах коммутаторов, созданных до включения в стек, номера портов обозначаются как обычные целые числа. В стеке же обозначения портов представляют собой два числа <слот>:<порт>. Конфигурационный файл содержит отметку факта, что он был создан на коммутаторе в стекируемом режиме, в виде ID стекируемой платформы.

В стеке у коммутаторов существует 3 возможные роли: master, backup, standby.
Стеком управляет master. Вся информация control plane мастера дублируется в backup. В случае отказа master'a, backup становится master'ом, и среди оставшихся работающих узлов стека с Master-Capable=YES происходят выборы нового backup.
Роли распределяются согласно значению приоритета. Коммутатор с максимальным приоритетом в момент загрузки стека становится master, со вторым по величине - backup, все остальные - standby. Если значение приоритета равны, то приоритет имеет узел с меньшим значением номера слота. Если после перезапуска стека мастером становится коммутатор, чей выбранный для применения в момент загрузки конфигурационный файл был создан НЕ в режиме стекирования, то его содержимое игнорируется, а к загруженному стеку применяется дефолтная конфигурация. Если же выбранный файл имел дефолтное имя (primary.cfg, secondary.cfg), то он переименовывается в old_non_stack.cfg.

Значения цифрового табло передней панели
Отображен номер слота, верхняя часть цифры мигает - коммутатор в роли master;
Отображен номер слота, нижняя часть цифры мигает - коммутатор в роли backup;
Отображен номер слота, цифра горит постоянно - коммутатор в роли standby;
Погашено - стекируемый коммутатор НЕ в режиме стекирования;

[править] Схема физического соединения

изображение топологии "замкнутое кольцо"
изображение топологии "гирлянда"

Рекомендуемая топология для штатной эксплуатации - замкнутое кольцо (ring). В случае выхода из строя отдельных узлов и во время работ по модификации физической топологии кольцо стекирования разомкнётся. Однако стек продолжит работать и в топологии гирлянды (daisy-chain). Нужно учитывать, что разрыв замкнутого кольца снизит общую пропускную способность между узлами внутри стека.

[править] Команды просмотра настроек и рабочего состояния стека

show stacking-support                   - просмотр информации о выборе портов для стекирования (native/alternate);
show stacking [detail]                  - посмотреть топологию стека, [detail] - настройки всех узлов.
show stacking configuration             - отображение основных параметров конфигурации для узлов.
show stacking stack-ports
show slot [number] [detail]             - изучение состояния отдельных слотов.
show switch [detail]                    - основные параметры платформы.
telnet slot <slot-numbner>              - открыть telnet-соединение для управления отдельным узлом, представляющим слот.
                                          аутентификацию осуществляет мастер. Исключение failsave-account.

Получение статистики утилизации и ошибок на портах стекирования

show ports stack-ports <stacking-port-list> utilization [ bandwidth | bytes | packets ]
show ports stack-ports <stacking-port-list> statistics [ norefresh ]
show ports stack-ports <stacking-port-list> rxerrors   [ norefresh ]
show ports stack-ports <stacking-port-list> txerrors   [ norefresh ]

[править] Включение режима стекирования

enable stacking [node-address <node-address>]   - включение режима стекирования на коммутаторе (после выполнения нужно задать
                                                  параметры стекирования вручную, либо воспользоваться easy-setup)
configure stacking easy-setup                   - ручной запуск процедуры быстрого задания параметров стека.

[править] Настройка параметров стекирования

[править] Включение/отключение режима стекирования

[enable | disable] stacking [node-address <MAC>]                           - если не определён узел, включается на всех.

[править] Управление уровнем лицензий

Коммутаторы, которые являются узлами стека, могут иметь разный уровень лицензий ExtremeXOS. От уровня лицензий зависит перечень возможностей, которые доступны на узле. Возможности всего стека ограничены возможностями коммутатора, который является мастером. Если уровень лицензии мастера отличается (превосходит) от оного у бекапов, то возможна ситуация, когда бекап, не сможет полноценно заменить мастера в случае необходимости. Чтобы исключить такую возможность, нужно настроить ограничения лицензий по уровню, которым обладают все узлы, потенциально способные стать мастером в стеке.

show licenses
configure stacking { node-address <MAC> | slot <num> } license-level {core|advanced-edge|edge}

Для применения изменений требуется перезагрузка.

[править] Выбор протокола стекирования

Если предполагается использовать стек как маршрутизатор MPLS, на всех узлах в качестве протокола стекирования необходимо задать Enhanced Stacking Protocol. Кроме того, в этом случае в стеке могут присутствовать только модели Summit X460, X480, X670.

configure stacking protocol {standard | enhanced}

Для применения изменений требуется перезагрузка.

[править] Задание номера слота у узла

Стек не может (и не должен) динамически назначать номер слота у узлов. Номера задаются исключительно конфигурированием и должны быть уникальными для каждого узла в стеке. Допустимые значения 1-8.

configure stacking node-address <MAC> slot-number <number>     - ручное задание номера слота для узла.
configure stacking slot-number automatic                       - разрешить системе самостоятельно расставить номера для всех узлов.

[править] Настройка Master-Capability

configure stacking { node-address <MAC> | slot <num> } master-capability [ on | off ]  - на каждом узле
configure stacking redundancy { none | minimal | maximal }                             - сразу на всех узлах

[править] Задание ролей узлов в стеке

configure stacking {node-address <MAC> | slot <num>} priority { <pri> | automatic }

Роль выбирается исходя из

  • настройки значения master-capability;
  • модели коммутатора;
  • значения приоритета.

Разные модели коммутаторов обладают разным объёмом памяти и перечнем поддерживаемых функций. Более функциональные имеют приоритет при выборах master'a и backup'a. Приоритет моделей следующий (для версии ExOS 15.1).

  1. X480, X670;
  2. X650;
  3. все остальные.

Если коммутатор с более бедным чем мастер функционалом становится backup'ом, то в случае отказа мастера он не сможет обслуживать стек на прежнем уровне. Чтобы сравнять перечень возможностей для коммутаторов, которые потенциально могут стать мастером, рекомендуется

  • использовать одинаковые коммутаторы в стеке;
  • на более (менее) функциональном убрать master-capability, чтобы он не мог стать мастером.

В случае, когда несколько одинаковых коммутаторов пытаются стать мастером или бекапом, в рассмотрение берётся значение priority. Чем больше priority, тем выше шансы стать мастером или бекапом. В случае отказа мастера, бекап становится на его место, а в стеке инициируется процесс выборов нового бекапа. Перевыборы бекапа происходят в моменты отказа мастера или бекапа. Можно либо вручную задать priority у узлов, либо установить автоматический режим. Автоматический режим применяется, если в стеке ни у одного узла не задан приоритет вручную. Тогда считается, у всех приоритет 0. В этом случае приоритет отдаётся коммутатору с более мощным процессором или с более функциональной лицензией ExOS. В случае, когда максимальный приоритет обнаружен у двух и более коммутаторов, выбор делается на основе номера слота. Меньший номер побеждает. Если в выборе мастера хочется учитывать только критерий номера слота, нужно задать на всех узлах одинаковый приоритет. Разрешение ситуации с двумя мастерами происходит исходя из критерия времени проведённом в роли мастера, а не на основе приоритета.

[править] Назначение MAC-адреса представляющего стек

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

configure stacking mac-address                                         - задать в качестве MAC-адреса стека MAC мастера (выполняется на мастере);
configure stacking { node-address <MAC> | slot <num> } mac-address     - задать в качестве MAC-адреса стека MAC указанного узла.

При добавлении нового узла в стек, нужно настроить на нём мак стека. Проще всего это сделать командой

synchronize stacking {node-address <MAC> | slot <num>}

При удалении из стека узла, мак адрес которого был выбран для стека, нужно перенастроить стек на мак-адрес другого узла.
После выполнения команды назначения мак-адреса нужно перезагрузить стек (reboot stack-topology). Проверка:

show stacking configuration

Флаги у всех узлов должны содержать Mm- .

[править] Задание альтернативного IP-адреса и шлюза в mgmt-влане

Это адреса в сети управления (влан mgmt), доступные в портах управления разных узлов. Используются для непосредственного подключения к отдельным узлам через management-port.

configure stacking alternate-ip-address <ip/length> <gw> [automatic]

Альтернативный адрес во влане управления Mgmt должен быть в той же подсети, что и основной ip-адрес управления стека. Выяснить текущие адреса позволяют команды

show vlan mgmt
show ipconfig Mgmt
show stacking

[править] Порядок операций со стеком

[править] Порядок настройки нового стека

  • Собрать информацию со всех узлов о версии релиза ExOS (show version [slot <n>]). У всех узлов стека версия должна совпадать.
  • Проверить из какой партиции происходит загрузка ExOS (primary, secondary) узлов. У всех узлов стека партиция должна совпадать.
  • Собрать информацию об уровне лицензий на всех узлах (show licenses), выбрать на каком уровне будут работать узлы с Master-Capability.
  • Отключить узлы.
  • Соединить узлы стекируемыми кабелями.
  • Включить узлы.
  • Залогиниться с консоли на коммутатор, который хочется сделать мастером.
  • Выполнить
show stacking

для проверки физического соединения узлов. В списке должны быть все устройства стека в состоянии Disabled и в роли Master.

  • Включить стек на всех узлах командой
enable stacking (выполнять на желаемом мастере).
enable stacking node-address <MAC>

Можно воспользоваться easy-setup или же задать параметры стекирования вручную позже.

  • Если необходимо, настроить ограничения лицензии по минимальному уровню для всех узлов с включённым Master-Capability. Ограничение должно быть настроено так, чтобы все узлы, способные стать мастером, имели возможность (по уровню лицензии) заменять друг друга в случае отказа действующего мастера.
configure stacking license-level <level>
configure stacking node-address <MAC> license-level <level>
  • Если предполагается использовать MPLS, на всех узлах задать Enhanced Stacking Protocol в качестве протокола стекирования.
configure stacking protocol {standard | enhanced}

в стеке должны быть только модели Summit X460, X480, X670.

  • Каждому узлу назначить номер слота.
configure stacking node-address <MAC> slot-number <X>
  • Назначить MAC-адрес стеку.
configure stacking mac-address                                  (на мастере, если задаётся его MAC)
configure stacking node-address <MAC> mac-address               (если задаётся MAC другого узла стека)
  • Настроить приоритеты стекирования (priority) на каждом узле.
configure stacking node-address <MAC> priority <1-100>
  • Снять master capability на узлах, которые не должны становиться мастером и участвовать в выборах Backup.
configure stacking { node-address <MAC> | slot <num> } master-capability [on | off]
  • Перезапустить стек командой
reboot stack-topology

При входе в режим стекирования будет применена дефолтная конфигурация.

  • Зайти на мастер и проверить состояние стекирования
    • Все узлы должны быть видимы в стеке.
    • Все узлы должны быть в состоянии active.
    • После определения ролей, в стеке должен наблюдаться 1 master, 1 backup (если присутствует) и группа из standby.

Команды:

show stacking [detail]
show slot
show stacking configuration
  • Убедиться, что мастером стал желаемый коммутатор.
  • Настроить IP-сеть управления во влане mgmt (для всего стека).
configure vlan Mgmt ipaddress <ip>/24
  • Настроить альтернативные IP-адреса управления и шлюза по-умолчанию (для отдельных узлов).
configure stacking alternate-ip-address <ip>/<mask> <gw> [automatic]    - если [automatic], то выполнять только на мастере.
  • Настроить представленный стеком виртуальный модульный коммутатор желаемым образом (VLAN, IP-подсети, транк-группы, маршрутизация...).
  • Сохранить конфигурацию.

[править] Замена узла коммутатором такой же модели

При замене коммутаторов одинаковой модели можно использовать текущую конфигурацию стека.

  • Просмотреть параметры конфигурации для узла, который нужно заменить. Записать следующие значения:
    • версия ExtremeXOS;
    • партиция, с которой загружена прошивка;
    • уровень лицензии, применяемый в стеке;
    • номер слота;
    • протокол стекирования (standard или enhanced);
    • Master-Capable;
    • priority;
    • Альтернативный ip-адрес шлюза.

Применяемые команды: show switch, show licenses, show stacking configuration.

  • Отключить линки стекирования от удаляемого узла.
  • Заменить узел коммутатором той же модели.
  • Перед подключением линков стекирования подготовить коммутатор следующим образом:
    • Перечитать руководство по стекированию для модели коммутатора.
    • При отключенном питании вставить в коммутатор нужные модули расширения.
    • Включить новый коммутатор;
    • Проверить (show switch), что версия ExtremeXOS идентична той, что используется в стеке. Если нет, прошить такой же.
    • Проверить (show switch), что загружаемая прошивка берётся из той же партиции (primary, secondary), как и в стеке. Если нет, поправить.
    • Выполнить команду enable stacking и отказаться от easy-setup.
    • Задать номер слота, который был у заменённого узла (configure stacking node-address <MAC> slot-number <number>).
    • Если в стеке используется протокол стекирования enhanced, включить его: configure stacking protocol { standard | enhanced }
    • Настроить значение Master-Capability таким же, какое было у заменённого узла.
    • Если заменяемый узел может становиться мастером, проверить (show licenses) что уровень лицензии такой же, как у мастера в стеке. Если выше, настроить ограничение уровня лицензии как у мастера.
    • Задать величину priority, которую узел должен иметь в стеке: configure stacking {node-address <MAC> | slot <num>} priority { <pri> | automatic }
    • Задать альтернативный ip-адрес управления и альтернативный шлюз.
    • Если новый узел будет стекироваться по технологии SummitStack-V, настроить альтернативные порты 10/40G как стекируемые: configure stacking-support stack-ports <1-2> selection alternate
  • Подключить стекируемые линки к новому узлу и перезагрузить его командой reboot. Коммутатор должен включиться в топологию стека.
  • На мастере стека выполнить synchronize stacking node-address <MAC-of-NEW-NODE>. Если заменялся мастер, эту команду выполнить на каком-нибудь другом узле.
  • Перезагрузить новый узел командой reboot slot {<number> | node-address <MAC-of-NEW-NODE>}
  • Проверить обновлённый стек командой show stacking configuration.

[править] Замена узла коммутатором другой модели

При замене узла коммутатором другой модели нельзя использовать существующую конфигурацию стека.

  • Просмотреть параметры конфигурации для узла, который нужно заменить. Записать следующие значения:
    • версия ExtremeXOS;
    • партиция, с которой загружена прошивка;
    • уровень лицензии, применяемый в стеке;
    • номер слота;
    • протокол стекирования (standard или enhanced);
    • Master-Capable;
    • priority;
    • Альтернативный ip-адрес шлюза.

Команды: show switch, show licenses, show stacking configuration.

  • Применить команду unconfigure slot <n> для удаления конфигурации слота, который представляет заменяемый узел.
  • Далее действовать согласно процедуре "Замена узла коммутатором такого же типа".