Diferencia entre revisiones de «Ubuntu Cluster con Pacemaker»
(Página creada con «Apuntes sobre como he instalado un cluster en ubuntu, para distribuir recursos en HA entre dos máquinas. En este caso lo que buscaba era tener solamente unas IP's balanc...») |
(Sin diferencias)
|
Revisión de 15:06 17 mar 2015
Apuntes sobre como he instalado un cluster en ubuntu, para distribuir recursos en HA entre dos máquinas.
En este caso lo que buscaba era tener solamente unas IP's balanceando entre las dos máquinas, para que si una de ellas se caia fuera la otra la que asumiera el rol de esa VIP.
Las pruebas son con Ubuntu 14.04
En primero lugar he instalado el paquete pacemaker de Ubuntu, el cual me ha instalado otros tantos, entre ellos corosync y cluster-glue
apt-get install pacemaker The following NEW packages will be installed: cluster-glue corosync crmsh libcfg6 libcib3 libcmap4 libcorosync-common4 libcpg4 libcrmcluster4 libcrmcommon3 libcrmservice1 libesmtp6 libheartbeat2 libibverbs1 liblrm2 liblrmd1 libnet1 libnspr4 libnss3 libnss3-nssdb libopenhpi2 libopenipmi0 libpe-rules2 libpe-status4 libpengine4 libperl5.18 libpils2 libplumb2 libplumbgpl2 libqb0 libquorum5 librdmacm1 libsam4 libsnmp-base libsnmp30 libstonith1 libstonithd2 libtotem-pg5 libtransitioner2 libvotequorum6 libxslt1.1 openhpid pacemaker pacemaker-cli-utils python-lxml resource-agents
Una vez instalados los paquetes necesarios parece que hace falta que se vean entre las dos máquinas através del servicio corosync, para lo cual hay que generar unas claves ssh que hay pasar de una a otra máquina.
Desde una de las máqiunas, en este caso la llamada secmon1, he creado la clave con:
root# corosync-keygen
hay que generar entropia pulsando muchas vece sel teclado. Una vez finalizado ya tenemos nuestro nuevo fichero con la clave, en /etc/corosync/authkey
Este fichero tendremos que copiarlo de alugna forma a los otros nodos, en mi caso al secmon2, en la misma ruta.
Después editamos el fichero de configuracion de /etc/corosync/corosync.conf, para editar la parte en el que especificamos la interface por la que se va a sincronizar:
interface { # The following values need to be set based on your environment ringnumber: 0 '''bindnetaddr: 10.15.74.0''' mcastaddr: 226.94.1.1 mcastport: 5405 }