Коммутация LAN : Ethernet

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

28 июля 2008 - Перевод, выполненный профессиональным переводчиком
Другие версии: PDF-версия:pdf | Машинный перевод (28 июля 2013) | Английский (20 июня 2007) | Отзыв

Содержание

Введение
Предварительные условия
     Требования
     Используемые компоненты
     Условные обозначения
Функция errDisable
     Платформы, использующие функцию errDisable
     Назначение errDisable
     Причины errDisable
     Восстановление из errDisable
     Расширения errDisable
Как восстановить порт из состояния errDisable
Восстановление отключенного в результате ошибки порта: примеры
     Порт закрыт из-за ошибок функцией BPDU Port-Guard
     Отключение из-за ошибки, связанной с неправильной конфигурацией EtherChannel
Проверка конфигурации
Устранение неполадок в конфигурации
Краткие сведения о команде
Связанные обсуждения сообщества поддержки Cisco
Дополнительная информация

Введение

Зачастую клиенты обращаются в службу технической поддержки 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 для установки конфигурации по умолчанию. Если требуется воспроизвести ошибки для изучения их последствий, следует выполнять эту работу только в изолированной среде, чтобы не повлиять на реально используемую сеть. Приведенные ниже примеры даны лишь в качестве обучающих материалов. Выходные данные некоторых команд были сокращены, если они не интересны для обсуждения.

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

Условные обозначения

Более подробные сведения о применяемых в документе обозначениях см. в Условные обозначения, используемые в технической документации Cisco.

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) (Комментарии к релизу для семейства программного обеспечения Catalyst 5000 выпуска 4.x). Обратите внимание, что данная команда представляет собой интуитивно-понятный счетчик, который должен активировать функцию 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-адресов.

Как восстановить порт из состояния errDisable State

В этом разделе предоставляются примеры способов обнаружения портов, отключенных из-за ошибки, и их восстановления, а также краткое обсуждение некоторых дополнительных причин отключения портов из-за ошибки. Конкретные примеры таких неполадок, приведенные ниже, легко воспроизвести в лабораторных условиях.

Для восстановления порта из состояния errDisable выполните следующие действия:

  1. Версия программного обеспечения, используемого в данном документе

    Команда show version показывает, что версия программного обеспечения коммутатора работает согласно данному документу. Здесь просто показано, какую версию CatOS мы использовали для этого теста и какие были задействованы модули.

    Cat5500> (enable) show version
    WS-C5500 Software, Version McpSW: 5.4(2) NmpSW: 5.4(2)
    Copyright (c) 1995-2000 by Cisco Systems
    NMP S/W compiled on Apr  7 2000, 16:59:29
    MCP S/W compiled on Apr 07 2000, 16:49:24
    
    System Bootstrap Version: 5.1(1)
    
    Hardware Version: 1.3  Model: WS-C5500  Serial #: 069041642
    
    Mod Port Model      Serial #  Versions
    --- ---- ---------- --------- ----------------------------------------
    1   0    WS-X5540   013459824 Hw : 1.1
                                  Fw : 5.1(1)
                                  Fw1: 5.1(1)
                                  Sw : 5.4(2)
                                  Sw : 5.4(2)
    11  24   WS-X5225R  012121634 Hw : 3.1
                                  Fw : 4.3(1)
                                  Sw : 5.4(2)
    
           DRAM                    FLASH                   NVRAM
    Module Total   Used    Free    Total   Used    Free    Total Used  Free
    ------ ------- ------- ------- ------- ------- ------- ----- ----- -----
    1       32768K  18567K  14201K   8192K   4171K   4021K  512K  179K  333K
    
    Uptime is 0 day, 0 hour, 4 minutes
    
    Cat5500> (enable) show module
    Mod Slot Ports Module-Type               Model               Status
    --- ---- ----- ------------------------- ------------------- --------
    1   1    0     Supervisor IIG            WS-X5540            ok
    15  1          Route Switch Feature Card 
    11  11   24    10/100BaseTX Ethernet     WS-X5225R           ok
    
    Mod Module-Name         Serial-Num
    --- ------------------- --------------------
    1                       00013459824
    11                      00012121634
    
    Mod MAC-Address(es)                        Hw     Fw         Sw
    --- -------------------------------------- ------ ---------- -----------------
    1   00-90-ab-28-d0-00 to 00-90-ab-28-d3-ff 1.1    5.1(1)     5.4(2)
    5   00-10-7b-7c-09-d4 to 00-10-7b-7c-09-df 3.0    3.1(1)     5.4(2)
    6   00-e0-1e-6c-80-da to 00-e0-1e-6c-80-dc 1.0    4.1(1)     5.4(2)
    8   00-10-7b-44-16-40 to 00-10-7b-44-16-57 1.3    3.1(1)     5.4(2)
    10  00-10-7b-0c-32-d0 to 00-10-7b-0c-32-db 2.0    3.1(1)     5.4(2)
    11  00-50-a2-f4-e4-50 to 00-50-a2-f4-e4-67 3.1    4.3(1)     5.4(2)
  2. Как узнать, что порты находятся в состоянии errDisable

    Можно ввести команду show port, чтобы определить был ли порт отключен из-за ошибки. Это пример активного порта; ниже этот же порт отключен из-за ошибки.

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

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

  3. Как определить причину отключения (сообщения консоли, системный журнал, использование errdisable-timeout)

    Когда коммутатор переводит порт в состояние отключения в результате ошибки, он посылает сообщение на консоль с описанием причины отключения порта. Есть два образца сообщений, показывающих что порт отключен: один тип сообщения - от функций защиты portfast BPDU и другой тип сообщения - информация о проблеме, связанной с конфигурацией EtherChannel.

    2000 May 09 19:09:18 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast
    enable port. Disabling 11/1
    
    2000 May 09 19:09:18 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port
    
    
    2000 May 09 19:22:11 %SPANTREE-2-CHNMISCFG: STP loop - channel 11/1-2
    is disabled in vlan 1
    
    2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1-2

    Примечание. Сообщения не уточняют состояние errDisable или error-disabled; они оповещают о том, что коммутатор отключает порт. После генерации сообщений в консоли они не сохраняются, если в сети не используется syslog-сервер. Если настроить коммутатор на отправку этих сообщений на syslog-сервер, то можно будет просмотреть подробную запись о времени и причинах отключения порта. Сведения о настройке коммутатора на пересылку сообщений syslog-серверу см. в разделе "Настройка ведения журналов системных сообщений" в руководстве по настройке CatOS 5.4.

    Если вы работаете в CatOS 5.4(1) или более поздней версии, то имейте в виду, что в этой операционной системе есть функция «errdisable-timeout», которая (если включена) поможет узнать причину отключения порта. Ниже рассмотрен пример.

    Cat5500> (enable) show errdisable-timeout
    ErrDisable Reason   Timeout Status Port ErrDisable Reason
    ------------------- -------------- ----  ----------------
    bpdu-guard          enable         11/1  bpdu-guard
    channel-misconfig   disable
    duplex-mismatch     disable
    udld                disable
    other               disable
    
    Interval: 30 seconds
  4. Порядок устранения проблемы. После обнаружения причины отключения порта, необходимо исправить сначала основную проблему, а затем включить порт.

    1. Исправление проблемы корневого узла

      Решение зависит от фактического источника проблемы. Множество причин может инициировать завершение работы. Самые распространенные и достойные внимания причины.

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

        Для работы EtherChannel порты должны иметь одну и ту же сеть VLAN, магистральное соединение, скорость, дуплексный режим и т.д. Большинство отличий конфигураций в рамках одного коммутатора выявляются и заносятся в отчет при создании канала. В некоторых случаях, обычно при использовании режима «Включено» (в противоположность режимам «автоматический» или «ожидаемый»), все может быть согласовано в одном коммутаторе, который может начать установку связи по каналу. Однако подключенный соседний коммутатор может быть настроен по-другому и стать причиной неработоспособности первого коммутатора. Если оба коммутатора поддерживают протокол PAgP, для предотвращения этой проблемы желательно настроить режимы каналов на каждом коммутаторе.

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

        Несоответствие дуплексных параметров встречается довольно часто из-за невозможности автоматического согласования скорости и дуплексной передачи. В отличие от полудуплексного устройства, которому приходится ждать пока все другие устройства прекратят передавать данные по тому же сегменту LAN, полнодуплексное устройство будет передавать данные всякий раз при появлении информации для отправки, вне зависимости от других устройств. Если эта передача производится, когда передает полудуплексное устройство, оно будет рассматривать это как коллизию (в течение данного временного интервала) или как позднюю коллизию (по истечении интервала). Так как сторона полнодуплексной передачи никогда не вызывает коллизий, в них не реализуется возможность повторной передачи отброшенных пакетов. Низкий процент конфликтов характерен для полудуплексного, но не для полнодуплексного соединения. Если в порту коммутатора возникает много поздних конфликтов, это обычно указывает на проблему несоответствия дуплексных режимов. Убедитесь, что на портах на обоих концах кабеля установлены одинаковая скорость и дуплексный режим. Команда show port сообщит скорость и дуплексный режим для портов коммутаторов Catalyst. Более поздние версии протокола обнаружения Cisco (Cisco Discovery Protocol, CDP) предупреждают о несоответствии режимов дуплекса до перевода порта в состояние отключения в результате ошибки. Кроме того, могут быть установочные параметры платы NIC, которые вызывают проблемы (такие как автоматические функции полярности; если у вас есть сомнения, выключите их). Если имеется много плат NIC от поставщика, и на всех этих платах наблюдается одна и та же проблема, найдите на веб-сайте производителя документацию по версии и проверьте, что установлены последние драйверы от производителя. Среди других причин поздних коллизий — неисправность NIC (физическая неисправность, а не только проблемы конфигурации), повреждение кабеля или слишком длинный сегмент кабеля.

        2000 May 09 19:19:09 %CDP-4-DUPLEXMISMATCH:Full/half duplex
        mismatch detected on port 11/3
      • Защита портов BPDU

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

      • UDLD

        UDLD — это протокол в некоторых новых версиях программного обеспечения, который определяет, является ли связь по каналу только односторонней и, соответственно, частично разорванной. Поврежденный оптоволоконный кабель или другие проблемы, связанные с кабелем/портом, могут стать причиной превращения соединения в одностороннее. При этом могут возникать петли связующего дерева. UDLD позволяет порту обнаружить однонаправленный канал и в этом случае может перевести порт в состояние errDisable (если настроен для этого режима).

      • Другое

        Любой процесс на коммутаторе, обнаружив неисправность порта, может поместить порт в состояние «error-disable». Просмотрите сообщения на консоли или сообщения, посланные на сервер syslog, в которых указана причина отключения порта. Кроме того, если включена функция времени ожидания при отключении в результате ошибки (как минимум на CatOS 5.4(1)), команда show errdisable-timeout позволяет выяснить причину отключения порта.

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

      После устранения основной проблемы, порты продолжают оставаться отключенными; необходимо включить их повторно. Это можно выполнить вручную при помощи команды set port enable.

      Cat5500> (enable) set port enable 11/1-2
      Ports 11/1-2 enabled.
      

      В CatOS 4.2(2) и более поздних версиях можно воспользоваться командой set option errport, описывающей способы предотвращения отключения портов. Если проблема фактически осталась не устранена, это может представлять риск возникновения неисправности. В CatOS 5.4(1) и более новых версиях можно воспользоваться командой errdisable-timeout для автоматического повторного включения портов, как это описано в следующем разделе.

  5. Как автоматически снова включить порт при помощи команды errdisable-timeout – CatOS 5.4(1)

    Команда errdisable-timeout позволяет выбрать, какой тип ошибок будет автоматически снова включать порты по прошествии определённого периода времени. Выходные данные команды показывают состояние по умолчанию, которым является errdisable-timeout disabled (неактивно) для всех пяти возможных условий. Если какое-либо условие было разрешено, порты с таким условием снова включаются через 30 секунд.

    Cat5500> (enable) show errdisable-timeout
    ErrDisable Reason   Timeout Status
    ------------------- --------------
    bpdu-guard          disable
    channel-misconfig   disable
    duplex-mismatch     disable
    udld                disable
    other               disable
    
    Interval: 30 seconds
    

    Чтобы включить функцию errdisable-timeout, используйте следующие команды для выбора условий errdisable.

    Cat5500> (enable) set errdisable-timeout enable ?
      bpdu-guard                 BPDU Port-guard
      channel-misconfig          Channel misconfiguration
      duplex-mismatch            Duplex Mismatch
      udld                       UDLD
      other                      Reasons other than the above
      all                        Apply errDisable timeout to all reasons
    
    Cat5500> (enable) set errdisable-timeout enable bpdu-guard 
    Successfully enabled errdisable-timeout for bpdu-guard.
    
    Cat5500> (enable) set errdisable-timeout interval 30
    Successfully set errdisable timeout to 30 seconds.

    Полезное свойство этой команды состоит в том, что при включении errdisable-timeout команда выдает список общих причин отключения портов из-за ошибки. Для получения более подробного описания, следите за сообщениями, отображаемыми во время события. Помните, что первым шагом исправления состояния отключения в результате ошибки является исправление исходной ошибки, повлекшей прекращение работы. Обратите внимание далее, что порт 11/1 был отключен функцией bpdu-guard.

    Cat5500> (enable) show errdisable-timeout
    ErrDisable Reason   Timeout Status   Port ErrDisable Reason
    ------------------- --------------   ---- -----------------
    bpdu-guard          enable           11/1  bpdu-guard
    channel-misconfig   disable
    duplex-mismatch     disable
    udld                disable
    other               disable
    
    Interval: 30 seconds

    Здесь дан пример того, что отображается, когда коммутатор заново включает порт из-за функции errdisable-timeout.

    Cat5500> (enable)
    2000 May 09 19:17:27 %MGMT-5-ERRDISPORTENABLED:Port 11/1 err-disabled
    by bpdu-guard enabled by errdisable timeout
    
    
  6. Что произойдет, если включить порт, не устранив проблему?

    Если снова включить порт, не исправив проблему, порты снова станут отключенными из-за ошибки. Это будет продолжаться снова и снова, пока проблема не будет решена. Обратите внимание на три сообщения ниже. В первом коммутатор описывает отключение порта 11/1 вследствие получения BPDU на порт, для которого включен режим portfast (такая ситуация приводит к ошибке, если включена функция bpdu-guard). По истечении 25 секунд порт автоматически включается функцией времени ожидания при отключении в результате ошибки. Затем через четыре секунды порт снова становится неработоспособным, потому что настоящая проблема так и не была решена.

    2000 May 09 19:17:33 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast
    enable port. Disabling 11/1
    
    2000 May 09 19:17:58 %MGMT-5-ERRDISPORTENABLED:Port 11/1 err-disabled by
    bpdu-guard enabled by errdisable timeout
    
    2000 May 09 19:18:02 %SPANTREE-2-RX_PORTFAST:Received BPDU on
    PortFast enable port. Disabling 11/1
    

    Повторное включение портов вручную предпочтительнее потому, что это напоминает о существовании реальной проблемы и необходимости ее устранения.

  7. Можно ли предотвратить отключение портов из-за коллизий

    Ниже приведен пример предотвращения отключения порта коммутатором при ошибке вследствие избыточных или поздних коллизий. Команда set option errport доступна в версии CatOS 4.2(2). И снова не забывайте, что это следует использовать только как подручное средство измерения. Это позволяет избежать отключений портов из-за ошибок по причине коллизий, однако может не уберечь от коллизий, которые обычно приводят к отключению порта коммутатором. При выполнении этой команды коммутатор не будет отключать порт в случае коллизий.

    Cat5500> (enable) set option errport enable
    Error port option is enabled
    
    Cat5500> (enable) show option errport
    Option errport   : enabled
    

    Ниже приведен пример возврата в состояние по умолчанию, которое позволяет коммутатору отключить порт в результате ошибки.

    Cat5500> (enable) set option errport disable
    Error port option is disabled
    
    Cat5500> (enable) show option errport
    Option errport   : disabled
    

    Команда show option errport отображает текущий режим функции error-disable. Команда set option errport enable не устраняет причину возникновения ошибок, она только не позволяет порту отключаться в результате этих ошибок. Также существует вероятность того, что порты errDisable могли повлиять на другие порты модуля, если эта ошибка осталась неразрешенной или усугубилась. Таким образом, эту команду следует использовать только при понимании того, что данные ошибки могут теоретически вызвать более серьезные проблемы в модуле коммутатора, и пользователь берет на себя эти риски.

