Aplicación de clúster LVS
Descripción general de la aplicación de clúster empresarial
El significado de los racimos
- Clúster, clúster, clúster
- Consta de varios hosts, pero solo externamente aparece como un todo
Frente al problema
- En las aplicaciones de Internet, como los sitios tienen requisitos cada vez más altos para el rendimiento del hardware, la velocidad de respuesta, la estabilidad del servicio y la confiabilidad de los datos, un solo servidor no puede hacerlo.
Solución
- Utilice miniordenadores y mainframes costosos
- Utilice servidores normales para crear clústeres de servicios
Clasificación de clústeres empresariales
Según la diferencia de destino del grupo, se puede dividir en tres tipos
- Clúster de equilibrio de carga
- Clúster de alta disponibilidad
- Clúster de computación de alto rendimiento
Clúster de equilibrio de carga
- Mejore la capacidad de respuesta del sistema de aplicaciones, maneje tantas solicitudes de acceso como sea posible, reduzca la latencia como objetivo y obtenga una alta concurrencia y un rendimiento general de alta carga (LB)
- La distribución de carga de LB depende del algoritmo de distribución del nodo maestro
Clúster de alta disponibilidad
- El objetivo es mejorar la confiabilidad del sistema de aplicación, reducir el tiempo de interrupción tanto como sea posible, garantizar la continuidad del servicio y lograr el efecto de tolerancia a fallas de alta disponibilidad (HA).
- El modo de trabajo de HA incluye modos dúplex y maestro-esclavo
Clúster de computadoras de alto rendimiento
- El objetivo es mejorar la velocidad de computación de la CPU del sistema de aplicaciones, expandir los recursos de hardware y las capacidades de análisis, y obtener las capacidades de computación de alto rendimiento (HPC) equivalentes a las supercomputadoras a gran escala.
- El alto rendimiento se basa en la "computación distribuida" y la "computación paralela". La CPU, la memoria y otros recursos de varios servidores están integrados a través de hardware y software dedicados para lograr la potencia de computación que solo tienen las supercomputadoras grandes y.
Estructura de equilibrio de carga
- La primera capa, programador de carga (Load Balancer o Director)
- La segunda capa, el grupo de servidores (grupo de servidores)
- La tercera capa, almacenamiento compartido (almacenamiento compartido)
La tecnología de programación de carga del clúster tiene tres modos de trabajo
- Traducción de direcciones
- Túnel IP
- Enrutamiento directo
Acerca del servidor virtual LVS
Algoritmo de programación de carga LVS
-
Round Robin (Round Robin)
- Las solicitudes de acceso recibidas se asignan a cada nodo (servidor real) en el clúster en orden, y cada servidor se trata por igual, independientemente del número real de conexiones y la carga del sistema del servidor.
-
Round Robin ponderado
- Las solicitudes se distribuyen de acuerdo con el valor de peso establecido por el planificador. El nodo con el valor de peso más alto obtiene la tarea primero y se asignan más solicitudes.
- Asegúrese de que el servidor con un rendimiento sólido soporta más tráfico de acceso.
-
Conexiones mínimas
- La asignación se realiza según el número de conexiones establecidas por el servidor real, y la solicitud de acceso recibida se asigna preferentemente al nodo con el menor número de conexiones.
-
Conexiones menos ponderadas
- Cuando el rendimiento de los nodos del servidor difiere mucho, el peso se puede ajustar automáticamente para el servidor real.
- Los nodos con mayor rendimiento soportarán una mayor proporción de la carga de conexión activa.
Caso: combate de despliegue LVS-NAT
alrededores
- Como puerta de enlace del grupo de servidores web, el programador LVS tiene dos tarjetas de red LVS, que están conectadas a las redes internas y externas respectivamente, utilizando el algoritmo de programación round-robin (rr).
Planificación de direcciones IP
nombre | IP | Puerta |
---|---|---|
planificador | Red pública externa: 20.0.0.21 (NAT) | / |
planificador | Red privada: 192.168.100.21 (VM1) | / |
WE1 | Red privada: 192.168.100.22 (VM1) | 192.168.100.21 |
WE2 | Red privada: 192.168.100.23 (VM1) | 192.168.100.21 |
Servidor de almacenamiento | 192.168.100.24 (VM1) | 192.168.100.21 (opcional o no) |
Maquina real | 20.0.0.1 (VM8) | 20.0.0.21 |
Configuración del programador (192.168.100.21)
[root@localhost ~]# yum -y install ipvsadm
[root@localhost ~]# modprobe ip_vs ##加载ip_vs模块
[root@localhost ~]# cat /proc/net/ip_vs ##查看ip_vs模块是否加载成功
[root@localhost ~]# ipvsadm -A -t 20.0.0.21:80 -s rr ##创建虚拟服务器
[root@localhost ~]# ipvsadm -a -t 20.0.0.21:80 -r 192.168.100.22:80 -m ##添加服务器节点
[root@localhost ~]# ipvsadm -a -t 20.0.0.21:80 -r 192.168.100.23:80 -m
[root@localhost ~]# ipvsadm -ln ##查看节点状态
[root@localhost ~]# ipvsadm-save > /opt/ipvsadm ##保存负载分配策略
[root@localhost ~]# cat /opt/ipvsadm ##确认保存结果
[root@localhost ~]# vi /etc/sysctl.conf ##开启调度服务器路由转发功能
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -p ##让内核参数立即生效
Configuración del servidor de almacenamiento (192.168.100.24)
[root@localhost ~]# rpm -q nfs-utils ##最小化安装需要yum -y install nfs-utils
[root@localhost ~]# rpm -q rpcbind ##最小化安装需要yum -y install rpcbind
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# mkdir /opt/51xit /opt/52xit ##创建两个目录
[root@localhost ~]# echo "this is www.51xit.top" >/opt/51xit/index.html
[root@localhost ~]# echo "this is www.52xit.top" >/opt/52xit/index.html
[root@localhost opt]# vi /etc/exports ##配置NFS服务器的相关信息
/opt/51xit 192.168.100.0/24(rw,sync)
/opt/52xit 192.168.100.0/24(rw,sync)
[root@localhost opt]# systemctl restart nfs rpcbind ##重启
[root@localhost opt]# systemctl enable nfs rpcbind ##开机自启
[root@localhost opt]# showmount -e ##查询NFS服务器的相关信息(仅显示被客户挂载的目录名)
Export list for localhost.localdomain:
/opt/52xit 192.168.100.0/24
/opt/51xit 192.168.100.0/24
Configuración WE1 (192.168.100.22)
[root@localhost ~]# showmount -e 192.168.100.24
Export list for 192.168.100.24:
/opt/52xit 192.168.100.0/24
/opt/51xit 192.168.100.0/24
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# mount 192.168.100.24:/opt/51xit /var/www/html/ ##临时挂载
[root@localhost ~]# vi /etc/fstab ##永久挂载
192.168.100.24:/opt/51xit /var/www/html nfs defaults,_netdev 0 0
[root@localhost ~]# init 6 ##最好重启检测下
### Inicie sesión en 192.168.100.22 para comprobar si el sitio web es normal ####
Configuración WE2 (192.168.100.23)
[root@localhost ~]# showmount -e 192.168.100.24
Export list for 192.168.100.24:
/opt/52xit 192.168.100.0/24
/opt/51xit 192.168.100.0/24
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# mount 192.168.100.24:/opt/52xit /var/www/html/ ##临时挂载
[root@localhost ~]# vi /etc/fstab ##永久挂载
192.168.100.24:/opt/52xit /var/www/html nfs defaults,_netdev 0 0
[root@localhost ~]# init 6 ##重启测试
### Inicie sesión en 192.168.100.23 para comprobar si el sitio web es normal ####
Adicional:
Agregue una nueva tarjeta de red (ens37):
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens37 #复制ens33到ens37
[root@localhost ~]# nmcli connection ##查看UUID信息
[root@localhost ~]# route -n ##查看路由条目 把地址以数字的形式显示
Nota: ¡
Cada UUID solo puede ser utilizado por una tarjeta de red! !
[Problemas que pueden surgir]
[root@localhost ~]# showmount -e 192.168.100.24
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
[root@localhost ~]# showmount -e
Export list for localhost.localdomain:
【solución】
(1) Verifique el firewall y la protección del núcleo
[root@localhost ~]# systemctl status firewalld
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
(2) Compruebe si la lista compartida está configurada
[root@localhost ~]# cat /etc/exports
/opt/51xit 192.168.100.0/24(rw,sync)
/opt/52xit 192.168.100.0/24(rw,sync)
[root@localhost ~]# systemctl restart nfs
[root@localhost ~]# systemctl restart rpcbind
[root@localhost ~]# systemctl enable nfs
[root@localhost ~]# systemctl enable rpcbind