lunes, 9 de julio de 2012

Clúster de alto rendimiento y cabina de discos iSCSI

La cabina de discos SAS de que disponemos para almacenar la información se nos ha quedado pequeña. Aprovechamos la compra de una nueva cabina de discos, en esta ocasión iSCSI, para adquirir además nuevos servidores para la creación de un nuevo clúster de alto rendimiento y comenzar a trabajar con virtualización. La cabina adquirida es la de la imagen siguiente.


Hemos adquirido también varios switches para poder optimizar el montaje de la cabina de discos. Con todo esto renovamos por completo nuestro CPD, y dedicamos los actuales servidores a otros servicios.

Lo primero que hacemos es montar el clúster de alto rendimiento. Básicamente esto consiste en instalar, en nuestro caso, dos servidores interconectados entre sí y que configuran y gestionan de forma común una serie de servicios (utilizan para ello una partición común de la cabina denominada Quorum), de forma que si uno cae automáticamente el otro toma el control de los servicios que el caído controlaba. Es posible repartir los servicios entre los servidores para distribuir la carga de trabajo, y únicamente en caso de fallo de uno de los servidores, el resto se reparten los servicios para que en ningún momento los usuarios se queden sin trabajar.

La forma en que hemos montado el cluster y la cabina es la siguiente. Cada nuevo servidor dispone de 6 conexiones de red. Utilizamos una de cada uno de ellos para interconectar los servidores directamente. El objetivo de esta conexión es hacer una especie de ping de un servidor a otro para detectar cuando uno cae, y así poder tomar el control de los servicios por parte de otro servidor. Dos conexiones más se utilizan para el tráfico iSCSI de la nueva cabina de discos. El tráfico iSCSI debe ir separado de los paquetes de red habituales para evitar problemas (es posible utilizar un switch para ambos servicios configurandóle una VLAN, que es como crear por software switches separados dentro del mismo aparato). Estas dos conexiones iSCSI se conectan cada una a un switch (que a su vez se conectan a la cabina de discos), para evitar así posibles problemas por la rotura o fallo de uno de ellos (todo este hardware lleva además dos tomas de corriente, conectadas a SAIS diferentes). Las 3 conexiones restantes se reparten entre otros dos switches de red, que une los servidores con otro armario de switches que conectan a los clientes de la red. Esas 3 conexiones se unen utilizando el software Broadcom Advanced Control Suite 3, lo que resulta en una conexión a 3000 Mb en cada uno de los servidores.

El resultado de todo esto es un cluster de alto rendimiento con duplicidad de todo tipo (conexiones eléctricas, switches y servidores). La cabina la montamos en RAID 1+0, mediante la que cada dos discos se utiliza la capacidad de uno, y el otro es un espejo exacto del primero, de forma que la misma información está almacenada en dos discos. Esta configuración permite mayor seguridad pero menor espacio de almacenamiento. Es muy importante en casos como este pensar muy bien y decidir como se quiere montar la infraestructura de la red, dado que una vez montado se hace más complicado poder cambiar la configuración.

jueves, 16 de febrero de 2012

Gestor documental

Una de las caracterisicas que debe tener nuestro software de gestion es disponer de un pequeño gestor documental. Cada documento debe estar correctamente identificado, incluso con su nombre tipificado. De esta forma es muy fácil controlar en ciertos procesos si existe cierta documentación antes de poder continuar realizando ciertas tareas (imaginar por ejemplo, dar acceso a la web de eCliente a un cliente el cual no nos ha firmado el contrato de uso de la misma, o hacerle un cargo en la cuenta del banco sin un documento firmado donde nos de el consentimiento), así como generar comunicaciones automáticas que incluyan cierta documentación, mostrar documentos online, identificar a que pertenece un documento únicamente por su nombre de fichero, y otras muchas ventajas que se pueden obtener al gestionar de esta forma los documentos.

Para solucionarlo, simplemente hemos creado una tabla en la base de datos en la que se indica una descripción del documento, el formato que este debe tener como nombre de fichero (utilizando caracteres comodín que luego son reemplazados desde el software), y la carpeta dentro de la estructura que tenemos definida para cada registro en la que debe ser almacenado. Además, hemos creado un campo para indicar si es posible crear diferentes versiones del documento (se añaden versiones según se van introduciendo documentos) o no (se sobreescribe si se introduce de nuevo).

Estructura de la tabla

Además de esto se ha incluido un visor de documentos en el software, en el que se da la posibilidad de escanear o de adjuntar un documento. Al hacerlo, el software pregunta que es lo que se está introduciendo en el sistema, y el usuario, basado en la descripción, lo selecciona. El documento seleccionado es, de acuerdo a la elección del usuario, ubicado y nombrado de acuerdo a como se especifica en la tabla.

La nomenclatura que hemos acordado consiste en grupos de 3 letras que identifican a que pertenece y donde se almacena el documento. Por ejemplo, un documento con la forma siguiente:

CON-#COD_DOC#-DOC-FTR-#COD_USU#-V#VERSION#

Se definiría como un documento relativo a un contrato(CON), a continuación se indicaría el código del mismo (#COD_DOC#), que se almacena en la carpeta Documentacion (DOC) de la estructura a la que pertence (contratos), y que representa una factura (FTR). Al final se indican el usuario que lo introduce (#COD_USU#) y la versión del documento (#VERSION#), de forma que la inicial es la 01 y si se van añadiendo más se van incrementando de forma correlativa.

Adjuntar documento


Existen múltiples y potentes alternativas para realizar un gestor documental, algunas de las cuales hemos estudiado, como Alfresco, OpenKM, etc, pero dadas nuestras necesidados hemos optado por esta sencilla solución. Esto nos ha permitido además realizar distintas tareas posteriores como realizar envíos periódicos de información a los cliente, lo cual resulta muy sencillo porque se sabe en cada caso como se llama cada documento y donde se encuentra almacenado.

 

Copyright @ 2015 Tosblama