Главная > Администрирование > Выявляем по какой причине произошел сбой в маршрутизаторе CISCO(Identifying Bus Error Crashes)

Выявляем по какой причине произошел сбой в маршрутизаторе CISCO(Identifying Bus Error Crashes)

Ошибки доступа к памяти вызывающие нестабильную работу маршрутизаторов и зачастую приводят к самопроизвольным перезагрузкам роутера. Зачастую ошибки происходят, когда процессор пытается получить доступ к области памяти, которой не существует(программные ошибки — обычно вызваны из-за багов прошивки IOS) или области физической памяти не отвечающие корректно на запросы процессора(аппаратные ошибки) Ошибки шины данных(bus error), могут быть идентифицированы выводом команды show version и show technical−support. Важно чтобы после возникновения ошибки роутер не был перезгружен по питанию или командой reload.

При выполнении команды # show version

Router uptime is 2 days, 21 hours, 30 minutes
System restarted by bus error at PC 0x30EE546, address 0xBB4C4
System image file is «flash:igs−j−l.111−24.bin», booted via flash
………
Мы увидим в какой области памяти была зафиксирована ошибка.

Далее нам необходимо определить какой тип процессора используется в нашем роутере — узнать можно испльзуя вывод команды show version.
Cisco использует два основных типа процессоров:

1.68000 Processors

Например show version — cisco 2500 (68030) processor (revision D) with 8192K/2048K bytes of memory.
Процессор используется в роутерах серий:
♦ Cisco 1000 Series Routers
♦ Cisco 1600 Series Routers
♦ Cisco 2500 Series Routers
♦ Cisco 4000 Series Routers
♦ Route Processor (RP) Modules on Cisco 7000 (RP) Series Routers

2. Reduced Instruction Set Computing (RISC) Processors
Например show version — cisco 3640 (R4700) processor (revision 0×00) with 49152K/16384K bytes of memory.
Буква R в названии процессора R4700 обозначает, что это RISC процессор.

Процессор используется в роутерах серий:
♦ Cisco 3600 Series Routers
♦ Cisco 4500 Series Routers
♦ Cisco 4700 Series Routers
♦ Route Switch Processor (RSP) Modules on Cisco 7500 Series and Cisco 7000 (RSP7000)
Series Routers
♦ Network Processor Engine (NPE) Modules on Cisco 7200 Series Routers
♦ Multilayer Switch Feature Card (MSFC) on the Cisco 7600 Series Routers or Catalyst 6000
Switch
♦ Performance Routing Engine (PRE) Modules on Cisco 10000 Series Internet Routers
♦ Gigabit Route Processor (GRP) Modules on Cisco 12000 Series Internet Routers

Выяснение причины возникновения — ошибки шины данных(bus error) — на базе 68000 Processors

Используя команду show region мы сможем идентифицировать в какой области памяти произошла ошибка, если ошибка возникает по несуществующему региону памяти — это указывает на програмную ошибку IOS и необходимо заменить или обновить прошивку.

Пример поиска адреса:

Router#show region address 0x30EE546
Unable to find a region for this address

Для тех у кого есть сервис контракт есть возможность импользовать Output Interpreter Tool с сайта cisco.com для интерпретации вывода команды show stacks и выявления програмного бага Cisco IOS и решения этой проблемы. Если адрес возникновения ошибки показывает на существующий регион памяти, это указывает на существование аппаратной ошибки.

Пример вывода команды show region

Router#show region
Region Manager:
Start End Size(b) Class Media Name
0×00000000 0x007FFFFF 8388608 Local R/W main
0×00001000 0x0001922F 98864 IData R/W main:data
0×00019230 0x000666B3 316548 IBss R/W main:bss
0x000666B4 0x007FEFFF 7965004 Local R/W main:heap
0x007FF000 0x007FFFFF 4096 Local R/W main:flhlog
0×00800000 0x009FFFFF 2097152 Iomem R/W iomem
0×03000000 0x037FFFFF 8388608 Flash R/O flash
0x0304033C 0x037A7D3F 7764484 IText R/O flash:text

Main указывает на основную динамическую память (DRAM).
iomem eуказывает на область ввода/вывода (I/O) памяти на разных устройствах типы этой памяти могут различаться например, DRAM для Cisco 2500, shared RAM (SRAM) для Cisco 4000.

Например, «System restarted by bus error at PC 0x30EE546, address 0xBB4C4″, эта ошибка возникла на маршрутизаторе Cisco 2500 Адрес 0xBB4C4 эквиалентен 0x000BB4C4. Анализируя вывод show region
видим, что адрес ошибки попадает на «main:heap» or 0x000666B4−0x007FEFFF. Значит необходимо проверить исправность чипов DRAM в роутере.

Выяснение причины возникновения — ошибки шины данных(bus error) на базе процессоров RISC

На RISC процессорах, программное обеспечение Cisco IOS использует виртуальные адреса с помощью Translation Lookaside Buffer(TLB), который переводит виртуальные адреса в физические адреса. Адрес указывающий на bus error в RISC процессоре является виртуальным адресом, а не на физическим адресом, как используемый в 68000 процессорах.

Например вывод команды show region

System was restarted by bus error at PC 0×60104864, address 0xC

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

Еще одно преимущество использования команды show region заключается в том, что отображение памяти зависит от объема памяти, установленной на маршрутизаторе. Например, если у вас есть 64 МБ DRAM (64 х 1024 х 1024 = 67108864 байт = 0×4000000 байт), на DRAM диапазоне 0×60000000 — 0x63FFFFFF на 64 МБ. Это подтверждается командой show region:

Router#show version | i of memory
cisco RSP2 (R4700) processor with 65536K/2072K bytes of memory.
Router#show region
Region Manager:
Start End Size(b) Class Media Name
0×40000000 0x40001FFF 8192 Iomem REG qa
0×40002000 0x401FFFFF 2088960 Iomem R/W memd
0×48000000 0x48001FFF 8192 Iomem REG QA:writethru
0×50002000 0x501FFFFF 2088960 Iomem R/W memd:(memd_bitswap)
0×58002000 0x581FFFFF 2088960 Iomem R/W memd:(memd_uncached)
0×60000000 0x63FFFFFF 67108864 Local R/W main
0×60010908 0x60C80B11 13042186 IText R/O main:text
0x60C82000 0x60F5AF1F 2985760 IData R/W main:data
0x60F5AF20 0x610E35FF 1607392 IBss R/W main:BSS
0x610E3600 0x611035FF 131072 Local R/W main:fastheap
0×61103600 0x63FFFFFF 49269248 Local R/W main:heap
0×80000000 0x83FFFFFF 67108864 Local R/W main:(main_k0)
0×88000000 0x88001FFF 8192 Iomem REG QA_k0
0×88002000 0x881FFFFF 2088960 Iomem R/W memd:(memd_k0)
0xA0000000 0xA3FFFFFF 67108864 Local R/W main:(main_k1)
0xA8000000 0xA8001FFF 8192 Iomem REG QA_k1
0xA8002000 0xA81FFFFF 2088960 Iomem R/W memd:(memd_k1)

Если у вас есть bus error 0x65FFFFFF, show region указывает на несуществующий адрес означает что баг возникает в програмном обеспечении.

  1. Пока что нет комментариев.
  1. Пока что нет уведомлений.