Revision #DRBD – #PROXY

Como ya les había contado antes, he estado trabajando con DRBDPROXY para los que no conocen DRBD, es un software de replicación de información, lo que se escribe en un disco se replica en otro, esto es bueno cuando garantizar servicios e información es lo que se busca. DRBD viene en dos versiones una paga y otra gratuita. Como seguramente ya están pensando si existe una versión paga y otra gratuita entonces la que realmente hace el trabajo es la versión paga, pues no, la versión gratuita de DRBD es bastante buena y hace el trabajo muy bien pero tiene un detalle el cual te simplifico en pocas palabras, “No va a funcionar a nivel GEO-Global” que quiere decir esto? lo puse entre comillas por que en realidad si puede funcionar pero contando con una linea dedicada entre los datacenters que están geográficamente separados. Hablando en números este servicio cuesta entre 9 mil a 12 mil dolares.

Entonces allí es donde entra DRBDPROXY, por que tiene módulos que realizan la compensación entre la latencia de la red WAN y el I/O del aplicativo o data que intentas replicar. DRBDPROXY tiene un buffer que se ajusta en el archivo de configuración el cual puede ser configurado a  Gigabytes, esto le permite al software retener la data en el servidor primario hasta que la conexión WAN sea estable, entonces luego de eso traspasa la data utilizando otro modulo que comprime la información de forma tal que pase en bloques mas pequeños. También cuenta con mas parámetros de tunning que permite gestionar la conexión y la reconexión de los discos en cuestión.

Para los que se piensan adentrar en un proyecto similar y están buscando una solución, mi recomendación es hagan todas las pruebas que puedan con la versión free aunque el proyecto sea a nivel Geo-Global, obtendrás los conocimientos necesarios para realizar las pruebas con el demo que LINBIT te proporciona si es que te decides por DRBD.

Unas notas sobre la instalación. Usando SLES-SP3:

  • Desactivar todos los repositorios y activar unicamente el proporcionado por Linbit (evitar confundir paquetes).
  • Desinstalar todo software previo relacionado con drbd (versión free).
  • Respaldar archivos de configuración /etc/drbd.conf.

Durante el proceso de configuración de los paquetes de Linbit tuve que ejecutar esto a pie para que se terminara de configurar el software:

# mkdir /var/run/drbd-proxy # this folder should already exist
# groupadd –system drbdpxy
# useradd –system –home=/var/run/drbd-proxy drbdpxy
# chown drbdpxyrbdpxy /var/run/drbd-proxy
# chmod 770 /var/run/drbd-proxy
# chkconfig –add drbdproxy

Después otra cuestión que me conseguí fue que el script init.d/ de DRBD-PROXY falla al iniciar los servicios, entonces hay que editarlo para que en la linea 65 quede así:

65                          #nice -n-10 su -l -c $DP drbdpxy
66                          nice -n-10 su -l -c ‘/sbin/drbd-proxy drbdpxy’

Sin las comillas y la ruta dura al binario da error al iniciar . Otro dato es utilizar el mismo archivo de configuración tanto para el DRBDPROXY como para el DRBDADM, la sintaxis es igual. Al mismo tiempo hacer uso de los siguientes parametros de configuración para la compresión y para el posible evento de una latencia severa en la red:

proxy {
memlimit 1G;
plugin {
zlib level 9;
}

net {
ko-count 50;
timeout 60;
on-congestion pull-ahead;
congestion-fill 200M;
congestion-extents 1113;
ping-timeout 50;
connect-int 5;
}

En mi experiencia ya con esto se logro estabilizar el enlace y correr el aplicativo replicado durante unos 5/6 dias sin problemas y en produccion (1000 usuarios). Bueno eso es todo, como nota final les puedo decir que el producto funciona y se cumplieron los objetivos.

 

Leave a Comment