martes, agosto 02, 2011

Trucos para mantener un cluster en WebSphere 7 con Alfresco 3.4.x

Para instalar Alfresco ECM 3.4.x en WebSphere 7, lo mejor es seguir el siguiente enlace: http://docs.alfresco.com/3.4/index.jsp?topic=%2Fcom.alfresco.Enterprise_3_4_0.doc%2Ftasks%2Falf-websphere-install.html

Si además creamos un clúster de nodos en el mismo WebSphere además de la configuración para Alfresco ECM mediante JGroups, tenemos todavía algunas cosas que el servidor de aplicaciones no controla. Una de ellas es el control de los ficheros de configuración, comunmente llamados "ficheros del extension" o extension/alfresco.

Esto es fácil si compartimos mediante NFS estos ficheros. Imaginemos que tenemos dos servidores, alfpru1 y alfpru2, en ambos hay una instalación de WAS 7 en: /opt/IBM/WebSphere/AppServer

En esta existe un directorio llamado lib donde generalmente se crea un directorio llamado alfresco y dentro de este se introducen los ficheros de configuración. Bien, solo hay que exportar el recurso en la máquina o cabina, en este caso es la misma máquina alfpru1 y en la misma localización por defecto (lo suyo es tener evidentemente una cabina de discos para esto):

El fichero /etc/exports tendrá la siguiente línea:

/opt/IBM/WebSphere/AppServer/lib/alfresco       alfpru2(rw,sync)

Además deberá exportar el recurso compartido para el repositorio, etc.

Bien, ahora en alfpru2 creamos un directorio alfresco dentro de /opt/IBM/WebSphere/AppServer/lib y montamos el recurso como:

mount alfpru1:/opt/IBM/WebSphere/AppServer/lib/alfresco /opt/IBM/WebSphere/AppServer/lib/alfresco

Y listo!!... bueno, no del todo. Resulta que hay un fichero llamado alfresco-global.properties que está en el mismo nivel que el directorio alfresco. Como no queremos (ni podemos) exportar todo el directorio lib, lo que se puede hacer es mover este fichero dentro de lib y crear dos enlaces simbólicos, uno en cada servidor, de esta forma:

En alfpru1:

mv alfresco-global.properties ./alfresco
ln -s alfresco/alfresco-global.properties .

En alfpru2 (después de haber montado el recurso):
ln -s alfresco/alfresco-global.properties .

Para prácticamente toda la configuración vale que se compartan los ficheros, en algún caso excepcional necesitaremos otros valores, en el caso además de subsistemas podrémos realizar este truco también de forma que parte esté como recurso compartido y parte no.