Reparto de la Carga entre Servidores
Una vez configurado y funcionando el
cluster con dos servidores de irc, el siguiente paso es asignar una única
DNS para conectarse al IRC y que de alguna forma se redirija al cliente
al servidor que se encuentre más libre. Hemos preguntado en el canal
#linux
del IRC-Hispano (accedimos por irc.arrakis.es) y nos han
comentado que hay dos posibles soluciones:
-
La mejor (y más difícil
de implementar) sería programar un script en perl o algún
otro lenguaje que se conecte a ambos servidores, decida cuál está
más libre de carga (tiene menos usuarios o cualquier otro criterio),
y redirija hacia allí la conexión. No nos extrañaría
que ya hubiera algún programa de este estilo disponible en la web,
estamos buscando ya que sería sin duda la mejor solución.
-
La otra solución, mucho más
fáicl y que también daría buen resultado (por lo que
nos comentan es así como está configurado el redireccionador
libres.irc-hispano.org)
sería configurar en el servidor de DNS las dos IPs de los servidores
con el mismo nombre de dominio. Por lo que nos cuentan, cuando se configuran
varias IPs para la misma DNS, el servidor de DNS redirije la conexión
a una u otra IP bien de forma aleatoria o bien con una cola Round Robin.
De esta forma se conseguiría "dispersar" la carga entre los n
servidores de IRC que pueda haber instalados. El reparto como se ve no
se haría por creiterios de carga de los servidores si no que sería
una dispersión aleatoria, pero que en términos generales
daría un buen resultado.
Finalmente hemos probado con la segunda
opción, configurar el servidor de DNS para asignar un mismo nombre
a las dos IPs de los servidores y que el DNS disperse la carga, y parece
que funciona bien. Nos hemos basado en las instrucciones que se encuentran
en el DNS-HOWTO que viene con la Debian (/usr/doc/HOWTO/en-txt/).
El primer paso ha sido instalar el
bind (servidor de DNS) en nuestro equipo. Con la configuración por
defecto (en /etc/bind, fichero principal /etc/bind/named.conf)
el servidor funcionaría sólo, conectándose a los servidores
maestros repartidos por la www y que ya vienen configurados. En primer
lugar hemos añadido las líneas 23-27 para que en primer lugar
utilice los servidores de DNS de la universidad:
forwarders {
193.145.233.5;
193.145.233.6;
}
El siguiente paso es configurar un nombre
de dominio para nuestra red de servidores linux, a la que llamaremos "mmlinux.net".
Para esto, tendremos que definir una nueva zona en 127.0.0. y un nuevo
dominio en el fichero named.conf, en las líneas 67-76. Las líneas
"file" de estas definiciones indican en qué ficheros se configuran
los nombres de dominio de estas redes, que serán db.127.0.0
y mmlinux.net respectivamente. Y es en éste
último fichero donde asociaremos la dirección irc.mmlinux.net
a dos direcciones IP, líneas 22 y 23:
irc
A 192.168.13.83
irc
A 192.168.13.115
Una vez configurado así el servidor
de DNS, sólo nos queda reiniciarlo para que la nueva configuración
tenga efecto, y configurar el resto de equipos para que utilicen el servidor
en 192.168.13.83 como servidor de DNS. Ahora al hacer irc.mmlinux.net,
unas veces se nos dirigirá a 192.168.13.83 y otras a .13.115, dispersando
la carga de forma aleatoria entre los dos servidores de IRC.
[VOLVER]