Las secciones siguientes proporcionan información adicional sobre la configuración del hardware usado en un sistema cluster.
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.
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:
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.
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).
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:
![]() | Nota |
---|---|
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.
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 |