Восстановление отключенного в результате ошибки порта: примеры

В этом разделе приводится два примера устранения неполадок в порту, отключенном в результате ошибок.

Отключение из-за ошибок функцией BPDU Port-Guard

Новая функция, появившаяся в CatOS 5.4(1), позволяет коммутатору управлять портами с включенной функцией portfast. Порты, использующие portfast, должны быть соединены только с конечной станцией (рабочая станция или сервер), а не с устройствами, генерирующими BPDU-пакеты дерева STP, такими как коммутаторы, мосты и маршрутизаторы, использующие мосты. Если коммутатор получает BPDU связующего дерева через быстрый порт, он переводит порт в режим errDisable для предотвращения потенциальных петель. Portfast предполагает, что порт коммутатора не имеет возможности генерировать физические петли и, таким образом, пропускает первоначальные проверки протокола STP для данного порта, чтобы избежать простоя конечных станций при загрузке. Сетевые администраторы должны тщательно реализовывать функцию PortFast; на портах с включенной функцией PortFast защита BPDU препятствует образованию петель в LAN.

Включение данной функции. В выбранном примере рассматривается простая в создании ситуация "error-disable".

Cat5500> (enable) set spantree portfast bpdu-guard enable
Spantree portfast bpdu-guard enabled on this switch.

