Red Hat Cluster Suite: Configuring and Managing a Cluster | ||
---|---|---|
Anterior | Capítulo 4. Servicios de bases de datos | Siguiente |
Un servicio de bases de datos puede proporcionar data de alta disponibilidad a una aplicación de bases de datos MySQL. La aplicación puede luego proveer acceso a la red a sistemas clientes de base de datos, tales como servidores Web. Si el servicio hace un fail over, la aplicación accesa la base de datos compartida a través del nuevo sistema cluster. A un servicio de base de datos accesible a la red usualmente se le asigna una dirección IP, la cual también se transfiere con el servicio en el caso de una caída del sistema para mantener acceso transparente a los clientes.
Un ejemplo de configuración de un servicio de base de datos MySQL se presenta a continuación:
Los paquetes del servidor MySQL están instalados en cada sistema cluster que ejecutará el servicio. El directorio de la base de datos MySQL reside en un sistema de archivos que está ubicado en una partición de disco en almacenamiento compartido. Esto permite que los datos de la base de datos esté accesible para todos los sistemas cluster. En el ejemplo, el sistema de archivos está montado como /var/mysql, usando la partición de disco compartido /dev/sda1.
Se asociada una dirección IP con la base de datos MySQL para acomodar el acceso a la red por clientes del servicio de base de datos. Esta dirección IP será migrada automáticamente entre los miembros cluster cuando el servicio ejecute un failover. En el ejemplo de abajo, la dirección IP es 10.1.16.12.
El scrip que es utilizado para arrancar y detener la base de datos MySQL es el script init estándar mysqld. Si se necesita el registro de conexiones generales y consultas, modifique el script mysqld para añadir la opción --log=/var/log/mysqld.log como la última opción del comando safe_mysqld. La línea resultante aparece similiar a lo siguiente (Observe que la barra oblicua hacia adelante (\) denota la continuación de una línea):
/usr/bin/safe_mysqld --defaults-file=/etc/my.cnf --log=/var/log/mysqld.log \ >/dev/null 2>&1 & |
Si se añade la opción --log al script mysqld, debería copiar el nuevo script mysqld a los otros miembros cluster que puedan ejecutar el servicio MySQL, para que ellos puedan registrar conexiones y consultar si el servicio MySQL hace fail over a esos miembros.
Por defecto, una conexión cliente a un servidor MySQL agotará su tiempo de espera (time out) luego de ocho horas de inactividad. Este límite de conexión puede ser modificado colocando la variable wait_timeout en el archivo /etc/my.cnf. Por ejemplo, para colocar los tiempos de espera a cuatro horas, añada la línea siguiente a la sección [mysqld] de /etc/my.cnf:
set-variable = wait_timeout=14400 |
Reinicie el servicio MySQL. Observe que luego de hacer este cambio, el nuevo archivo /etc/my.cnf debería ser copiado a todos los otros miembros cluster que puedan ejecutar el servicio MySQL.
Para verificar si el servidor MySQL ha terminado su tiempo de espera, invoque el comando mysqladmin y examine el tiempo que ha estado activo. Si se ha consumido el tiempo de espera, invoque el query otra vez para reconectar automáticamente al servidor.
Dependiendo de la distribución de Linux, uno de los siguientes mensajes puede indicar un tiempo de espera agotado del servidor MySQL:
CR_SERVER_GONE_ERROR CR_SERVER_LOST |
Para añadir un servicio MySQL usando la Herramienta de configuración del cluster, haga lo siguiente:
Inicie la Herramienta de configuración del cluster seleccionando Menú Principal => Configuración del sistema => Configuración de servidores => Cluster o escribiendo redhat-config-cluster en el indicador de comandos. Aparecerá la Herramienta de estado del cluster por defecto.
Inicie la Herramienta de configuración del cluster seleccionando Cluster => Configurar desde los menúes de la Herramienta de estado del cluster.
Pulse la pestaña Servicios.
Añada el servicio MySQL.
Pulse en Nuevo. Aparece la ventana de diálogo Servicio.
Introduzca un Nombre de servicio para el servicio MySQL.
Seleccione un Dominio de failover o déjelo como Ninguno.
Escriba una cantidad (segundos) en el espacio para Intervalo de verificación si desea verificar la salud del servicio MySQL a través de la directiva status del script de inicio mysqld.
Introduzca un Script de usuario, tal como /etc/init.d/mysqld.
Pulse en OK.
Añada una dirección IP para el servicio MySQL.
Seleccione el servicio MySQL y pulse en Añadir hijo.
Seleccione Añadir dirección IP del servicio y pulse en OK. Aparece la ventana Dirección IP del servicio.
Ingrese una Dirección IP.
Ingrese una Máscara de red o déjela como Ninguna.
Ingrese una Dirección de difusión o déjela como Ninguna.
Pulse en OK.
Añada un dispositivo para el servicio MySQL.
Seleccione el servicio MySQL y pulse en Añadir hijo.
Seleccione Añadir dispositivo y pulse en OK. Aparecerá el diálogo Dispositivo.
Introduzca el Archivo especial de dispositivo (por ejemplo, /dev/sdc3).
En el campo Punto de montaje, ingrese /var/lib/mysql.
Seleccione el tipo de sistema de archivos en Tipo de FS o déjelo en blanco.
Ingrese las Opciones del punto de montaje, incluyendo rw (lectura-escritura).
Seleccione o quite la selección de Forzar el desmontaje
Pulse en OK.
Seleccione Archivo => Guardar para guardar el servicio MySQL.