Восстановление порта из состояния "errdisabled" на платформах CatOS - Часть 1

Содержание

Введение
Предварительные условия
     Требования
     Используемые компоненты
Функция errDisable
     Платформы, использующие функцию errDisable
     Назначение errDisable
     Причины errDisable
     Восстановление из errDisable
     Расширения errDisable

Введение

Зачастую клиенты обращаются в службу технической поддержки Cisco, когда замечают, что один или несколько портов коммутатора отключены из-за ошибки, т.е. данные порты находятся в состоянии «errdisabled». Они не знают, почему это произошло и как можно восстановить нормальную работу портов. В этом документе описано, что такое состояние errDisable, как восстановить работу после такого отказа, и приводятся два примера восстановления. Внутри этого документа термины errDisable и error-disable обозначают одно и то же. (errDisable – статус порта, отображаемый командой show port, error-disable или error-disabled – это эквиваленты errDisable) 

Предварительные условия

Требования

Для данного документа нет особых требований.

Используемые компоненты

Сведения, содержащиеся в данном документе, касаются следующих версий программного и аппаратного обеспечения. Это необходимо для создания примеров из этого документа:

  • Два коммутатора семейства Catalyst 4000/5000/6000 (или подобные им) без настройки конфигурации для работы в лабораторных условиях. Основной компьютер — Catalyst 5500, работающий с CatOS 5.4(2). Данное устройство должно быть подключено к коммутатору Catalyst 6509 под управлением 5.3(5a)CSX (также можно использовать любое устройство под управлением CatOS с поддержкой функций Ethernet-канала и PortFast).

  • Два перекрестных кабеля Ethernet с разъемом RJ-45.

  • CatOS 5.4(x) как минимум на одном коммутаторе.

  • Два порта FastEthernet в каждом коммутаторе поддерживают EtherChannel и portfast.

  • Терминальное подключение к одному или обоим коммутаторам.

Сведения, рассматриваемые в этом документе, получены в условиях изолированной лабораторной среды. Перед использованием любой из команд необходимо изучить ее потенциальное воздействие на сеть. На коммутаторе была введена команда clear config all для установки конфигурации по умолчанию. Если требуется воспроизвести ошибки для изучения их последствий, следует выполнять эту работу только в изолированной среде, чтобы не повлиять на реально используемую сеть. Приведенные ниже примеры даны лишь в качестве обучающих материалов. Выходные данные некоторых команд были сокращены, если они не интересны для обсуждения.

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

errDisable

Платформы, использующие функцию errDisable

Функция errDisable поддерживается коммутаторами Catalyst под управлением CatOS (Catalyst 2948G, 4500/4000, 5500/5000 & 6500/6000), а также коммутаторами Catalyst под управлением Cisco IOS (Catalyst 2900XL/3500XL, 2950, 2970, 3550, 4500 & 65000). Способ реализации функции errDisable зависит от программного обеспечения. В данной статье акцент делается на функции отключения в результате ошибок у коммутаторов с программным обеспечением CatOS.

Назначение errDisable

Функция errDisable впервые была реализована в операционной системе CatOS версии 3.2(2). Если в настройках коммутатора показано, что порт должен быть во включенном состоянии, но легальное ПО  коммутатора выявило на порте ситуацию, связанную с появлением ошибки, то в таком случае ПО коммутатора отключит данный порт. Т.е. порт был автоматически отключен программным обеспечением коммутатора, так как на порту было обнаружено состояние ошибки. 

Когда порт отключается по причине ошибки, то отправка и прием трафика на нем не выполняются. Светодиод порта горит оранжевым цветом, при вводе команды show port статус порта меняется на errdisable. Далее приведен пример данных о порте в состоянии error-disabled, полученных через командную строку:

Cat5500> (enable) show port 11/1
Port  Name               Status     Vlan       Level  Duplex Speed Type
----- ------------------ ---------- ---------- ------ ------ ----- ------------
11/1  		          errdisable   1 normal   auto  auto 10/100BaseTX 

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

Причины errDisable

Сначала данная функция предназначалась для решения проблемных ситуаций, когда коммутатор выявлял в порту поздние либо избыточные коллизии. Избыточные коллизии происходят, после того, как кадр отбрасывается из-за 16 коллизий подряд. Поздние конфликты появляются, когда все устройства, подключенные к линии определили, что она занята. Ошибки этих типов могут быть вызваны параметрами кабеля, отличающимися от указанных в спецификации (слишком длинный, неверного типа, неисправный), или плохой картой сетевого интерфейса (NIC) (с физическими проблемами или с проблемами в драйвере), или неверной конфигурацией дуплексного соединения портов. Эта последняя причина широко распространена из-за сбоев в согласовании скорости и параметров дуплексной передачи между двумя непосредственно связанными устройствами (такими как сетевая интерфейсная карта, подключенная к коммутатору). Только у соединений, работающих в полудуплексном режиме могут происходить коллизии в LAN. Т.к. для технологии Ethernet характерен CSMA (множественный доступ с контролем несущей), для полудуплексных соединений коллизии являются рядовым явлением до тех пор пока на них приходится малая часть трафика.

Т. к. возможности CatOS расширились, появилось множество других причин возможных отключений портов Например, на Catalyst 6500 под управлением CatOS функция Errdisable поддерживается для следующих ошибок соединения:

  • Проверка ARP

  • Подавление широковещания

  • Защита портов BPDU

  • Неверная конфигурация канала

  • Перекрестный сбой

  • Несоответствие дуплексных режимов

  • Неверная конфигурация туннеля протокола уровня 2

  • Неверная конфигурация туннеля протокола уровня 2

  • UDLD

