[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Nfs pierde los enlaces simbolicos mapeados a local



Hola muy buenas, tenemos 2 apaches que escriben en el mismo fichero
via nfs. Antes de nada, está puesto en nfs porque las escrituras son
muy pocas, son cuando se realizan ventas, por ejemplo. Cada 5 min
aprox y por norma general incluso más, escribe uno de los 2 nodos,
dependiendo de en cual se ha realizado la petición de una determinada
venta.

Antes de que me digáis nada, sé que nfs no se lleva muy bien con
lectura y escritura simultáneamente de manera insistente, puesto que
no hace bloqueo de fichero, como por ejemplo drbd(que no es lo mismo).

Al grano, pongo la situación de 2 apaches en 2 container openvz:

- web1
- web2

Añado a la configuración del container para que monte nfs cuando
arranque el container web1 y web2, en su correspondiente
IDopenvz.mount siguiendo esta guía:

http://www.howtoforge.com/openvz-mounting-host-devices-partitions-directories-in-a-container-with-bind-mounts-debian-ubuntu

Lo monta bien y sin problema. Apache escribe el log en local en
/tmp/log. El tema es que si queremos tener ese log en comun para que
ambos apaches escriban, hacemos un enlace simbolico de tal forma:

ln -s /mnt/nfs/log /tmp/

Hasta ahí todo bien, sin embargo si renicias cualquier de los 2, si te
vas a su /tmp/ no aparece el enlace simbólico...El montaje de nfs lo
realiza openvz(proxmox) en cuanto arrancas el container,
evidentemente. Sin embargo no está...Hay que crearlo otra vez...Y ya
no sé si es debido a ser nfs el sistema de ficheros o porque monta
antes el sistema openvz que nfs y como no lo encuentra lo borra...Pero
por normal general y por experiencia, si un enlace simbólico lo creas
en local y se borra a lo que apunta ese enlace, se queda el enlace
perdido y listo, no se borra.

El caso es que lo he solventado añadiendo un servicio /etc/init.d/ que
básicamente haga el ln(enlace simbólico) , luego en el runlevel 2, le
he puesto para que arranque antes que apache(que por defecto al hace
rel update-rc.d me lo ha puesto antes) y ahora sí que
funciona...Aunque está "solucionado" me gustaría saber por qué es
realmente, y si a alguien le ha pasado.

Gracias.

Saludos.


Reply to: