Compartir tecnología

Clúster LVS-DR

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Clúster LVS-DR

El modo de trabajo LVS-DR (Linux Virtual Server DIrector Server) es el modo de trabajo más utilizado en entornos de producción.

Principio de funcionamiento del LVS-DR

En el modo LVS-DR, Director Server sirve como entrada de acceso al clúster y no se utiliza como puerta de enlace. El nodo DirectorServer y Real Server deben estar en la misma red y no es necesario que los datos devueltos al cliente vayan. a través del servidor director. Para responder al acceso a todo el clúster, tanto Director Server como Real Server deben configurarse con direcciones VIP.

Análisis de flujo de paquetes LVS-DR

Cómo funciona el modo DR

  1. El cliente envía una solicitud al Servidor Director y el paquete de datos solicitado (la IP de origen es CIP, la IP de destino es VIP) llega al espacio del kernel.
  2. Director Server y Real Server están en la misma red y los datos se transmiten a través de la capa de enlace de datos de la segunda capa.
  3. El espacio del kernel determina que la IP de destino del paquete de datos es el VIP local. En este momento, IPVS compara si el servicio solicitado por el paquete de datos es un servicio de clúster y vuelve a encapsular el paquete de datos. . Modifique la dirección MAC de origen a la dirección MAC del Servidor Director, modifique la dirección MAC de destino a la dirección MAC del Servidor Real, la dirección IP de origen y la dirección IP de destino permanecen sin cambios y luego envíe el paquete de datos al Servidor Real
  4. Si la dirección MAC del mensaje de solicitud que llega al Servidor Real es su propia dirección MAC, se recibirá el mensaje. El paquete de datos se vuelve a encapsular (la dirección IP de origen es VIP y la IP de destino es CIP), y el mensaje de respuesta se envía a la tarjeta de red física a través de la interfaz lo y luego se envía.
  5. Real Server transmite directamente el mensaje de respuesta al cliente

Características del modo LVS-DR

  • Director Server y Real Server deben estar en la misma red física
  • Real Server puede utilizar direcciones privadas o direcciones públicas.Si utiliza una dirección de red pública, puede acceder directamente a RIP a través de Internet.
  • Todos los mensajes de solicitud pasan a través de Director Server, pero los mensajes de respuesta no pueden pasar a través de Director Server.
  • La puerta de enlace de Real Server no puede apuntar a la IP del Director Server, es decir, los paquetes de datos no pueden pasar a través del Director Server.
  • La interfaz lo en Real Server configura la dirección IP del VIP

Ejemplo de modo de enrutamiento directo LVS

#配置负载调度器
#配置虚拟IP地址VIP
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@localhost network-scripts]# vi ifcfg-ens33:0
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.10.172
NETMASK=255.255.255.0
[root@localhost network-scripts]# systemctl restart network
#调整内核参数,禁止转发重定向报文由于 LVS 负载调度器和各节点需要共用 VIP 地址,应该关闭Linux 内核的重定向
[root@localhost ~]# vi /etc/sysctl.conf
#调整内核参数
net.ipv4.conf.all.send_redirects = 0 #重定向禁止
net.ipv4.conf.default.send_redirects = 0 #默认禁止网卡重定向
net.ipv4.conf.ens33.send_redirects = 0    #指定网卡禁止重定向
[root@localhost ~]# sysctl -p
#配置负载分配策略
[root@localhost ~]#yum -y install ipvsadm
[root@localhost ~]#ipvsadm -v           \查看版本
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]#ipvsadm -C
[root@localhost ~]# ipvsadm -A -t 192.168.10.172:80 -s wrr
[root@localhost ~]# ipvsadm -a -t 192.168.10.172:80 -r 192.168.10.102 -g -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.172:80 -r 192.168.10.103 -g -w 1
[root@localhost ~]# ipvsadm-save
-A -t localhost.localdomain:http -s rr
-a -t localhost.localdomain:http -r 192.168.10.102:http -g -w 1
-a -t localhost.localdomain:http -r 192.168.10.103:http -g -w 2
[root@localhost ~]# systemctl enable ipvsadm
-g:直接路由模式
#配置web节点服务器
#配置虚拟ip地址VIP
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]#cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vi ifcfg-lo:0
#修改
DEVICE=lo:0
NETMASK=255.255.255.255           子网掩码必须为255.255.255.255
IPADDR=192.168.10.172
ONBOOT=yes
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ifconfig
[root@localhost network-scripts]# cd 
[root@localhost ~]# vi /etc/rc.local
#添加
/sbin/route add -host 192.168.10.172 dev lo:0
[root@localhost ~]# route add -host 192.168.10.172 dev lo:0
#调整内核参数
[root@localhost ~]# vi /etc/sysctl.conf
#添加
net.ipv4.conf.all.arp_ignore = 1 #忽略arp请求
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
[root@localhost ~]# sysctl -p
#安装httpd创建测试网页
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# yum install nfs-utils
[root@localhost ~]# mount 192.168.10.104:/opt/wwwroot /var/www/html
[root@localhost ~]#vi /var/www/html/index.html