Коммутатор Catalyst 5500 соединен с другим коммутатором (6509), который является корнем STP-дерева. Коммутатор 6509 будет пересылать пакеты BPDU каждые 2 секунды (посредством связующего дерева по умолчанию). При включении режима portfast для порта коммутатора 5500 функция bpdu-guard будет наблюдать за входящими в этот порт BPDU-пакетами. Когда BPDU входит на порт, что означает обнаружение неконечного устройства вне данного порта, функция bpdu-guard закроет порт, чтобы избежать потенциальной петли связующего дерева.

Cat5500> (enable) set spantree portfast 11/1 enable

Warning: Spantree port fast start should only be enabled on ports connected
to a single host.  Connecting hubs, concentrators, switches, bridges, etc. to
a fast start port can cause temporary spanning tree loops.  Use with caution.
Spantree port 11/1 fast start enabled.

Cat5500> (enable)

2000 May 09 19:09:18 %SPANTREE-2-RX_PORTFAST:Received BPDU on
PortFast enable port. Disabling 11/1

2000 May 09 19:09:18 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1

В этом сообщении коммутатор сообщает о поступлении блока BPDU в порт с поддержкой PortFast, из-за чего коммутатор отключает порт Gi4/1.Если посмотреть на статус порта, то он будет отображаться как "errDisable".

