static-httpd

Sitio web estático (HTML + CSS) que sostiene el blog del autor
Log | Files | Refs

index.html (4708B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      5 <meta name="viewport" content="width=device-width, initial-scale=1" />
      6 <title>Síntesis del Linux kernel watchdog</title>
      7 <link rel="icon" type="image/png" href="/favicon.png" />
      8 <link rel="stylesheet" type="text/css" href="../article.css" />
      9 </head>
     10 <body>
     11 <header>
     12 <p class="title">Síntesis del Linux kernel watchdog</p>
     13 <p class="date">12 de junio de 2017 • fjbalon</p>
     14 </header>
     15 <p>El watchdog (perro guardían o vigilante) del kernel de Linux se utiliza para monitorizar y vigilar un sistema que se está ejecutando, de forma que pueda ser reiniciado automáticamente en caso de fallo de software irrecuperable.</p>
     16 <p>El módulo de watchdog es específico para el hardware o chip que se utiliza.</p>
     17 <p>Los usuarios, por norma general, no necesitan de vigilancia en sus sistemas, pues pueden ellos mismos restablecer el sistema manualmente; así está pensado para dispositivos críticos que requieran de restablecimientos sin intervención humana, por ejemplo servidores en una ubicación remota o equipos integrados en naves espaciales.</p>
     18 <p>En su intervención es necesario proceder con precaución, ya que configuraciones incorrectas o erróneas podrían provocar:</p>
     19 <ul>
     20 <li>Bucles infinitos de reinicios.</li>
     21 <li>Corrupción de archivos debido al hard reset.</li>
     22 <li>Reinicios aleatorios impredecibles.</li>
     23 </ul>
     24 <p>Por lo que es preferible evitar el uso de servidores en vivo para probar el funcionamiento de watchdog.</p>
     25 <ol>
     26 <li>Watchdog module</li>
     27 <p>La funcionalidad de watchdog sobre hardware configura un temporizador que agota el tiempo de espera después de un período predeterminado. El software de watchdog actualiza periódicamente el temporizador del hardware, y si éste deja de actualizarse luego del período establecido el temporizador realizará un restablecimiento de hardware del dispositivo. Para que un temporizador watchdog sea funcional, el fabricante de la placa base tiene que permitir esta funcionalidad en el chip.</p>
     28 <p>A menudo, la documentación del fabricante de hardware no deja claro sobre si se implementó o no esta funcionalidad. En ese caso hay que testearlo directamente.</p>
     29 <p>Además es necesario el módulo del kernel de vigilancia correcto, que será cargado en el sistema Linux. Diferentes chips utilizan diferentes módulos, por ejemplo:</p>
     30 <ul>
     31 <li>Intel utiliza <emb>iTCO_wdt</emb>.</li>
     32 <li>El hardware de HP utiliza <emb>hpwdt</emb>.</li>
     33 <li>Los mainframes de IBM utilizan <emb>vmwatchdog</emb>.</li>
     34 <li>Xen VM utiuliza <emb>xen_wdt</emb>.</li>
     35 </ul>
     36 <p>Una vez corroborado la carga del módulo es posible verificar <emb>/dev/watchdog</emb> en el sistema Linux. Si el archivo está presente, significa que se cargó el controlador. El sistema escribe periódicamente a <emb>/dev/watchdog</emb> (esta acción suele llamarse coloquialmente <i>patear o alimentar al perro guardián</i> o <i>kicking or feeding the watchdog</i>). Si el sistema falla y no 'patea' o 'alimenta' al perro, el sistema se restablecerá completamente.</p>
     37 <li>Watchdog daemon</li>
     38 <p>El demonio de watchdog abre el dispositivo y proporciona la actualización necesaria para evitar que el sistema se restablezca. Éste puede comprobar el espacio de la tabla de procesos, el uso de memoria (memory usage), la accesibilidad de archivos, la carga de trabajo, desbordamientos en la tabla de archivos, ping a direcciones IP, tráfico de interfaz de red, temperatura, procesos en ejecución, etc. Como ya hemos visto, si las pruebas fallan el perro provocará el apagado.</p>
     39 <p>El demonio de watchdog debería iniciarse en el momento del arranque. Podemos verificar si está iniciado con:</p>
     40 <pre><code>ps -af | grep watch*</code></pre>
     41 <p>Si el kernel no estuviera compilado con <emb>CONFIG_WATCHDOG_NOWAYOUT</emb> y cerramos correctamente <emb>/dev/watchdog</emb> no habrá reinicio. Podemos escribir un carácter V en <emb>/dev/watchdog</emb> y luego cerrar el archivo; lo que detendrá al perro guardián.</p>
     42 <p>Si queremos comprobar que el control de hardware está funcionando, podemos lanzar la siguiente orden con privilegios root:</p>
     43 <pre><code>cat >> /dev/watchdog</code></pre>
     44 <p>Una vez haya pasado el tiempo esperado, dependiendo de la configuración del kernel, el sistema realizará el hard reboot.</p>
     45 <p>Una vez conocemos watchdog, podemos iniciar su configuración. El fichero de configuración de watchdog se encuentra en <emb>/etc/watchdog.conf</emb> (es posible que haya que instalar el paquete watchdog en la distribución utilizada).</p>
     46 <pre><code># cat /etc/watchdog.conf
     47 realtime = yes
     48 priority = 1</code></pre>
     49 </ol>
     50 </body>
     51 </html>