Estudio de Caso – Consultoría de Infraestructura

Estudio de Caso – Consultoría de Infraestructura

Para una empresa es vital tener un plan de continuidad que le permita proteger los procesos críticos y operativos del negocio. Es así como uno de nuestros clientes inició un proceso de consultoría que ayudará a evitar cualquier interrupción en los procesos de su servicio. El objetivo principal es anticiparse a cualquier error sobre su plataforma y tener el respaldo que les permita seguir su operación. Algunas empresas tienen un sistema virtualizado para su operación. Virtualizar es una técnica que se viene popularizando entre las empresa, pues esta práctica permite crear entornos similares a los físicos donde se logra un ahorro en el costo. Existen diversas plataformas para la administración de entornos virtuales, en el caso de la empresa sobre la cual se realizó la consultoría, su herramienta de virtualización fue VirtualBox, reconocido por la comunidad de OpenSource, fácil de instalar y utilizar.

 

Tenemos entonces una maquina con sistema operativo Linux Ubuntu sobre la cual se necesitaba hacer una replicación en caliente, es decir sin dejar de atender peticiones en el servicio de la máquina virtual. Lo primero que se realizó para este proyecto fue tomar una instantánea (snapshot) a la máquina virtual. Una instantánea captura el estado completo de la máquina virtual en el preciso instante cuando se toma, guardando el estado de la memoria, la configuración de la máquina virtual y el estado del disco virtual de dicha máquina. En otras palabras, una instantánea o snapshot permite conservar toda la configuración de la máquina virtual incluidos programas y aplicaciones. Posteriormente con esa instantánea, se clona la máquina virtual. Esta opción de clonar las máquinas virtuales facilita nuestras pruebas, ya que directamente no podemos exportar el servicio debido a que el servidor virtual siempre está prendido y para exportar la máquina virtual debería ser apagada.

 

Después de ser exportada la máquina virtual desde su clon, se debe pasar el archivo de exportación a la maquina respaldo. Para eso se utilizó la herramienta de sincronización Rsync, la cual permite sincronizar una carpeta desde el servidor principal al servidor de respaldo. En Safe Society optamos por esta Rsync ya que es una herramienta de sincronización segura, que realiza comprobación sobre el mecanismo de transmisión, corrgiendo la pérdida de paquetes.

 

La carpeta con los archivos de la exportación que serán sincronizados al servidor de respaldo se compone de tres elementos:
• Un archivo Servicio.ovf, el cual contiene la información de la máquina virtual
• Dos archivos más que corresponden a los discos duros asociados a la máquina virtual (podrían ser mas, dependiendo de su configuración)

 

Estos se deben importar a la herramienta VirtualBox del servidor de respaldo. Todo el proceso desde la toma de la instantánea se realiza por medio de scripts que son ejecutados desde una tarea programada de Linux. Esta tarea hace el proceso como si en el modo gráfico de la herramienta, hiciera clic derecho en la maquina virtual y seleccionara la opción instantánea > clon > export > y posteriormente ejecutara el comando Rsync desde el servidor principal para la respectiva sincronización en el servidor de respaldo. Adicionalmente, el proyecto requería una sincronización de los backups de la base de datos a una NAS (Network Attached Storage), también conocido por los términos “almacenamiento conectado a la red”. Estos backups están programados a a una hora determinada en una carpeta específica, por lo cual se realizo otro script para que se ejecutara utilizando también el comando Rsync.

 

No obstante, no faltan los imprevistos y problemas durante la ejecución del proyecto. Tarde que temprano se van a llenar los discos duros del servidor principal y de respaldo con los archivos que resultan de las instantáneas, el clon, y el export. En ese sentido, para mitigar el riesgo se contruyó otro script pero esta vez en python, el cual hace una depuración de estos archivos.

 

Finalmente, para conocer el funcionamiento de todo el proceso, se monitoreó para evidenciar la carga de la CPU, los saltos de la CPU, el uso de la memoria RAM, el tráfico de red de entrada y salida, el estado del disco duro en términos de almacenamiento y el estado de los servicios.