Cat5500> (enable) show port 11/1

Port  Name                   Status     Vlan       Level  Duplex Speed Type
----- ------------------     ---------- ---------- ------ ------ ----- ------------
11/1                         errdisable 1          normal   auto  auto 10/100BaseTX

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

Cat5500> (enable) set spantree portfast 11/1 disable
Spantree port 11/1 fast start disabled.

Даже если устранена причина проблемы, следует помнить, что порт все еще находится в состоянии отключения в результате ошибки. А индикатор порта горит оранжевым цветом. Следует вновь включить порт, чтобы сделать его активным.

Cat5500> (enable) show port 11/1

Port  Name               Status     Vlan       Level  Duplex Speed Type
----- ------------------ ---------- ---------- ------ ------ ----- ------------
11/1                     errdisable 1          normal   auto  auto 10/100BaseTX

В следующем примере рассматривается, как повторно включить порт вручную с помощью команды set port enable. Теперь порт вернется в нормальное состояние.

Cat5500> (enable) set port enable 11/1
Port 11/1 enabled.

Cat5500> (enable) show port 11/3
Port  Name               Status     Vlan       Level  Duplex Speed Type
----- ------------------ ---------- ---------- ------ ------ ----- ------------
11/1                     connected  1          normal a-half a-100 10/100BaseTX

