OpenWrt: cuando se rompe …

Imagen miniatura para no_hope_Wireless_access_point.png… lo hace de verdad. Menos mal que tiene un arreglo sencillo, porque lo de hoy ha sido de traca.

Esta mañana terminé de instalar el nuevo servidor que va a funcionar como UDC (Unidad De Comunicaciones) y estaba casi listo para comenzar la configuración del cortafuegos cuando he recibido una llamada de los homínidos con los que trabajo: la impresión en color no va. Pánico y gritos por doquier (y es que hoy el jefe se ha dado el lujo de venir cabreado al trabajo) y mucha urgencia porque tenían que imprimir unos catálogos para enviárselos a potenciales clientes.

Bien. El caso es que es buscando la solución del problema he visto que estaban enviando tal volumen gráfico a la impresora que el servidor estaba colapsado. La máquina es una fotocopiadora Canon con unos controladores bastante asquerosos y casi todo el trabajo de conversión lo realiza CUPS. Ya les he dicho que no es necesario que el folleto de dos páginas ocupe 15 Mb para verlo por pantalla o para imprimirlo en papel normalucho pero …

Hace tiempo que tenía previsto cambiar el servidor de impresión a una máquina nueva y he pensado que podía aprovechar la ocasión para hacerlo ahora; el antiguo lleva Debian 6 y el nuevo Debian 7, algo tenía ya ganado.  Además, así me ponía yo también en plan apocalíptico y les podía decir que es imprescindible detener todo el subsistema de impresión para arreglar la avería. Atentos al detalle: es necesario hablar de subsistemas y no de programas o servidores. Subsistemas suena a algo grande, complejo, incluso industrial. Es casi místico y es perfecto para que entiendan que es grave.

Vale. Software instalado y configuración de las impresoras traspasada. No veía problemas a la vista.  (¡ Je ! ¡ Qué no veía problemas, dice !)

La primera en la frente. Pero de verdad. Utilizo el panel de control del enrutador (y servidor de nombres principal) que funciona con OpenWRT (de ahí el título de la entrada) y procedo a cambiar la IP del antiguo servidor por la del nuevo. Siempre he considerado práctico, aunque la red sea pequeña, que existan nombres de tercer nivel para definir servicios. Facilita mucho la migración y el balanceo de carga.

Como no he visto ninguna advertencia ni ningún mensaje de error tampoco he comprobado que la IP había cambiado. Y no, tras un buen rato de aplicar el algoritmo del mono (y de estrellarme a base de bien) no me ha dado por comprobar si ocurría algo raro en el router. He tenido que entrar por SSH para averiguar que no había espacio en disco. He buscado algo que borrar, he intentado editar a mano la configuración, he probado a copiarla y enlazarla a otro sistema de archivos y nada. En algunos casos daba la operación por buena pero no la realizaba, en otros indicaba que el disco estaba lleno y en otros incluso he visto fallos de segmentación. Una juerga.

Así que he buscado por la red y he encontrado un hilo donde comentan qué se puede hacer y otro donde explican por qué se ha producido eso. Al parecer no se pueden borrar archivos en el sistema squashfs (obviamente porque está sobre una ROM) y la capa que superponen para usarlo normalmente es una jffs2 que almacena todos los cambios realizados sobre la inferior como metadatos: si ya falta espacio borrar archivos o directorios significa consumir más espacio en jffs2.

El segundo hilo que menciono en el párrafo anterior comenta justamente la misma situación en la que me he encontrado. Traté de instalar un punto de acceso de una VPN y el sistema falló miserablemente por falta de espacio. Lo dejé así porque el enrutador seguía enrutando normalmente (aunque tenía sus parones de cuando en cuando) y porque pensé que el sistema eliminaría los archivos descargados y las instalaciones parciales (malamente acostumbrado a Debian). Pues no. Tras varios reinicios un tanto desperados he entrado en el panel de control y he hecho lo siguiente para recuperar tanto el espacio como chisme funcionando:

  1. Descargar una copia de seguridad en el disco 
  2. Reiniciar a valores de fábrica empleando el mismo interfaz web
  3. Conectar un portátil al router después del reinicio para:
    1. Recibir una IP con los valores originales
    2. Acceder de nuevo al panel de control
    3. Restaurar también desde allí la configuración que antes había salvado.
  4. Y a gozar …

… hasta que ponga en marcha el nuevo UDC que espero poder terminar mañana.

Sobre el ambiente de hoy en el trabajo

No hay comunicación entre los cuatro gatos que somos en la empresa. A mí, el único informático, se dirigen siempre con las peticiones elevadas a la categoría vamos-a-morir-todos.  Supongo que se habrán percatado de que cuanto más me presionan, antes cedo para hacer la chapuza de turno y menos tiempo dedico a investigar el origen del problema. ¿ Qué más da si se volverá a presentar más adelante si seguimos en marcha ahora ?

Y esto me recuerda algo que he estado rumiando bastante desde hace un tiempo: ¿ puede alguien al que le pagan una pequeña fortuna por dirigir una empresa permitirse hundir la moral de todo el equipo de la misma sin dar explicaciones ? ¿ La templanza no debería estar implícita en el cargo ? Porque dar órdenes y lanzar exigencias locas lo hace cualquiera, pero dirigir es algo más. Que el personal te odie o no es indiferente. Conseguir que pierdan toda empatía con la empresa y su trabajo ya no. Lo del liderazgo es, sobre todo, saber que el líder está dentro del equipo con una tarea muy definida. Y que no es un señor feudal. ¿ No ?