Análisis de puntos clave de la tecnología de clúster del sistema Linux

  

Hoy en día, muchas empresas y sitios web utilizan el sistema operativo Linux. Las ventajas de Linux han hecho que las personas abandonen a Microsoft. Hoy hablaré sobre la tecnología de clúster de Linux, le haré saber más sobre Linux y conocer las potentes funciones de la tecnología de clúster de Linux. Darte una referencia al sistema.

Una de las razones por las que Linux es muy competitivo es que puede ejecutarse en PC muy populares sin la necesidad de comprar hardware dedicado costoso. En varias PC que ejecutan Linux, siempre que se agregue el software de clúster correspondiente, se puede formar un clúster de Linux con una confiabilidad superior, capacidad de carga y potencia de cómputo. Cada servidor en el clúster se llama un nodo.

Según el enfoque, los clústeres de Linux se pueden dividir en tres categorías. Un tipo es un clúster de alta disponibilidad que se ejecuta en dos o más nodos para continuar prestando servicios en caso de que se produzca una falla en el sistema. La filosofía de diseño de los clústeres de alta disponibilidad es minimizar el tiempo de inactividad del servicio. Los más famosos de estos grupos son Turbolinux TurboHA, Heartbeat, Kimberlite, etc. El segundo tipo es un clúster de equilibrio de carga, cuyo objetivo es proporcionar una capacidad de carga proporcional al número de nodos. Este clúster es adecuado para proporcionar servicios web de gran acceso. Los clústeres de equilibrio de carga a menudo tienen ciertas características de alta disponibilidad. Turbolinux Cluster Server y Linux Virtual Server son clústeres de equilibrio de carga. El otro tipo son los grupos de supercomputación, que se pueden dividir en dos tipos según el grado de asociación de computación. Uno es el modo de división de tareas, que divide la tarea de cálculo en porciones de tarea, luego asigna las porciones de tarea a cada nodo, las calcula por separado en cada nodo y luego resume los resultados para generar el resultado del cálculo final. El otro es el método de cálculo paralelo, en el que los nodos intercambian datos en gran cantidad durante el proceso de cálculo, y se puede realizar el cálculo con una fuerte relación de acoplamiento. Estos dos clústeres de supercomputación son adecuados para diferentes tipos de trabajo de procesamiento de datos. Con el software de clúster de supercomputación, las empresas pueden usar algunas PC para completar tareas informáticas que generalmente solo son posibles con los supercomputadores. Dicho software incluye Turbolinux EnFusion, SCore, etc.

Los clústeres de alta disponibilidad y los clústeres de equilibrio de carga funcionan de manera diferente y son adecuados para diferentes tipos de servicios. En general, los clústeres de equilibrio de carga son adecuados para servicios que proporcionan datos estáticos, como los servicios HTTP. Los clústeres de alta disponibilidad son adecuados para servicios que proporcionan datos estáticos, como servicios HTTP, y servicios que proporcionan datos dinámicos, como bases de datos. La razón por la que los clústeres de alta disponibilidad se pueden aplicar a los servicios que proporcionan datos dinámicos es porque los nodos comparten el mismo medio de almacenamiento, como RAIDBox. Es decir, en un clúster de alta disponibilidad, solo una copia de los datos del usuario para cada servicio se almacena en el dispositivo de almacenamiento compartido. Por otro lado, solo un nodo puede leer y escribir estos datos en cualquier momento.

Tomando Turbolinux TurboHA como ejemplo, hay dos nodos A y B en el clúster. Este clúster solo proporciona servicios de Oracle, y los datos del usuario se almacenan en la partición /dev /sdb3 del dispositivo de almacenamiento compartido. En el estado normal, el nodo A proporciona el servicio de base de datos Oracle y la partición /dev /sdb3 se carga por el nodo A en /mnt /oracle. Cuando se produce una falla en el sistema y es detectada por el software TurboHA, TurboHA detendrá el servicio de Oracle y desinstalará la partición /dev /sdb3. Después de eso, el software TurboHA en el nodo B cargará la partición en el nodo B e iniciará el servicio de Oracle. Para que el servicio de Oracle tenga una dirección IP virtual, cuando el servicio de Oracle pasa del Nodo A al Nodo B, la dirección IP virtual también está vinculada al Nodo B, por lo que el usuario aún puede acceder al servicio.

Como se puede ver en el análisis anterior, un clúster de alta disponibilidad no tiene una función de equilibrio de carga para un servicio, lo que puede mejorar la confiabilidad de todo el sistema, pero no puede aumentar la capacidad de carga. Por supuesto, un clúster de alta disponibilidad puede ejecutar múltiples servicios y distribuirse adecuadamente en diferentes nodos. Por ejemplo, el nodo A proporciona servicios de Oracle y el nodo B proporciona servicios de Sybase. Esto también puede verse como un equilibrio de carga en cierto sentido, pero esto es Para la distribución de servicios múltiples.

Un clúster de equilibrio de carga es adecuado para servicios que proporcionan datos relativamente estáticos, como servicios HTTP. Debido a que generalmente no hay medio de almacenamiento compartido entre los nodos del clúster de equilibrio de carga, los datos del usuario se copian en varias copias y se almacenan en cada nodo que proporciona el servicio. La siguiente es una breve introducción al mecanismo de trabajo del clúster de equilibrio de carga utilizando Turbolinux Cluster Server como ejemplo. Hay un nodo maestro en el clúster llamado Advanced Traffic Manager (ATM). Suponga que este clúster solo se usa para proporcionar un servicio HTTP, y que los nodos restantes están todos configurados en nodos de servicio HTTP. La solicitud del usuario para la página se envía al cajero automático, porque la dirección IP externa del servicio está vinculada al cajero automático. El cajero automático envía la solicitud recibida a los nodos de servicio de manera uniforme. Después de recibir la solicitud, el nodo de servicio envía directamente la página web correspondiente al usuario. De esta manera, si hay 1000 solicitudes de página HTTP en 1 segundo y hay 10 nodos de servicio en el clúster, cada nodo procesará 100 solicitudes. Por lo tanto, desde el mundo exterior, parece que hay una computadora de alta velocidad de 10x que maneja el acceso de los usuarios. Este es el verdadero sentido del equilibrio de carga.

