Era un día normal para un venerable y fiable Nexus 3000, concretamente un 3064 que corría NX-OS 6.0(2)U6(6) tras una pequeña actualización sin novedad y sin hacer más que conmutar paquetes a nivel 2.
Había llegado para él el día de actualizar. Se había decidido que iba a empezar a terminar vLANes, es decir, a nivel 3; lo cual requiere ponerle direcciones IP públicas, y las versiones 6 tienen algunos feos fallos de seguridad. Por supuesto que a base de ACLs y/o cortafuegos es posible aislar lo bastante las IPs públicas de un gateway. Pero ya hace muchos años que Rommel popularizó la defensa en profundidad, y en redes es más que aplicable lo que tanto sufrimiento costó entender a los militares.
El concienzudo proceso de actualización de los Nexus requiere, en este momento, pasar por varias versiones intermedias partiendo de la 6 hasta llegar a la deseada, la 9.3.8 en el día de actos. Así que, armados con la paciencia nacida de la experiencia, mandamos la 7.0.3.I7.9. Runtime checks, boot variables, configuration copy y todo lo habitual hasta llegar a
Finishing the upgrade, switch will reboot in 10 seconds.
Fue lo último que dijo.
Mosqueados tras un ratito, consola en ristre, desenchufado de la corriente y vuelto a enchufar, nos informa por la consola:
(c) Copyright 2011, Cisco Systems. N3000 BIOS v.4.5.0, Thu 11/09/2017, 05:38 PM
Y nada más. Ni boot loader, ni pulse Del… Nada.
Colgado.
Vaya, qué inconveniente.
Así que vamos a ver qué se hace en estos casos. Buscando por Internet no encontré nada de nada, así que escribí en los foros de Cisco. Las respuestas no pudieron ser más descorazonadoras: Una vez se aseguraron de que lo habitual no iba a funcionar, solo quedó como posibilidad abrir un caso con el TAC de Cisco y probablemente cambiarlo.
Pero estos switches ya otoñales no suelen tener un SmartNet activo, y Cisco ya no hace caso de nadie sin ello. Así que, mientras uno buscaba (con poco éxito) si aún se venden SmartNets para este modelo, el otro fue a desmontar el equipo, convencidos de que la cosa iba para largo. Tal vez, razonamos, haya alguna forma de fulminar la memoria flash y obligarle a irse al boot loader; o de hacerle arrancar de alguna manera.
Pues sí. Y más fácil que lo que nos temíamos.
El almacenamiento en estos equipos es una memoria flash USB. Es una versión un poco especial de USB, pensada para entornos industriales y para montarse de placa a placa, pero es USB al fin y al cabo. Está sujeta con un tornillo a la placa base y lleva un conector estilo DB9 miniaturizado (tal vez un Hirose DF9).
Bueno, pensó alguien. ¿Y si arranco el equipo sin la flash?
Dicho y hecho:
Press ctrl L to go to loader prompt in 2 secs
loader>
¡Tenemos boot loader! Desde aquí, ya todo es un paseo: Con el boot loader, se le puede arrancar por tftp o por un pincho USB. Esto último, con el equipo sin red fuera de la mesa, parece lo más inmediato…
loader> boot usb1:nxos.7.0.3.I7.9.bin
Pero, parafraseando al androide chungo de Blade Runner, el dios de la mecánica no se había terminado de ciscar en nosotros aún, y al equipo en cuestión no le daba la gana de arrancar desde el puerto USB.
Vaya.
Lo siguiente.
¿Y si, dado que se puede desmontar este módulo, probamos con el de otro equipo parecido?
Dicho y hecho, en menos de lo que se tarda en leerlo estábamos quitando los aproximadamente 150.000 tornillos Phillips del 1 de una aleación similar a la plastilina que sujetan la tapa del segundo equipo y cambiando su módulo al enfermito.
Y arrancó. Sin más. Bueno, es lo que esperábamos, ¿no?
Lo que no esperábamos es que el módulo del switch enfermo… Hiciera arrancar al «donante». Pero había que rendirse a la evidencia, evidencia presentada en nuestro terminal con un lacónico
%ASCII-CFG-2-CONF_CONTROL: System ready
Pofale.
Desde aquí, actualizar con mucho cuidadito nuevamente y a correr.
Mola la informática. Aunque a veces… Felix qui potuit rerum cognoscere causas. Aunque, en el caso que nos ocupa, nada más actualizar y en el siguiente arranque, pasó casi desapercibido un mensaje que decía algo así como: «Vaya, el firmware eUSB necesita actualizarse. Voy para allá… Hecho, sigamos con lo nuestro».
Vaya.
0 Comentarios.