Apéndice B. Información de hardware adicional

Las secciones siguientes proporcionan información adicional sobre la configuración del hardware usado en un sistema cluster.

B.1. Configuración de reguladores de energía

Esta sección discute sobre reguladores de energía. Para más información sobre los reguladores de energía y su papel en un ambiente cluster, consulte la Sección 1.1.3.

B.1.1. Interruptores

Para una lista de interruptores conectados a serial y de red probados y compatibles con Red Hat, Inc. para un controlador de energía cluster, refiérase a la Lista de compatibilidad de hardware de Red Hat localizada en el siguiente URL:

http://hardware.redhat.com/hcl/

B.1.2. Configuración de interruptores Perro-guardián

Una descripción del modelo usado para temporizadores perro-guardián como una provisión de integridad de los datos del cluster aparece en la Sección 1.1.3. Como se describe en esa sección, hay dos variantes de temporizadores perro-guardián: basados en hardware y basados en software.

Esta sección detalla las tareas requeridas para configurar temporizadores perro-guardián en una configuración de hardware del cluster.

Sin importar el tipo de temporizador de perro-guardián empleado, es necesario crear el archivo apropiado de dispositivo especial para el temporizador. Esto se puede lograr con los comandos siguientes:

cd /dev
./MAKEDEV watchdog

Cuando se esté utilizando la Herramienta de configuración del cluster, cada nuevo miembro que se añade al cluster tiene la funcionalidad de temporizadores de software activada por defecto.

B.1.2.1. Configurando el software del temporizador Perro-guardián

Cualquier sistema cluster puede utilizar temporizadores perro-guardián de software como una provisión para la integridad de los datos, pues no se requieren componentes de hardware dedicados. El software del cluster automáticamente cargará los módulos del kernel correspondientes llamados softdog.

Si el cluster está configurado para utilizar temporizadores perro-guardián de software, el demonio de membrecía del cluster (clumembd) periódicamente reajustará el intervalo del temporizador. Si clumembd falla al reajustar el temporizador, el miembro cluster fallido se auto-reiniciará.

Cuando se esté usando el temporizador perro-guardián de software , hay un pequeño riesgo de que el sistema se cuelgue de una forma que el hilo del temporizador de software no será ejecutado. En este escenario tan poco probable, el otro miembro cluster puede tomar el control de los servicios del miembro cluster aparentemente colgado. Generalmente, este es un modo de operación seguro; pero en el evento poco probable de que el miembro cluster colgado se reanude, puede ocurrir corrupción de los datos. Para reducir aún más los chances de que esta vulnerabilidad ocurra mientras se use temporizadores de software, los administradores deberían también configurar el temporizador perro-guardián NMI así como también un interruptor externo (si está disponible).

B.1.2.2. Habilitando el temporizador perro-guardián NMI

Si se está usando el software de perro-guardián como una provisión de integridad de la data, también se recomienda habilitar el temporizador perro-guardián Non-Maskable Interrupt (NMI) para mejorar las garantías de integridad de la data. El temporizador perro-guardián NMI es un mecanismo diferente para causar que el sistema reinicie en el evento de un escenario colgado donde las interrupciones están bloqueadas. Este perro-guardián NMI puede ser usado en conjunto con el software de perro-guardián.

A diferencia del temporizador perro-guardián de software el cual es reajustado por el demonio quorum del cluster (cluquorumd), el temporizador perro-guardián NMI cuenta las interrupciones del sistema. Normalmente, un sistema saludable recibirá cientos de interrupciones de dispositivos y de temporizadores por segundo. Si no hay interrupciones en un intervalo de 5 segundos, el sistema se ha colgado (system hang) y el temporizador perro-guardián NMI expirará, iniciando un rearranque del sistema.

Una solución robusta de integridad de la data se puede implementar combinando el monitoreo de la salud del sistema del demonio quorum del cluster, con el temporizador perro-guardián de software, junto con chequeos de estado de bajo nivel del temporizador NMI.

