Sun Cluster: Guía del desarrollador de los servicios de datos del sistema operativo Solaris

Datos de hosts múltiples

Los dispositivos de los sistemas de archivos del clúster de alta disponibilidad se alojan en diferentes hosts para que, en caso de caída de un host físico, uno de los hosts activos pueda acceder al dispositivo. Para que una aplicación sea de alta disponibilidad, sus datos también deben serlo. Por lo tanto, los datos de la aplicación deben ubicarse en sistemas de archivos a los que se pueda acceder desde varios nodos del clúster. Entre los ejemplos de sistemas de archivos de alta disponibilidad compatibles con Sun Cluster, se incluyen los sistemas de archivos globales HA, el sistema de archivos de recuperación ante fallos (Failover File System, FFS) y, en un entorno que utilice clústeres reales de aplicaciones de Oracle, un sistema de archivos compartidos QFS.

El sistema de archivos del clúster está montado en grupos de dispositivos creados como entidades independientes. Puede elegir utilizar algunos grupos de dispositivos como sistemas de archivos montados del clúster y otros como dispositivos básicos para utilizarlos con un servicio de datos, como HA Oracle.

Es posible que una aplicación pueda incluir archivos de configuración o conmutadores de línea de comandos que señalen a la ubicación de los archivos de datos. Si esa aplicación utiliza nombres de ruta invariables, puede cambiar los nombres de ruta por vínculos simbólicos a un archivo de un sistema de archivos del clúster sin necesidad de cambiar el código de la aplicación. Consulte Utilización de vínculos simbólicos para la colocación de datos de varios hosts para obtener información más detallada sobre el uso de vínculos simbólicos.

En el peor de los casos, debe modificarse el código fuente de la aplicación para proporcionar un mecanismo que señale a la ubicación real de los datos. Cree argumentos de línea de comandos adicionales para implementar este mecanismo.

El software de Sun Cluster admite el uso de sistemas de archivos UFS de UNIX y dispositivos básicos HA configurados en un administrador de volúmenes. Al instalar y configurar el software de Sun Cluster, el administrador del clúster debe especificar los recursos de disco que se van a utilizar en los sistemas de archivos UFS y los que se utilizarán en los dispositivos básicos. Generalmente, los dispositivos básicos sólo los utilizan servidores de bases de datos y servidores multimedia.

Utilización de vínculos simbólicos para la colocación de datos de varios hosts

A veces los nombres de ruta de los archivos de datos de una aplicación no se pueden modificar, ni existe ningún mecanismo para anularlos. Para evitar modificar el código de la aplicación, en ocasiones se pueden usar vínculos simbólicos.

Por ejemplo, supongamos que la aplicación le asigna al archivo de datos el nombre de ruta invariable/etc/mi_archivo_de_datos. Esa ruta se puede modificar de un archivo a un vínculo simbólico cuyo valor señale a un archivo de uno de los sistemas de archivos del host lógico. Puede establecer la ruta mediante un vínculo simbólico a /global/phys-schost-2/mydatafile.

Es posible que se produzca un problema si se utilizan así los vínculos simbólicos cuando la aplicación, o uno de sus procedimientos administrativos, modifique el nombre del archivo de datos y su contenido. Por ejemplo, suponga que la aplicación crea el nuevo archivo temporal /etc/mydatafile.new para realizar una actualización. A continuación, la aplicación cambia el nombre del archivo temporal por un nombre de archivo real mediante una llamada del sistema a la función rename() (o con el comando mv). Al crear el archivo temporal y cambiar su nombre por uno real, el servicio de datos intenta garantizar la integridad del contenido del archivo de datos.

Desgraciadamente, la acción rename() destruye el vínculo simbólico. El nombre /etc/mydatafile es ahora un nombre de archivo normal y reside en el mismo sistema de archivos que el directorio /etc, pero no en el sistema de archivos del clúster. Dado que el sistema de archivos /etc es privado para cada host, los datos no estarán disponibles después de una operación de recuperación de errores o conmutación.

El problema subyacente es que la aplicación actual no reconoce la existencia del vínculo simbólico, ya que no se ha creado para administrar este tipo de vínculos. Para utilizar éstos a fin de redirigir el acceso a los datos en los sistemas de archivos de hosts lógicos, la implementación de la aplicación debe comportarse de forma que no anule los vínculos simbólicos. Por lo tanto, los vínculos simbólicos no suponen una solución completa para el problema de la inclusión de los datos en los sistemas de archivos del clúster.