X

News, tips, partners, and perspectives for the Oracle Solaris operating system

¿Por qué SUNW.nfs es necesario para configurar HA-NFS a través de ZFS en Solaris Cluster?

Guest Author

Normalmente para configurar un sistema de archivos NFS de alta disponibilidad en un entorno de Solaris Cluster, se utiliza un agente HA-NFS (SUNW.nfs). El agente SUNW.nfs lleva a cabo la función de compartir sistemas de archivos que deben exportarse.

Con la compatibilidad de ZFS como sistema de archivos de conmutación por error en SUNW.HAStoragePlus, existen 2 posibles modos de configurar un sistema de archivos NFS de alta disponibilidad con ZFS como sistema de archivos subyacente. Estos modos son:

  1. Mediante la activación de la propiedad sharenfs de ZFS (por ejemplo, sharenfs=on) para sistemas de archivos de zpool sin utilizar SUNW.nfs.
  2. Mediante la desactivación de la propiedad sharenfs de ZFS (por ejemplo, sharenfs=off) para sistemas de archivos de zpool y permitiendo que SUNW.nfs realice la tarea de compartir.

Entre los dos enfoques anteriores, HA-NFS funciona correctamente sólo si se utiliza el agente SUNW.nfs (por ejemplo, opción 2); En este blog, se explica la justificación del requisito de SUNW.nfs con el objeto de configurar un sistema de archivos NFS de alta disponibilidad en el entorno de clúster con ZFS.

Reclamación de bloqueo por parte de clientes (NFSv[23])

statd(1M) realiza un seguimiento de los clientes y los procesos con bloqueos en el servidor. El servidor puede utilizar esta información para permitir al cliente reclamar el bloqueo tras una conmutación por error/reinicio del servidor NFS.

Cuando un sistema de archivos se comparte mediante la configuración de la propiedad sharenfs de ZFS y sin utilizar SUNW.nfs, la información de bloqueo se conservará en /var/statmon, que es el sistema de archivos local y específico de un host. Por lo tanto, en caso de producirse una conmutación por error, la información almacenada no estará disponible en la máquina para la que el servidor realiza una conmutación por error. Esto provoca que el servidor no pueda enviar solicitudes a clientes para que vuelvan a reclamar los bloqueos.

Este problema se ha solucionado con el agente SUNW.nfs al conservar la información de supervisión en un almacenamiento estable (situado en discos con varios puertos) y al que puede accederse desde todos los nodos del clúster.

Información de estado de clientes (NFSv4)

NFSv4 es un protocolo con estado en el que nfsd(1M) realiza un seguimiento del estado de los clientes como, por ejemplo, los archivos abiertos/bloqueados en un almacenamiento estable.

Cuando un sistema de archivos se comparte mediante la configuración de la propiedad sharenfs de ZFS, el almacenamiento estable se encontrará en /var/nfs, al que no puede accederse desde todos los nodos del clúster. En este caso, en una situación de conmutación por error del servidor, las solicitudes de reclamaciones de los clientes no se llevarán a cabo y podrían provocar la salida de las aplicaciones del cliente (a no ser que las aplicaciones del cliente capten la señal SIGLOST).

Este problema se ha solucionado con el agente SUNW.nfs al conservar la información de estado en un almacenamiento estable que se comparte entre nodos del clúster y esto ayuda al servidor para que los clientes reclamen su estado.


La diferencia gráfica se muestra a continuación. 

HA-NFS sin SUNW.nfs
 HA-NFS sin SUNW.nfs

HA-NFS utilizando SUNW.nfs
 HA-NFS utilizando SUNW.nfs

 
Para ser más precisos, la propiedad sharenfs de ZFS del sistema de archivos zfs no implica que funcione en un entorno de Solaris Cluster y, por tanto, deba utilizarse el agente SUNW.nfs para HA-NFS a través de ZFS.

P.D:
el almacenamiento estable en el que SUNW.nfs conserva la información se encuentra en un sistema de archivos de alta disponibilidad ZFS (que es el valor de la propiedad de extensión PathPrefix del tipo de recurso SUNW.nfs).

Venkateswarlu Tella (Venku)
Departamento de ingeniería de Solaris Cluster

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.