Отключение из-за ошибки, связанной с неправильной конфигурацией EtherChannel

Ниже приведена другая часто встречающая ситуация отключения ошибки, возникающая на портах с поддержкой EtherChannel. Если на одной стороне коммутатор настроен для EtherChannel, а на другой — нет, процесс STP может отключить объединенные в канал порты на стороне, настроенной для поддержки режима EtherChannel. Данный сценарий показывает соединение двух перекрестных кабелей от коммутатора 5500 к другому коммутатору. EtherChannel на коммутаторе 5500 был включен с использованием команды set port channel 11/1-2. В режиме EtherChannel перед объединением портов в канал PAgP-пакеты не отправляются другой стороне для согласования; предполагается, что на другой стороне режим объединения в канал также поддерживается. Кроме того, режим EtherChannel не включается на другом коммутаторе, и соответствующие порты оставляются отдельными, не задействованными в каналах портами. Если это состояние остается в течение минуты или около, STP в 5500 решает, что имеется петля. Это вызывает переключение канальных портов в состояние err-disable. Заметьте, что петля обнаружена и порты отключены. Команда show port channel показывает, что порты уже не объединены в канал; тогда становится видно, что один из портов отключен.

Cat5500> (enable)
2000 May 09 19:20:02 %PAGP-5-PORTTOSTP:Port 11/1 joined bridge port 11/1-2
2000 May 09 19:20:27 %PAGP-5-PORTTOSTP:Port 11/2 joined bridge port 11/1-2
2000 May 09 19:22:11 %SPANTREE-2-CHNMISCFG: STP loop -
channel 11/1-2 is disabled in vlan 1

2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1-2
2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/2 left bridge port 11/1-2



Cat5500> (enable) show port channel
No ports channeling

Режим EtherChannel отключен, так как на данном коммутаторе порты были переведены в состояние «error-disable».

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

Чтобы определить характер проблемы, см. соответствующее сообщение об ошибке. В сообщении было сказано, что в EtherChannel возникла петля связующего дерева. В этом разделе описывается возникновение данной проблемы, когда на одном устройстве (в данном случае коммутатор) канал EtherChannel вручную переведен в режим «Включено» (в противоположность режиму согласования), а на другом подключенном устройстве (в этом случае другой коммутатор) канал EtherChannel вообще не включен. Один из способов разрешения этой ситуации заключается в переводе режима канала в состояние "desirable" на обеих сторонах соединения с последующим повторным включением портов. В этом случае обе стороны должны формировать канал только после достижения обоюдной договоренности. Если соглашение о совместной работе не достигнуто, они продолжают работать как обычные порты.

Примечание. За списком возможных причин неправильной конфигурации EtherChannel обратитесь к руководству по настройке EtherChannel для используемой версии CatOS. В руководстве по настройке более новых версий есть специальный раздел, называющийся «Настройка Fast EtherChannel и Gigabit EtherChannel», в котором перечислено, что необходимо для правильного формирования канала, в том числе и настройка режима канала.

