5 de enero de 2011

Booteo del router desde una memoria USB

Típicamente los routers Cisco almacenan una copia del sistema operativo (Cisco IOS) en su memoria flash; y por defecto utilizan esa imagen del sistema operativo durante el proceso de inicialización o booteo.
Sin embargo puede ocurrir que por diferentes causas esa imagen del sistema operativo no esté disponible: corrupción del archivo, corrupción de la memoria flash, borrado accidental, etc. En ese caso el dispositivo no tiene una imagen válida para cargar y arrancará en modo Monitor de ROM (Rommon). Este modo nos da un conjunto reducido de comandos que esencialmente permiten ejecutar manualmente la secuencia de inicio.
Para estos casos, y aprovechando el modo Rommon, los routers ISR cuentan con 1 o 2 puertos USB que podemos utilizar para cargar la imagen de sistema operativo desde una memoria flash USB.
Booteo desde una memoria USB
El pre-requisito obvio de este procedimiento es contar con una imagen de IOS válida para el dispositivo que deseamos poner en operaciones, guardada en una memoria USB.
Una vez que contamos con este recurso, debemos ingresar al modo Monitor de ROM. Si el dispositivo no contaba con una imagen válida de IOS en la memoria flash quedará directamente en ese modo. Si no es así, podemos forzar el ingreso al modo Rommon utilizando la secuencia de interrupción del booteo: Ctrl+Break.
A partir de este punto, reconocemos el modo Rommon por el prompt:

rommon 1>


Ya en este modo, podemos acceder al listado de comandos disponibles utilizando el comando de llamada al listado de comandos:


rommon 1>?

o
rommon 1>help

A continuación debemos chequear la imagen que tenemos almacenada en la memoria USB:

rommon 2>dir usbflash0:

program load complete, entry point: 0x8000f000, size: 0x3d240
Directory of usbflash0:
2......14871760..-rw-...c2800nm-ipbase-mz.124-3.bin

Nota: el comando es
dir usbflashx: donde x asume el valor de 0 o 1 según en qué puerto del router se ha insertado la memoria USB.
A continuación se ejecuta el comando que ordena el booteo del dispositivo utilizando la imagen almacenada en la memoria USB:

rommon 3>boot usbflash0:c2800nm-ipbase-mz.124-3.bin
program load complete, entry point: 0x8000f000, size: 0x3d240
program load complete, entry point: 0x8000f000, size: 0xe2eb30
Self decompressing the image : 
##########################################################################################
############################################################### [OK]
Una vez que el equipo ha booteado y ya opera con la interfaz de línea de comando EXEC tradicional, podemos copiar la imagen que tenemos en nuestra memoria USB a la memoria flash del router:

Router>enable

Router#copy usbflash0:c2800nm-ipbase-mz.124-3.bin flash:c2800nm-ipbase-mz.124-3.bin


Enlaces complementarios:

¿Tenés alguna información o comentario para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta

8 comentarios:

  1. Oscar,

    esto solo es valido para las Flash-USB que vende Cisco, verdad?

    ResponderBorrar
    Respuestas
    1. No acabe de realizar con usb kingtown, formateada en fat32, funciona ok... Ya no es necesario utilizar tftp.

      Borrar
  2. No. Se puede utilizar cualquier memoria USB que tengas disponible.

    ResponderBorrar
  3. hola estimado siempre un agrado leer su blog, dos dudas, ¿que sistema de archivos debe tener la memoria usb? y ¿no es posible copiar directamente desde el usb a la flash en el modo de recuperación? como se haría desde un servidor TFTP en el metodo de recuperación clásico.

    ResponderBorrar
  4. El sistema de archivos soportado por IOS es FAT16, y se puede formatear directamente desde IOS.
    Para completar esta información agregué un nuevo post: http://librosnetworking.blogspot.com/2011/02/memorias-usb-en-los-routers-cisco.html
    Respecto de la posibilidad de copiar directamente desde el USB a la flash, en modo rommom eso no es posible ya que no hay un comando copy disponible. El file system completo de IOS está disponible cuando ingresás al modo EXEC, no antes.

    ResponderBorrar
  5. estimado , muchas gracias por su ayuda . lo acabo de realizar y funciona! gracias por apoyar con esta información

    ResponderBorrar
  6. buen dia:
    excelente la informacion que aportas, me ha sido de mucha ayuda. tengo una duda, la usb, que capacidad tiene que soportar como maximo? y como formatera la misma desde un equipo cisco? muchas gracias

    ResponderBorrar
    Respuestas
    1. Este post tiene ya algunos años.
      Si el dispositivo lo soporta, sugiero utilizar la descripto en este documento para IOS-XE 16.10, ya que la utilización de memorias USB se ha extendido en los últimos años.

      https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9500/software/release/16-10/configuration_guide/int_hw/b_1610_int_and_hw_9500_cg/configuring_usb_3_0_ssd.html

      Borrar

Gracias por tu comentario.
En este blog los comentarios están moderados, por lo que su publicación está pendiente hasta la revisión del mismo.