¿Qué es la tecnología de clústeres?
La tecnología de clústeres se ha desarrollado durante muchos años, pero en realidad no existe una definición y clasificación muy precisas. Diferentes personas tienen diferentes entendimientos.
En realidad, no importa cómo se llame, siempre que pueda beneficiar a los usuarios :-)
En lo que respecta a la comprensión personal, existen los siguientes tipos. Por supuesto, como se mencionó anteriormente, las personas tienen diferentes interpretaciones y todos pueden discutirlo plenamente. Mis categorías son más de ingeniería que técnicas.
1. Clúster HA
Logra una alta disponibilidad, pero no mejora el rendimiento de una sola aplicación. La mayoría de los productos del mercado entran en esta categoría y son técnicamente relativamente simples.
2. Clúster de equilibrio de carga IP
Utilice tecnología IP para admitir aplicaciones IP generales. Esta tecnología no es muy nueva. Se utilizó por primera vez en hardware. Después de la aparición de Linux, surgieron muchos modelos de software puro. Este es también el beneficio que aporta el clúster de computación paralela. >
Incluyendo algunos mecanismos de transferencia de información y bibliotecas API como PVM y beowulf, así como productos de programación de tareas. Por supuesto, los más difíciles técnicamente son productos más inteligentes como la compilación paralela/sistemas paralelos
< p. >4. Clúster de equilibrio de carga de aplicacionesAunque el objetivo principal del clúster es lograr un verdadero equilibrio de carga dinámico independiente de la aplicación, debido a limitaciones técnicas, solo se puede implementar en aplicaciones especiales. modificarse, por lo que no existe un producto universal y la mayoría de los fabricantes tienen sus propias versiones paralelas. Por ejemplo, Oracle Paraller Server.
Lo anterior se divide básicamente desde la perspectiva de ingeniería o productos, y debe haber una cierta diferencia con la división técnica.
Lo siguiente es algo que escribí hace mucho tiempo. Fue escrito para promoción en los medios. Tiene cierto sabor comercial y algunas partes no son completamente correctas desde el punto de vista técnico. Se lo adjunto ahora sólo para intercambiar opiniones. No es para promocionar los productos de la empresa Turbolinux (soy un empleado de Turbolinux), realmente es demasiado vago para cambiarlo, aunque es tabú publicar este tipo de artículos comerciales en la comunidad pública ***. Es solo para su referencia y no participaré en la discusión sobre las ventajas y desventajas de los productos Turbolinux. Por favor comprenda.
Nunca he participado en discusiones en la comunidad de Linux. Esta vez es porque he estado en contacto con el clúster durante mucho tiempo y tengo mucho interés, así que me registré para ayudar.
Con el uso cada vez más extendido de Internet/Intranet, también aumenta la importancia de los sistemas informáticos. La baja tasa de fallas y el alto rendimiento siempre han sido los principales objetivos perseguidos por las personas, pero para un solo servidor, estos dos problemas no se pueden resolver.
l Disponibilidad: muchos servidores afirman haber alcanzado el 99% de disponibilidad. ¿Qué significa este número? En otras palabras, habrá un 1% de tiempo de inactividad imprevisto cada año. Calculémoslo específicamente. 365 (días/año) × 24 (horas/día) × 1% = 87,6 (horas/año). Estas 87,6 horas de inactividad al año son simplemente un desastre para las empresas que requieren un servicio continuo 24 horas al día, 7 días a la semana.
l Alto rendimiento: suponga que una computadora de escritorio promedio puede manejar miles de solicitudes por segundo y que el servidor IA puede manejar decenas de miles de solicitudes por segundo. Entonces, para las empresas que necesitan procesar cientos de miles de solicitudes por segundo, si no utilizan tecnología de clúster, la única opción es comprar más computadoras medianas y pequeñas de alta gama. Si hace esto, aunque el rendimiento del sistema sólo aumentará diez veces, su precio de compra y sus costos de mantenimiento aumentarán decenas de veces o incluso más.
La aparición y el desarrollo de la tecnología de clústeres han resuelto muy bien estos dos problemas.
1. Clúster
Un clúster es un sistema paralelo o distribuido compuesto por computadoras conectadas entre sí desde el exterior, son solo un sistema que brinda servicios unificados al mundo exterior.
Existen muchas clasificaciones de la tecnología de clúster en sí, y hay muchos productos en el mercado, y no existe una definición muy estándar. En términos generales, se puede dividir en las siguientes categorías:
1. Clúster basado en redundancia
Estrictamente hablando, este tipo de sistema redundante no se puede llamar un clúster real, porque puede solo mejora la disponibilidad del sistema, pero no puede mejorar el rendimiento general del sistema.
Existen los siguientes tipos.
Una máquina tolerante a fallos
La característica es que todos los componentes de hardware de una máquina son redundantes (incluido el disco duro, la tarjeta de control, el bus, la fuente de alimentación, etc.).
Puede ser básicamente independiente del sistema de software y lograr una conmutación perfecta, pero es extremadamente costoso.
Productos típicos del mercado: Compaq NonStop (Tandem), Micron (NetFrame), Straus
Sistema de doble máquina basado en sistema de duplicación
La característica es. el uso de una máquina de doble máquina, que refleja los datos del sistema y el estado operativo (incluidos los datos en la memoria) para lograr una copia de seguridad en caliente.
Puede lograr una conmutación perfecta, pero debido a que utiliza control de software, consume muchos recursos del sistema y, debido a que las dos máquinas requieren exactamente la misma configuración, la relación rendimiento-precio es demasiado baja.
Productos típicos del mercado: Novell SFT III, Marathon Endurance 4000 para NT
Sistema de doble máquina basado en conmutación de sistema
La característica es utilizar dual. máquinas a Los datos del sistema (solo datos del disco duro) se reflejan y la máquina esclava realizará una conmutación a nivel del sistema en caso de falla del host.
La relación rendimiento-precio es moderada, pero no se puede lograr una conmutación perfecta.
Productos típicos del mercado: Legato (Vinca) StandbyServer para NetWare, Savoir (WesternMicro) SavWareHA (Sentinel), Compaq StandbyServer
2 Clúster basado en conmutación de aplicaciones
< p. > La característica es que cuando falla un nodo en el clúster, otros nodos pueden realizar cambios a nivel de aplicación, por lo que todos los nodos pueden proporcionar sus propios servicios al mundo exterior en condiciones normales, lo que también se denomina método de equilibrio de carga estático.La relación rendimiento-precio es alta, pero no puede lograr una conmutación perfecta y no puede lograr el equilibrio de carga para una sola aplicación en sí.
Productos típicos del mercado: Legato (Vinca) Co-StandbyServer para NT, Novell HA Server, Microsoft Cluster Server, DEC Cluster para NT, Legato Octopus, Legato FullTime, NeoHigh Rose HA, SUN Clusters, Veritas Cluster Server (FirstWatch), CA SurvivIT, 1776
3. Clústeres basados en computación paralela
Utilizados principalmente en computación científica, computación a gran escala y otros entornos. Existen muchos métodos de implementación, como la compilación paralela, la comunicación de procesos y la distribución de tareas.
Productos típicos del mercado: TurboLinux enFuzion, Beowulf, Supercomputer Architectures, Platform
4. Clúster basado en equilibrio de carga dinámico
Todos los nodos proporcionan los mismos servicios al mundo exterior. Esto permite el equilibrio de carga de aplicaciones individuales al tiempo que proporciona alta disponibilidad.
La relación rendimiento-precio es extremadamente alta, pero actualmente no admite bases de datos.
Productos típicos del mercado: TurboCluster Server, Linux Virtual Server, F5 BigIP, Microsoft Windows NT Load Balance Service
2. Equilibrio de carga
El equilibrio de carga es una tecnología de vanguardia para mejorar el rendimiento del sistema. Siguiendo con el ejemplo anterior, la capacidad de procesamiento de un servidor IA es de decenas de miles por segundo. Obviamente, no puede manejar cientos de miles de solicitudes en un segundo, pero si podemos tener 10 servidores de este tipo para formar un sistema, si los hay. Este método distribuye todas las solicitudes de manera uniforme a todos los servidores, luego este sistema tiene la capacidad de manejar cientos de miles de solicitudes por segundo. Ésta es la idea básica del equilibrio de carga.
De hecho, existen en el mercado productos de equilibrio de carga de muchos fabricantes. Debido a las diferentes tecnologías principales utilizadas en sus aplicaciones, tienen diferentes características y diferentes rendimientos.
1. DNS de sondeo
Se puede decir que la solución DNS de sondeo es técnicamente la solución más sencilla e intuitiva. Por supuesto, esta solución solo puede realizar la función de equilibrio de carga, pero no puede garantizar una alta disponibilidad.
El principio es configurar la asignación de múltiples direcciones IP del mismo nombre de host de Internet en el servidor DNS. De esta manera, cuando el DNS recibe una solicitud para consultar el nombre del host, devolverá todas las direcciones IP correspondientes una por una en un bucle. De esta manera, se pueden ubicar diferentes conexiones de clientes en diferentes hosts IP y se puede lograr una función de equilibrio de carga relativamente simple. Sin embargo, esta solución tiene dos deficiencias fatales:
l Solo puede lograr el equilibrio de carga para solicitudes basadas en nombres de host de Internet y no puede hacer nada para solicitudes basadas directamente en direcciones IP.
l Cuando falla un nodo en el clúster, el servidor DNS aún devolverá la dirección IP del nodo a la parte que realiza la consulta y aún habrá solicitudes continuas de los clientes que intentarán comunicarse con el ahorrador de energía fallido. una conexión. En este caso, incluso si modifica manualmente la configuración correspondiente del servidor DNS y elimina la dirección IP defectuosa, debido a que todos los servidores DNS en Internet tienen mecanismos de almacenamiento en caché, miles de clientes aún no podrán conectarse al clúster a menos que espere hasta que todos Se agotó el tiempo de espera de las cachés de DNS.
2. Soluciones de hardware
Algunos fabricantes proporcionan soluciones de hardware para el equilibrio de carga y crean enrutadores o conmutadores de alta gama con funciones NAT (traducción de direcciones de red) para lograr la función de equilibrio de carga. El principio de NAT en sí es realizar la conversión de múltiples direcciones IP privadas en una única dirección IP pública. Los productos representativos son determinadas series de conmutadores de hardware de alta gama de Cicso y Alteon. Esta solución tiene las siguientes desventajas:
l Debido al uso de hardware especial, existen componentes estándar no industriales en todo el sistema, lo que afecta en gran medida la expansión, el mantenimiento y la actualización del sistema.
l El precio es extremadamente caro y existe una diferencia fundamental en orden de magnitud con respecto a las soluciones de software.
l Generalmente, solo se puede implementar la verificación de estado a nivel del sistema de nodo y no se puede refinar a la verificación de nivel de servicio.
l Debido al uso del mecanismo NAT, el nodo de administración del clúster en sí tiene una gran carga de trabajo que completar y puede convertirse fácilmente en un cuello de botella para todo el sistema.
l Esta pieza de hardware en particular es en sí misma un punto único de falla.
l Es muy difícil implementar la agrupación de nodos remotos.
3. Procesamiento negociable (filtrado paralelo)
El principio de esta solución es que la solicitud del cliente será recibida por todos los nodos al mismo tiempo, y luego todos los nodos negociarán y decide de acuerdo con ciertas reglas qué nodo maneja esta solicitud. La característica más notable de esta solución es que no existe un nodo de gestión obvio en todo el clúster y todas las decisiones se toman mediante consenso entre todos los nodos de trabajo. El producto representativo es el Servicio de equilibrio de carga de Microsoft de Microsoft. Las características de esta solución son:
l Dado que la cantidad de comunicación entre nodos es demasiado grande, lo que aumenta la carga en la red, generalmente es necesario aumentarla. El número de nodos dedicados para la comunicación de nodos en la red también aumenta la dificultad y el coste de instalación y mantenimiento.
l Dado que cada nodo tiene que recibir todas las solicitudes de los clientes y analizarlas, aumenta en gran medida la carga sobre la capa del controlador de red, lo que reduce la eficiencia del trabajo del nodo en sí y también ralentiza las capas del controlador de red. puede convertirse fácilmente en el cuello de botella de un sistema de nodos.
l Dado que es necesario cambiar el programa de la capa del controlador de red, no es una solución universal y solo puede admitir plataformas especiales.
l En el caso de una pequeña cantidad de nodos, la eficiencia de la negociación es aceptable. Una vez que aumenta la cantidad de nodos, la comunicación y la negociación se volverán extremadamente complejas e ineficientes, y el rendimiento de todo el sistema se verá afectado. ser significativamente no lineal. Por lo tanto, estas soluciones generalmente sólo permiten en teoría hasta una docena de nodos.
l No se puede implementar la agrupación de nodos remotos.
l Dado que no hay un administrador unificado en el clúster, pueden ocurrir anomalías caóticas.
4. Distribución del tráfico
El principio de distribución del tráfico es que todas las solicitudes de los usuarios llegan primero al nodo de administración del clúster. El nodo de administración puede decidir distribuirlo en función de las capacidades de procesamiento. y el estado actual de todos los nodos de servicio. La solicitud se distribuye a un nodo de servicio. Cuando un nodo de servicio falla debido a motivos de hardware o software, el nodo de administración puede detectar automáticamente y dejar de distribuir tráfico al nodo de servicio. De esta manera, al compartir el tráfico, se aumentan el rendimiento y las capacidades de procesamiento de todo el sistema y se puede mejorar considerablemente la disponibilidad del sistema.
Al convertir el nodo de administración en sí en un subclúster, se puede eliminar el punto único de falla causado por la unicidad del nodo de administración en sí. Algunos técnicos tradicionales creen que debido a que todo el tráfico de clientes pasará a través del nodo de administración, el nodo de administración puede convertirse fácilmente en un cuello de botella para todo el sistema. Pero TurboCluster Server resuelve inteligentemente el problema mediante un enrutamiento directo avanzado o un mecanismo de reenvío de túnel IP. Esto permite que todo el tráfico de respuesta del cliente regrese directamente desde el nodo de servicio al cliente sin pasar nuevamente por el nodo de administración. Como todos sabemos, para los proveedores de servicios, el tráfico entrante es mucho menor que el tráfico saliente, por lo que el nodo de gestión en sí ya no será un cuello de botella.
Los métodos de implementación específicos de distribución de tráfico incluyen enrutamiento directo, túneles IP y traducción de direcciones de red. TurboCluster Server actualmente admite los dos primeros más eficientes. Debido a esta estructura y tecnología avanzadas, no existe un límite superior en la cantidad de nodos de servicio en el clúster de TurboCluster Server, y también se puede garantizar muy bien la eficiencia del trabajo colaborativo de una gran cantidad de nodos.
3. Perspectivas de mercado
La tecnología de clústeres se ha desarrollado durante muchos años y hay muchas ramas. En la actualidad, la tecnología de clúster se está moviendo gradualmente hacia una estructura jerárquica y definitivamente habrá productos de clúster dedicados al usuario front-end y back-end en el futuro.
Con la mejora gradual del estado de las aplicaciones informáticas y la creciente importancia de la seguridad y la importancia del sistema, la tecnología de clúster definitivamente tendrá perspectivas de aplicación extremadamente amplias.