Cat5500> (enable) set port channel 11/1-2 desirable non-silent
Port(s) 11/1-2 are assigned to admin group 21.
Port(s) 11/1-2 channel mode set to desirable.

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

Заметьте, что несмотря на то, что была отключена функция EtherChannel и установлен режим desirable для EtherChannel, порты все еще отключены. Устранены причины проблемы, теперь для использования портов необходимо снова включить их.

Cat5500> (enable) set port enable 11/1-2
Ports 11/1-2 enabled.

Cat5500> (enable) show port 11
Port  Name                   Status     Vlan       Level  Duplex Speed Type
----- ------------------     ---------- ---------- ------ ------ ----- ------------
11/1                         connected  1          normal a-full a-100 10/100BaseTX
11/2                         connected  1          normal a-full a-100 10/100BaseTX

Cat5500> (enable) show port channel 11/1
Port            Status     Channel              Admin Ch
                           Mode                 Group Id
-----         ----------   -------------------- ----- -----
11/1          connected  desirable non-silent    21   833
11/2          connected  desirable non-silent    21   833

Port  Device-ID                       Port-ID                   Platform
----- ------------------------------- ------------------------- ----------------
11/1  TBA04090489(Cat6000)      5/13                      WS-C6506
11/2  TBA04090489(Cat6000)      5/14                       
----- ------------------------------- ------------------------- ----------------

Проверка конфигурации

  • Команда show version отображает версию программного обеспечения, используемого в коммутаторе.

  • Команда show module отображает список используемых на коммутаторе модулей

  • Команда show port отображает текущий статус порта коммутатора

  • Команда show option errport отображает состояние команды set option errport

  • Команда show errdisable-timeout отображает текущие параметры функции errdisable-timeout и причину, по которой какие-либо порты в настоящий момент отключены из-за ошибки

Устранение неполадок в конфигурации

  • Команда show port отображает текущий статус порта коммутатора

  • Команда show port channel отображает текущее состояние EtherChannel

  • Команда show option errport отображает состояние команды set option errport

  • Команда set option errport disable позволяет коммутатору отключить все порты с ошибками, которые операционная система считает нужным отключить. Это состояние по умолчанию, и оно будет другим, только если ранее была дана команда set option errport enable

  • Команда show errdisable-timeout отображает текущие параметры функции errdisable-timeout и причину, по которой какие-либо порты в настоящий момент отключены из-за ошибки

  • Команда set errdisable-timeout определяет, почему порт отключился (используется вместе с командой show errdisable-timeout)

Краткое описание команд

Синтаксис:

show version

В данном документе используется:

show version

Синтаксис:

show module [mod_num]

В данном документе используется:

show module

Синтаксис:

show port [mod_num[/port_num]]

В данном документе используется:

show port 11/1 show port 11

Синтаксис:

show port channel [mod_num[/port_num]] [statistics | info [spantree | trunk | protocol | gmrp | gvrp | qos]]

В данном документе используется:

show port channel

Синтаксис:

set port channel port_list mode {on | off | desirable | auto} [silent | non-silent]

В данном документе используется:

set port channel 11/1-2 desirable non-silent

Синтаксис:

set port enable mod_num/port_num

В данном документе используется:

set port enable 11/1-2

Синтаксис:

show errdisable-timeout

В данном документе используется:

show errdisable-timeout

Синтаксис:

set errdisable-timeout [enable|disable][bpdu-guard | channel-misconfig | duplex-mismatch | udld | other]

В данном документе используется:

set errdisable-timeout enable bpdu-guard

Синтаксис:

set errdisable-timeout interval seconds

В данном документе используется:

set errdisable-timeout interval 30

Синтаксис:

set spantree portfastmod_num/port_num {enable | disable}

В данном документе используется:

set spantree portfast 11/1 enable set spantree portfast 11/1 disable

Синтаксис:

set spantree portfast bpdu-guard {enable | disable}

В данном документе используется:

set spantree portfast bpdu-guard enable

Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Дополнительные сведения


Document ID: 12017