qué es un cluster.pdf
TRANSCRIPT
¿Qué es un cluster?
En sentido genérico, un cluster es un conjunto de máquinas funcionando como unidad
y trabajando juntas para tratar una única tarea, ahora bien, un MySQL Cluster se refiere a
un grupo de máquinas trabajando juntas usando el motor de almacenamiento NDB
(“Network Database”) de MySQL para implementar almacenamiento de datos,
recuperación y administración distribuida entre varias máquinas, lo que nos permite
soportar una base de datos MySQL distribuída en una arquitectura de compartición nula
usando almacenamiento en memoria.
Como mínimo se necesitan tres máquinas para la ejecución de un cluster, sin embargo,
el número mínimo recomendado en MySQL Cluster es cuatro: una para el nodo de
administración y otra para el de SQL, y dos para servir como nodos de almacenamiento. El
propósito de los dos nodos de datos es proporcionar redundancia; el nodo de
administración debe ejecutarse en una máquina separada para garantizar servicio de
arbitración continuo en caso que un nodo de datos falle.
Para que un clúster funcione como tal, no basta solo con conectar entre sí los
ordenadores, sino que es necesario proveer un sistema de manejo del clúster, el cual se
encargue de interactuar con el usuario y los procesos que corren en él para optimizar el
funcionamiento.
¿Qué hacen las distintas máquinas en un cluster?
Un MySQL Cluster tiene organización física y lógica, con máquinas como elementos
físicos. Los elementos lógicos son los nodos, y una máquina hospedando un nodo es
un huésped cluster. Idealmente, habrá un nodo por huésped cluster, aunque es
posible ejecutar más de un nodo en una máquina. Hay tres tipos de nodos, cada uno
correspondiente a un rol específico en el cluster. Son:
a. nodo de administración (nodo MGM) : Proporciona servicios de administración
para todo el cluster, incluyendo arranque, parada, copias de seguridad, y datos de
configuración en otros nodos. El nodo de administración se implementa como la
aplicación ndb_mgmd; el cliente de administración usado para controlar MySQL
Cluster via nodo MGM es ndb_mgm.
b. nodo de datos: Almacena y replica datos. La funcionalidad de los nodos de datos
la trata una instancia del proceso NDB ndbd.
c. nodo SQL: Símplemente es una instancia de MySQL Server (mysqld) arrancado
con la opción --ndb-cluster.
Características:
Para comunicación entre nodos, el clúster soporta red TCP/IP en cualquier topología
estándar, y como mínimo se espera una red 100 Mbps Ethernet, más un switch, hub, o
router para proporcionar conectividad de red al clúster entero. Recomendamos que
MySQL Clúster se ejecute en su subred que no está compartida con máquinas no-clúster
por las siguientes razones:
Seguridad: La comunicación entre nodos del clúster no está cifrada. La única forma de
proteger transmisiones dentro de un MySQL Clúster es ejecutar su clúster en una red
protegida.
Eficiencia: Inicializar un MySQL Clúster en una red privada o protegida permite
que el clúster haga uso exclusivo del ancho de banda entre máquinas del clúster.