Primero

... dijeron que Linux era un producto de las universidades y que no saldría de ellas, luego dijeron que no tenia cabida en los escritorios, que era cosa de gurus y freaks; el resultado es que cada vez mas servidores son Linux, incluso algunas empresas como Oracle están creando su propia distro en la que incluir su software, y que incluso con la ayuda inesperada del fracaso de Vista cada vez mas gente prueba y se queda en Ubuntu, y es que Linux esta experimentando un crecimiento increíble y cada vez incluye servicios mas y mas avanzados como la alta disponibilidad.
Crear un servicio de
proxy en Linux es relativamente facil, poco mas que hacer un;
#apt-get install squidy retocar el fichero de configuración;
#vim /etc/squid/squid.confYa tenemos un proxy-cache funcionando para nuestra red, pero que pasa si esta maquina se cae? se rompe el disco duro o simplemente alguien tropieza con el cable de red? pues que dejamos a 'x' personas sin internet y esto en las empresas de hoy en día con webmail, miles de aplicaciones web, etc...puede llegar a ser un problema, si este es tu caso voy a intentar explicar como montar un claster simetrico de alta disponivilidad de un servicio proxy basado en mi experiencia...
En primer lugar explicar que la alta disponibilidad se basa en multiplicar los resursos, o sea que donde antes teníamos un servidor ahora vamos a necesitar mas. Podríamos crear un cluster con dos miembros, pero ante la caída de uno de ellos se produce una situación denominada "
split-brain", por lo que para crear una cluster siempre es recomendable utilizar al menos tres miembros.
En Debian o Ubuntu server instalamos
Heartbeat y las herramientas de administracion se instalaran como dependencias;
#apt-get install heartbeat heartbeat-guiUna vez instalado esto en las tres mauinas ya tenemos los servidores listos para crear nuestro clusterHA, ahora hay que comprobar un par de cosas;
- en primer lugar tenemos que comprobar que las tres maquinas se ven entre si, yo recomiendo incluir el en fichero /etc/hosts los nombres y las ip's de cada maquina
- una vez comprobada la conectividad por nombre hay que tener en cuenta que medio vamos a usar para enviar la senal de heartbeat multicast, broadcast... que determinara el tipo de topologia de red que tenemos que usar, en este caso vamos a usar broadcast por lo que los tres servidores deben de estar en la misma red y compartir el dominio de broadcast, por ejemplo;
M30 192.168.0.3 255.255.255.0
M40 192.168.0.4 255.255.255.0
M50 192.168.0.5 255.255.255.0
Gateway de internet: 192.168.0.254
IP virtual para nuestro cluster 192.168.0.1
Ahora vamos a ver los dos ficheros que tenemos que modificar y la configuración mínima para hacer funcionar nuestro cluster;
root@M50:~# cat /etc/ha.d/ha.cf
node M30 M40 M50
bcast eth0
crm onEn este fichero ha.cf esta la configuración mínima para nuestro cluster, los miembros, el tipo de sealizacion para la senal de heartbeat y con "crm on" habilitamos el uso de las funciones de la versión 2 de heartbeat.
root@M50:~# cat /etc/ha.d/authkeys
auth 1 1 sha1 ClaveSuperSecretaEn el fichero authkeys establecemos la codificación de la senal de heatbeat y la clave a utilizar, estos dos ficheros deben de estar presentes en los tres servidores y despues de modificarlos hay que reiniciar el demonio de heartbeat
#/etc/init.d/heartbeat restartpodemos utilizar las herramientas de linea de comandos pero voy a explicar como darlo todo de alta con la herramienta grafica, que aunque se encuentra en una primera fase de desarrollo es muy util. Lo primero que tenemos que hacer es ponerle una password al usuario hacluster en la maquina o maquinas donde queramos conectarnos a la herramienta grafica, y como root ejecutar;
#hb_gui
Aqui vemos la pantalla de entrada, ponemos nuestra password y al acceder deberiamos de ver nuestro cluster simetrico con los tres nodos en verde y con el estado quorum.

Ahora vamos a dar de alta los recursos que va a ofrecer este cluster, en nuestro caso van a ser;
- una ip virtual para que conecten los clientes.
- un servicio de proxy Squid.
- un servicio de NTP, para que toda nuestra red se pueda sincronizar con una unica hora.

Cuando estas insertando el resource de Ipaddr tienes que poner un parametro que sea ip y otorgarle el valor de la ip virtual que queramos usar.
Es importante dar todos estos servicios sobre un grupo que permita que ante la caída de un nodo todos los servicios se muevan en grupo al siguiente nodo disponible.

Una vez que estan dados de alta los servicios pulsa con el boton derecho sobre el grupo y dale al triangulo verde de activar, veras que se activan y se arrancan en uno de los nodos. Ahora viene lo divertido, prueba que tienes internet poniendote de servidor proxy la Ip virtual que hemos configurado, tienes internet verdad? prueba a tirar del cable de red del servidor que tiene los servicios arrancados...
Seguro que se puede mejorar, para eso estan los comentarios....