Publicado el 5 de Abril del 2020
547 visualizaciones desde el 5 de Abril del 2020
1,2 MB
26 paginas
Creado hace 12a (16/10/2012)
Es un grupo de servidores lo cuales cooperan
entre ellos para proveer un servicio, incluso al
momento de la falla de un componente
Cuando una nodo pierde conectividad, los
otros retoman su rol
Esto involucra apropiarse de la ip y de los
servicio que proveía el nodo que perdió
conectividad
Las principales características desarrolladas
para el proyecto de linux-HA son:
◦ Sin numero maximo de nodos
◦ Monitoreo de recursos: los recursos pueden ser
reiniciados o movidos a otro nodo si se presenta
una falla
◦ mecanismo de cera (fencing) para eliminar nodos
fallidos del cluster
◦ scripts para los servicios mas comunes (Apache,
DB2, Oracle, PostgreSQL etc.)
Puntos únicos de fallo (Single Points of Failure
SPOFs)
◦ Un único punto de fallo es un componente cuyo
fallo provocará casi inmediato fracaso de todo un
sistema o servicio
◦ Un buen diseño HA elimina los puntos únicos de
fallo.
Como se logra ?
◦ Comunicaciones redundantes
◦ Acceso redundante a la data
◦ Mecanismo de detección de fallas
◦ Mecanismo de contención de fallas
El proyecto de Linux-HA (High-Availability
Linux) es un proyecto dedicado a crear
soluciones de alta disponibilidad para Linux,
el mismo
la
confiabilidad, disponibilidad
se basa en promover
La pieza fundamental de este proyecto es el
heartbeat
HA-linux capacidades:
Puede usar conexiones seriales, UDP bcast, mcast,
ucast comm.
Conmutación por error en caso de fallo del nodo
Conmutación por error en la pérdida de la
conectividad IP
herramientas de línea de comandos administrativos
para conmutar por error, el estado actual de
consultas, etc.
Activo/Activo o Activo/Pasivo
Utiliza herramientas externas para el monitoreo de
los recursos
Monitoreo SNMP
Heartbeat es un demonio que proporciona la
infraestructura de cluster de servicios a sus
clientes. Esto permite a los clientes saber
sobre la presencia (o no) De los procesos de
pares en otras máquinas e intercambiar
fácilmente mensajes con ellos.
Para realizar su trabajo, Heartbeat emite un
latido el cual determina la presencia de los
recurso requeridos en las otras maquinas, el
mismo debe que ser combinado con un
administrador de recursos de clúster (CRM),
el cual la tarea de iniciar y detener los
servicios (direcciones IP, servidores web, etc)
que se agrupan, para así poder ofrecer la
altamente disponible.
Balanceador de carga (Load balancer): es la
interfaz de usuario para el servicio, tal y
como es visto por el mundo exterior. El
Balanceador de carga dirige las conexiones
de red de los clientes que conocen una única
dirección IP para los servicios, a un conjunto
de servidores que son los que realmente
realizan el trabajo.
Piscina de servidores (Server Pools): consiste
en un clúster de servidores que implementan
los servicios tales como web, ftp, correo,
DNS, etc.
Almacenamiento
(Backend
storage),
proporciona el almacenamiento compartido
para los servidores, por lo que es fácil para
los servidores para mantener el mismo
los mismos
contenido
servicios.
y proporcionar
LVS-NAT
◦ El balanceador de carga y los servidores reales
están interconectados en el mismo segmento de
red.
◦ Cuando llega una petición al balanceador de carga
el mismo , la reenvía al servidor real (para esta
analiza la ip y puerto destino ), dependiendo del
algoritmo de balanceo de carga.
◦ La dirección ip y el puerto destino son reescritos y
reenviado a uno de los servidores reales. Cuando el
paquete pertenece a una conexión establecida , el
servidor busca en la tabla hash para reescribir el
destino
LVS-NAT
◦ Cuando el paquete es respondido por el servidor
real el mismo se lo entrega al balanceador de carga
y se reescribe la discreción IP y puerto origen.
◦ Al terminarse la conexión se borra la entrada de la
tabla hash del balanceador de carga
LVS-TUN
◦ El balanceador de carga y los servidores reales
están interconectados sin importar su ubicación
lógica ni física red.
◦ Cuando llega una petición al balanceador de carga
el mismo , la encapsula y reenvía al servidor real
(para esta analiza la ip y puerto destino ),
dependiendo del algoritmo de balanceo de carga.
◦ Cuando el paquete pertenece a una conexión
establecida , el servidor busca en la tabla hash para
reescribir el destino
LVS-TUN
◦ Cuando el paquete es recibido por el servidor real
el mismo desencapsula la petición y responde la
petición reescribiendo la discreción IP y puerto
origen.
◦ Al terminarse la conexión se borra la entrada de la
tabla hash del balanceador de carga
LVS-DR
◦ El balanceador de carga y los servidores reales están
interconectados en el mismo segmento de red.
◦ La ip real es compartida por el balanceador de carga y
los servidores reales, y en los servidores reales la misma
se encuentra configurada en la interfaz loopback
◦ Cuando llega una petición al balanceador de carga el
mismo , la reenvía al servidor real (para esta solo se
cambia la dirección mac de destino ), dependiendo del
algoritmo de balanceo de carga.
◦ Cuando el paquete pertenece a una conexión establecida
, el servidor busca en la tabla hash para reescribir la
dirección mac del destino
LVS-DR
◦ Cuando el paquete es recibido por el servidor real
el mismo responde la petición.
◦ Al terminarse la conexión se borra la entrada de la
tabla hash del balanceador de carga
◦ Los servidores reales no deben responder a
peticiones MAC (ARP response)
Server
LVS/NAT
any
server network
private
LVS/TUN
tunneling
LAN/WAN
LVS/DR
non-arp dev
LAN
server number
low (10˜20)
high (100)
high (100)
server gateway
load balancer
own router
own router
Las Técnicas de programación de conexiones
(Connection Scheduling) usadas por lvs son:
Round-Robin
Weighted Round-Robin
LeastConnection
Weighted Least-Connection
El algoritmo de planificación Round-robin
dirige las conexiones de red a los diferentes
servidores tratando a todos los servidores
reales de igual forma independientemente
del número de conexiones o el tiempo de
respuesta.
El
algoritmo de planificación Weighted
Round-robin dirige las conexiones de red a
los diferentes servidores tratando a todos los
servidores reales según sus capacidades.
El
algoritmo
planificación
LeastConnection dirige las conexiones de
red al servidores con menos conexiones.
de
El algoritmo de planificación Weighted Least-
Connection dirige las conexiones de red a
los servidores con un calculo entre sus
capacidades y su numero de conexiones
Comentarios de: Fundamentos de Alta disponibilidad y balanceo de carga (0)
No hay comentarios