Sun Cluster: Guía de conceptos para SO Solaris

Uso de la interconexión del clúster para el tráfico de servicio de datos

Un clúster debe tener varias conexiones de red entre los nodos que formen la interconexión del clúster. El software de agrupación en clúster usa varias interconexiones para la alta disponibilidad y para mejorar el rendimiento. Para el tráfico interno (por ejemplo, datos del sistema de archivos o datos de servicios escalables), los mensajes se reparten entre todas las interconexiones disponibles como si pasaran a través de una puerta giratoria.

La interconexión del clúster también está disponible para aplicaciones, para comunicaciones de alta disponibilidad entre nodos. Por ejemplo, una aplicación distribuida podría tener componentes que se ejecutaran en distintos nodos y que necesitasen comunicarse. Al usar la interconexión del clúster en lugar del transporte público, éstas conexiones pueden soportar el fallo de un enlace individual.

Para usar la interconexión del clúster para la comunicación entre nodos, una aplicación necesita los nombres de sistema privados configurados cuando se instaló el clúster. Por ejemplo, si el nombre de sistema privado para el nodo 1 es clusternode1-priv, use ese nombre para comunicarse a través de la interconexión del clúster con el nodo 1. Los zócalos TCP abiertos mediante este nombre se dirigen por la interconexión del clúster y pueden re-dirigirse de forma transparente en caso de un fallo de la red

Tenga en cuenta que, debido a que los nombres de sistema privados pueden configurarse durante la instalación, la interconexión del clúster podría usar cualquiera de los nombres elegidos en ese momento. El nombre real podrá obtenerse con scha_cluster_get(3HA) con el argumento scha_privatelink_hostname_node.

Para el uso de la interconexión del clúster a nivel de aplicación, se usa una interconexión simple entre cada par de nodos, aunque si es posible es mejor utilizar interconexiones distintas para distintos pares de nodos. Por ejemplo, consideremos una aplicación que se ejecuta en tres nodos basados en plataformas SPARC y se comunica mediante la interconexión del clúster. La comunicación entre los nodos 1 y 2 podría darse en la interfaz hme0, mientras que la comunicación entre los nodos 1 y 3 podría producirse en la interfaz qfe1. Es decir, que la comunicación entre dos nodos estaría limitada a la interconexión simple, mientras que internamente la comunicación del clúster se dividiría entre todas las interconexiones.

Tenga en cuenta que la aplicación comparte la interconexión con el tráfico interno del clúster, por lo que el ancho de banda disponible para la aplicación depende del que se use para el resto del tráfico del clúster. En caso de fallo, el tráfico interno puede desviarse por el resto de interconexiones, mientras que las conexiones de aplicación de una interconexión fallida se cambian a otra que funcione.

Hay dos tipos de direcciones que admiten la interconexión del clúster y gethostbyname(3N) en un nombre de sistema privado normalmente devuelve dos direcciones IP. La primera dirección se denomina dirección pairwise lógica y la segunda dirección pernode lógica.

A cada par de nodos se le asigna una dirección lógica pairwise independiente. Esta pequeña red lógica admite la recuperación de fallos de las conexiones. A cada nodo también se le asigna una dirección pernode fija. Es decir, las direcciones pairwise lógicas para clusternode1-priv son distintas para cada nodo, mientras que la dirección pernode lógica para clusternode1-priv es la misma en todos los nodos. Un nodo no dispone de dirección pairwise consigo mismo, por tanto gethostbyname(clusternode1-priv) en el nodo 1 sólo devuelve la dirección pernode lógica.

Tenga en cuenta que las aplicaciones que acepten conexiones a través de la interconexión del clúster y que después verifiquen la dirección IP por motivos de seguridad deben comprobarse con todas las direcciones IP que haya devuelto la orden gethostbyname y no sólo con la primera de ellas.

Si necesita direcciones IP uniformes en su aplicación en todos los puntos, configure la aplicación para vincularla con la dirección pernode en los lados del cliente y el servidor para que parezca que todas las conexiones vengan y vayan de la dirección pernode.