La correcta operación de los mecanismos de temporizadores perro-guardián NMI requieren que los miembros cluster contengan un chip APIC en la tarjeta principal del sistema.

El temporizador perro-guardián NMI está activado en sistemas soportados simplemente agregando nmi_watchdog=1 a la línea de comandos del kernel. Aquí hay un ejemplo /etc/grub.conf:

NotaNota
 

Las siguientes configuraciones de los gestores de arranque GRUB y LILO sólo son aplicables a la arquiectura x86 de Red Hat Enterprise Linux.

# grub.conf
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title HA Test Kernel (2.4.9-10smp)
        root (hd0,0)
        # This is the kernel's command line.
        kernel /vmlinuz-2.4.9-10smp ro root=/dev/hda2 nmi_watchdog=1

# end of grub.conf

En sistemas usando LILO, añada "nmi_watchdog=1" a la sección append en /etc/lilo.conf. Por ejemplo:

# lilo.conf
prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
lba32

image=/boot/vmlinuz-2.4.9-10smp
        label=linux
        read-only
        root=/dev/hda2
        append="nmi_watchdog=1"

# end of lilo.conf

Ejecute /sbin/lilo después de modificar /etc/lilo.conf para que los cambios tomen efecto.

Para poder determinar si el servidor soporta el temporizador perro-guardián NMI, primero intente agregar "nmi_watchdog=1" a la línea de comando del kernel como se describió arriba. Después que el sistema haya arrancado, entre como usuario root y escriba:

cat /proc/interrupts

La salida debería aparecer similar a lo siguiente:

           CPU0       
  0:    5623100          XT-PIC  timer
  1:         13          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  7:          0          XT-PIC  usb-ohci
  8:          1          XT-PIC  rtc
  9:     794332          XT-PIC  aic7xxx, aic7xxx
 10:     569498          XT-PIC  eth0
 12:         24          XT-PIC  PS/2 Mouse
 14:          0          XT-PIC  ide0
NMI:    5620998       
LOC:    5623358 
ERR:          0
MIS:          0

La porción relevante de la salida mostrada arriba es verificar que el idNMI aparece en el lado izquierdo. Si el valor NMI es mayor que cero (0), el servidor soporta el temporizador perro-guardián NMI.

Si este acercamiento falla, esto es, NMI es cero, trate de pasar nmi_watchdog=2 al kernel en vez de nmi_watchdog=1 de la forma descrita previamente. Una vez más, verifique /proc/interrupts después que el sistema arranque. Si NMI es mayor que cero, el temporizador NMI ha sido configurado apropiadamente. Si NMI es cero, su sistema no soporta temporizadores NMI.

B.1.2.3. Configuración de un temporizador perro-guardián de hardware

El kernel provee del soporte de controladores para varios tipos de temporizadores perro-guardián de hardware. Algunos de estos temporizadores son implementados directamente en la tarjeta del sistema, mientras otros son componentes de hardware separados tales como tarjetas PCI. Los temporizadores perro-guardián basados en hardware proporcionan excelentes provisiones para integridad de los datos en el cluster puesto que ellos operan independientemente del procesador del sistema, y son por tanto, totalmente capaces de reiniciar un sistema en el evento de que el sistema se cuelgue.

Debido a la falta de uniformidad entre los componentes de bajo nivel de temporizadores perro-guardián de hardware, es difícil hacer generalizaciones describiendo como saber si un sistema particular contiene tales componentes. Muchos componentes de bajo nivel de perro-guardián de hardware no son auto-identificables.

Cuando se configure cualquiera de los temporizadores perro-guardián compatibles con el kernel, se hace necesario colocar una entrada correspondiente en el archivo /etc/modules.conf . Por ejemplo, si un temporizador perro-guardián basado en Intel-810 TCO es usado, la siguiente línea debería ser agregada al /etc/modules.conf:

alias wdt i810-tco