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

Часть 1

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

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

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

    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
    
    
    
  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 могли повлиять на другие порты модуля, если эта ошибка осталась неразрешенной или усугубилась. Таким образом, эту команду следует использовать только при понимании того, что данные ошибки могут теоретически вызвать более серьезные проблемы в модуле коммутатора, и пользователь берет на себя эти риски.

 

Часть 3

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

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