Pero ATM tiene que lidiar con todas las solicitudes de 1000 páginas, ¿se convertirá en el cuello de botella de la velocidad de procesamiento del clúster? Dado que la cantidad de datos solicitados para una página es relativamente pequeña, la cantidad de datos devueltos al contenido de la página es relativamente grande, por lo que este método sigue siendo muy eficiente. La falla del cajero automático no hará que todo el sistema falle. Turbolinux Cluster Server puede configurar una o más computadoras como nodos ATM de respaldo. Cuando el nodo ATM principal falla, se generará un nuevo ATM primario en el ATM de respaldo para que asuma su trabajo. Se puede ver que este clúster de equilibrio de carga también tiene una cierta alta disponibilidad.

Las páginas HTTP son relativamente estáticas, pero a veces necesitan ser cambiadas. Turbolinux Cluster Server proporciona una herramienta de sincronización de datos que facilita la sincronización de los cambios en la página a todos los nodos que proporcionan el servicio.

A continuación se describe la combinación de clústeres de alta disponibilidad y clústeres de equilibrio de carga. Si el usuario tiene un grupo mínimo de dos nodos, ¿es posible obtener los beneficios de los clústeres de alta disponibilidad y los clústeres de equilibrio de carga? La respuesta es sí. Dado que los clústeres de alta disponibilidad son adecuados para los servicios que proporcionan datos dinámicos, y los clústeres con carga equilibrada son adecuados para los servicios que proporcionan datos estáticos, también podemos suponer que los servicios de Oracle y HTTP están disponibles. Los usuarios deben instalar el software TurbolinuxTurboHA y TurbolinuxClusterServer en los nodos A y B. El nodo A es el nodo en el que Oracle funciona normalmente y el nodo B es el nodo de respaldo del servicio de Oracle. Esto es para el software TurboHA. Para el software ClusterServer, el nodo B está configurado para ser el nodo ATM principal, el nodo A es el nodo ATM de respaldo, y el nodo A y el nodo B son ambos nodos de servicio HTTP.

De esta manera, tanto el Nodo A como el Nodo B son roles, y el usuario obtiene un servicio Oracle de alta disponibilidad y un servicio HTTP de equilibrio de carga. Incluso si un nodo falla, ni el servicio Oracle ni el servicio HTTP se interrumpirán.

Pero para el mismo servicio, no puede obtener alta disponibilidad y equilibrio de carga al mismo tiempo. Para un servicio, solo hay una pieza de datos, colocada en un dispositivo de almacenamiento compartido, a la que se accede mediante un nodo a la vez para obtener una alta disponibilidad, o copiada en varias copias, almacenada en el disco duro local de cada nodo, el usuario Las solicitudes se envían a varios nodos simultáneamente para equilibrar la carga.

Para los clústeres de alta disponibilidad, debido a su tiempo de diseño para minimizar el tiempo de interrupción del servicio, el cambio de servicio ha recibido mucha atención. Cuando falla un servicio en un nodo, se detecta rápidamente y se cambia a otro nodo. Sin embargo, la protección de la integridad de los datos no se puede ignorar al cambiar.

¿En qué circunstancias se destruirá la integridad de los datos? Dado que hay al menos dos nodos en el clúster de alta disponibilidad conectados a un dispositivo de almacenamiento compartido, para particiones no desnudas, si los dos nodos leen y escriben simultáneamente, el sistema de archivos se destruirá. Por lo tanto, necesito usar la barrera de E /S para evitar que ocurra este evento.

El propósito de la barrera de E /S es garantizar que el nodo defectuoso ya no pueda seguir leyendo y escribiendo particiones compartidas de un servicio. Hay varias formas de implementarlo. Kimberlite utiliza interruptores de hardware para implementar. Cuando un nodo falla, si otro nodo puede detectarlo, emitirá un comando a través del puerto serie para controlar el interruptor de hardware conectado a la fuente de alimentación del nodo defectuoso, se apagará temporalmente y luego se apagará. La forma en que se enciende la alimentación hace que se reinicie el nodo fallido.

Las barreras de E /S vienen en muchas formas. Para los dispositivos de almacenamiento que admiten el comando SCSI Reserve /Release, el comando SG también se puede usar para implementar la barrera de E /S. Los nodos normales deben usar el comando de reserva SCSI " bloquear " dispositivo de almacenamiento compartido para asegurarse de que el nodo fallado no lea ni escriba. Si el software del clúster en el nodo con falla aún se está ejecutando, si encuentra que el dispositivo de almacenamiento compartido ha sido bloqueado por la otra parte, debe reiniciarse para reanudar el funcionamiento normal.

Lo anterior presenta los principios básicos de la tecnología de clúster de Linux, y también presenta varios programas conocidos. En resumen, la tecnología de clúster de Linux maximiza las ventajas de las PC y las redes, puede ofrecer un rendimiento considerable y es una tecnología prometedora. Espero que pueda aprender más sobre la tecnología de clúster de Linux a través de este artículo.

Copyright © Conocimiento de Windows All Rights Reserved