Функция error-disable позволяет коммутатору отключать порт в подобных ситуациях. Следует помнить, что отключение порта из-за ошибки не является причиной аварийного сигнала тревоги до тех пор, пока не будут определены и устранены основные причины ошибок. Отключенный в результате ошибки порт – симптом более серьезной проблемы, которую необходимо решить.

Восстановление из errDisable

Для выхода из состояния errDisable необходимо выполнить два действия:

  1. Определите и устраните причину, по которой порты перешли в состояние "error-disabled" (кабель, NIC, EtherChannel и так далее).

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

  2. Включите порт повторно.

    Порты не будут включены снова даже при устранении источника проблемы. После устранения источника проблемы порты продолжают оставаться в отключенном состоянии (и светодиоды порта горят оранжевым цветом). Необходимо их включить повторно, прежде чем они станут активными. Раньше единственным способом отмены запрета порта был ручной ввод команды set port enable для соответствующих портов. Со временем появились дополнительные расширения, добавленные в функцию error-disable, сделавшие ее автоматической и более гибкой.

Примечание. Отключенные из-за ошибки порты — не единственная причина того, что индикатор порта горит оранжевым цветом. Это только одна из причин. Поэтому целесообразно проверять статус порта с помощью команды show port. Если ваша организация пользуется ИТ аутсорсингом сетевого оборудования, то лучше передать данную задачу профессиональным инженерам.

Расширения к errDisable

Set Option Errport – CatOS 4.2(2)

Некоторые пользователи хотят иметь возможность определять, следует ли отключить порт из-за особых конфликтных ситуаций, выявленных CatOS. Существовало несколько ситуаций, когда это требовалось - например, если соединение было магистральным, в котором отключение портов фактически хуже, чем обнаружение в них ошибок, то предпочтительнее оставить такие порты в рабочем состоянии до обнаружения причины проблемы, чем отключить их. Таким образом, в версии 4.2(2) к CatOS была добавлена новая команда set option errport, позволяющая администратору определить, какую процедуру выполнил маршрутизатор после обнаружения порта, имеющего данные конкретные конфликты. Исходным состоянием и состоянием по умолчанию является set option errport disable, в котором коммутатор переведет порт в состояние error-disabled при обнаружении специальных ошибок коллизий типа error-disable. Иначе, в случае использования команды set option errport enable, коммутатор оставит порты включенными даже в случае возникновения ошибок коллизий, которые обычно приводят к отключению этих портов.

Эта команда влияет на коммутатор глобально; она не может быть выполнена отдельным портом. Она не указана в справочнике по командам, но содержится в заметках о выпуске для 4.2(2). Обратите внимание, что данная команда представляет собой интуитивно-понятный счетчик, который должен активировать функцию errport для отключения функции err-disable (включенную по умолчанию). Имейте ввиду, чтобы избежать отключения порта в результате ошибки, просто задайте команду set option errport enable.

Использование команды set option errport рекомендуется только при условии полного осознания того, что это может повлиять на другие порты на модуле, если состояние, в котором произошла ошибка, будет продолжаться. Это только временная мера, а не «устранение» проблемы. Она только предотвращает отключение портов при обнаружении в них ошибки, до выяснения истинной причины проблемы. Используйте с осторожностью.

Задание errdisable-timeout - CatOS 5.4(1)

В версии CatOS 5.4(1) введена новая команда set errdisable-timeout. Эта команда является более усовершенствованной версией команды set option errport, рассмотренной ранее. Эта команда автоматически включает отключенный из-за ошибки (error-disabled) порт после того, как истечет настраиваемое количество времени (от 30 с до 24 ч, указанное в секундах). Она позволяет избежать необходимости включать такой порт вручную.

Эта команда влияет на все порты, включенные на коммутаторе текущей конфигурацией, но переведенные в состояние отключения в результате ошибки программным обеспечением CatOS. Использование команды show errdisable-timeout позволяет посмотреть текущий статус функции errdisable-timeout. Можно определить пять отдельных областей, в которых возможно включение данной функции: защита BPDU, неправильная настройка канала, несовпадение дуплексных режимов (со специальными ошибками коллизий, описанными выше), UDLD и другие. Таким образом может быть обеспечена постоянная защита от состояний error-disable в областях, где это необходимо. Это позволит выбирать области, в которых предпочтительнее оставлять порты работающими до устранения неполадок.

В программном обеспечении версии 5.2.1 и 5.2.2 для Catalyst 6000 есть дефект, который приводит к отключению сети, когда порт изменяет состояние на error-disabled. Если порт переходит в режим errDisable, коммутатор провоцирует случайную пересылку известного MAC-адреса на ошибочно отключенный порт. Это вызовет сбои в соответствующей сети VLAN. Это дефект ПО имеет идентификатор ошибки Cisco CSCdm48887. Проблема разрешена в ПО версий 5.2.3 и более поздних.

Краткосрочное обходное решение для предотвращения этой проблемы:

  1. Введите команду set option errport, чтобы отключить функцию error-disabled.

  2. Включите снова все отключенные из-за ошибки порты, используя команду set port speed mod_num/port_num.

    Пример: set port enable 3/1

  3. Очистите таблицу MAC-адресов с помощью команды clear cam dynamic для восстановления динамически полученных MAC-адресов.

Часть 2     Часть 3    

Заказать звонок

Пожалуйста, оставьте свои контакты