Théorie + expérience: cluster d'équilibrage de charge LVS

Premièrement, le principe du cluster d'équilibrage de charge

1.1 Vue d'ensemble des applications de cluster d'entreprise

■ La signification du cluster

  • Cluster, cluster, cluster
  • Se compose de plusieurs hôtes, mais n'apparaît qu'en externe comme un tout

■ Problème

  • Dans les applications Internet, les sites ayant des exigences de plus en plus élevées en termes de performances matérielles, de vitesse de réponse, de stabilité du service, de fiabilité des données, etc., un seul serveur ne peut pas le faire

■ Solution

  • Utilisez des mini-ordinateurs et des mainframes coûteux
  • Utilisez des serveurs ordinaires pour créer des clusters de services

1.2 Classification des grappes d'entreprises-1

■ Selon la différence cible du cluster, il peut être divisé en trois types

  • Cluster d'équilibrage de charge
  • Cluster haute disponibilité (un actif et un en veille)
  • Cluster de calcul haute performance (cluster ultra haute performance)

■ Cluster d'équilibrage de charge

  • Pour améliorer la réactivité du système d'application, traiter autant de demandes d'accès que possible et réduire la latence comme objectif, pour obtenir des performances globales élevées et à charge élevée (LB)
  • La répartition de la charge de LB dépend de l'algorithme de distribution du nœud maître

1.3 Classification des clusters d'entreprise-2

■ Cluster haute disponibilité

  • Pour améliorer la fiabilité du système d'application et réduire au maximum le temps d'interruption, assurer la continuité du service et obtenir l'effet de tolérance aux pannes haute disponibilité (HA)
  • Le mode de fonctionnement de HA comprend les modes duplex et maître-esclave

■ Cluster d'ordinateurs hautes performances

  • Dans le but d'augmenter la vitesse de calcul du processeur du système d'application, d'étendre les ressources matérielles et les capacités d'analyse, d'obtenir des capacités de calcul haute performance (HPC) équivalentes aux supercalculateurs à grande échelle
  • Les hautes performances du cluster de calcul haute performance reposent sur le «calcul distribué» et le «calcul parallèle». Le processeur, la mémoire et les autres ressources de plusieurs serveurs sont intégrés via du matériel et des logiciels dédiés pour atteindre des capacités de calcul que seuls les grands et les supercalculateurs possèdent.

1.4 Architecture de cluster d'équilibrage de charge

■ Structure d'équilibrage de charge

  • La première couche, le planificateur de charge (Load Balancer ou Director)
  • La deuxième couche, le pool de serveurs (pool de serveurs)
  • La troisième couche, le stockage partagé (partage de stockage)
    Insérez la description de l'image ici

2. Maîtrisez le mode de travail de l'équilibrage de charge

2.1 Analyse du mode de fonctionnement du cluster d'équilibrage de charge

■ Le cluster d'équilibrage de charge est actuellement le type de cluster le plus couramment utilisé dans les entreprises.
■ Il existe trois modes de fonctionnement pour la technologie de planification de charge de cluster

  • Traduction d'adresse
  • Tunnel IP
  • Routage direct

2.2 Mode NAT

■ Conversion d'adresse

  • Traduction d'adresse réseau, appelée mode NAT
  • Semblable à la structure de réseau privé du pare-feu, le planificateur de charge agit comme la passerelle de tous les nœuds de serveur, c'est-à-dire comme entrée d'accès du client, ainsi que comme sortie d'accès de chaque nœud en réponse au client
  • Le nœud de serveur utilise une adresse IP privée et est situé sur le même réseau physique que le planificateur de charge, et la sécurité est meilleure que les deux autres méthodes
    Insérez la description de l'image ici

2.3 Mode TUN

■ Tunnel IP

  • Tunnel IP, mode TUN pour faire court
  • Adoptant une structure de réseau ouverte, le planificateur de charge ne sert que de portail d'accès au client, et chaque nœud répond directement au client via sa propre connexion Internet, au lieu de passer par le planificateur de charge
  • Les nœuds de serveur sont dispersés à différents endroits sur Internet, ont des adresses IP publiques indépendantes et communiquent avec le planificateur de charge via un tunnel IP dédié
    Insérez la description de l'image ici

2.4 Mode DR

■ Routage direct

  • Routage direct, appelé mode DR
  • Il adopte une structure de réseau semi-ouverte, qui est similaire à la structure du modèle TUN, mais les nœuds ne sont pas dispersés partout, mais sont situés sur le même réseau physique que l'ordonnanceur
  • Le planificateur de charge est connecté à chaque serveur de nœud via le réseau local, sans qu'il soit nécessaire d'établir un tunnel IP dédié
    Insérez la description de l'image ici

2.5 À propos de LVS Virtual Server-1

■ Algorithme de planification de charge LVS

  • Tournoi à la ronde
    • Les demandes d'accès reçues sont allouées à chaque nœud (serveur réel) du cluster à tour de rôle dans l'ordre, et chaque serveur est traité de la même manière, quel que soit le nombre réel de connexions et la charge système du serveur
  • Round Robin pondéré
    • Répartissez les demandes en fonction de la valeur de pondération définie par le planificateur. Le nœud avec la valeur de pondération recevra la tâche en premier et plus il y aura de demandes allouées
    • Assurez-vous que le serveur aux performances élevées supporte plus de trafic d'accès

2.6 À propos de LVS Virtual Server-2

■ Algorithme de planification de charge LVS

  • Moins de connexion
    • Attribuer en fonction du nombre de connexions établies par le serveur réel, et prioriser les demandes d'accès reçues au nœud avec le moins de connexions
    • Moins de connexion pondérée
      • Lorsque les performances des nœuds de serveur diffèrent considérablement, le poids peut être automatiquement ajusté pour le serveur réel
      • Les nœuds avec des performances plus élevées supporteront une plus grande proportion de charge de connexion active

2.7 Utiliser l'outil ipvsadm

■ Création et gestion de cluster LVS
Insérez la description de l'image ici

2.8 Service de stockage partagé NFS-1

■ Système de fichiers réseau, système de fichiers réseau

  • S'appuyer sur RPC (appel de procédure à distance)
  • Besoin d'installer nfs-utils, progiciel rpcbind
  • Service système: nfs, rpcbind
  • Fichier de configuration partagé: / etc / exports

2.9 Service de stockage partagé NFS-2

■ Utiliser NFS pour publier des ressources partagées

  • Installer les progiciels nfs-utils, rpcbind
  • Configurer un répertoire partagé
  • Démarrez le programme de service NFS
  • Afficher le répertoire partagé NFS publié par la machine

2.10 Service de stockage partagé NFS-3

■ Accéder aux ressources partagées NFS dans le client

  • Installez le package rpcbind et démarrez le service rpcbind
  • Monter manuellement le répertoire partagé NFS
  • paramètres de montage automatique fstab

Troisièmement, pratique de déploiement LVS-NAT

IP地址规划:
1、调度器
对外公网:20.0.0.6(NAT) 业务端口号:80       开启路由转发功能      ###不用配网关
私有网络:192.168.200.21(VM1)                                                   ###不用配网关

2、WE1	
私有网络:192.168.200.22(VM1)网关:192.168.200.21

3、WE2
私有网络:192.168.200.23(VM1)网关:192.168.200.21

4、存储
私有网络:192.168.200.24(VM1)网关:192.168.200.21

环境配置:
关闭防火墙、关闭核心防护、安装yum源    ###四台都要这样的环境。前面的博客教过,这里不写了。
调度器服务器配置:

###添加一块网卡###
[root@localhost ~]# nmcli connection  ###查看一下加的新的网卡UUID号
1b17e3d8-6882-3d70-8ab8-c14fa3796a5a ### 保存新的UUID号
[root@localhost ~]# cd /etc/sysconfig/network-scripts/ ###进入到这个目录里
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens36 ###复制ens33 创建新的ens36
[root@localhost network-scripts]# vi ifcfg-ens36  ###编辑里面的名字,把33改成36,uuid改成刚刚查看保存的,ip地址改成192.168.200.21,和一个子网掩码就好了,别的不需要。

[root@localhost ~]# yum -y install ipvsadm.x86_64   ###安装负载均衡分发策略工具
[root@localhost ~]# modprobe ip_vs  ###加载这个模块
[root@localhost ~]# cat /proc/net/ip_vs  ###查看一下这个模块加载情况
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port Forward Weight ActiveConn InActConn

1、创建虚拟服务器
[root@localhost ~]# ipvsadm -A -t 20.0.0.6:80 -s rr   ###添加虚拟主机,-t是给客户用的后面加ip地址,-s调用算法 rr允许

2、添加服务器节点
[root@localhost ~]# ipvsadm -a -t 20.0.0.6:80 -r 192.168.200.22:80 -m  ###配置去web1服务器的
[root@localhost ~]# ipvsadm -a -t 20.0.0.6:80 -r 192.168.200.23:80 -m  ###配置去web2服务器的

3、保存LVS策略
[root@localhost ~]# ipvsadm-save > /opt/ipvsadm     ###保存策略追加到/opt/ipvsadm

4、开启调度服务器路由转发功能
[root@localhost ~]# vi /etc/sysctl.conf       
net.ipv4.ip_forward = 1                  ###在最后添加一条
[root@localhost ~]# sysctl -p             ###刷新生效一下
net.ipv4.ip_forward = 1
存储服务器配置:
[root@localhost ~]# rpm -q nfs-utils          ###查看一下nfs是否安装
package nfs-utils is not installed             ###没有安装
[root@localhost ~]# yum -y install nfs-utils   ###安装一下nfs
[root@localhost ~]# rpm -q rpcbind           ###查看一下rpcbind是否安装
rpcbind-0.2.0-42.el7.x86_64                                ###安装了,如果没有安装就yum安装一下 ,yum -y install  rpcbind 

[root@localhost ~]# mkdir /opt/51xit /opt/52xit     ###创建两个目录
[root@localhost opt]# echo 'this is 51xit' >/opt/51xit/index.html     ###在51xit目录里创建一个网页
[root@localhost opt]# echo 'this is 52xit' >/opt/52xit/index.html     ###在52xit目录里创建一个网页

[root@localhost opt]# vi /etc/exports      ###发布出去
/opt/51xit 192.168.200.0/24(rw,sync)       
/opt/52xit 192.168.200.0/24(rw,sync)

[root@localhost opt]# systemctl restart nfs rpcbind     ###重启一下
[root@localhost opt]# systemctl enable nfs rpcbind     ###开机自启

[root@localhost opt]# showmount -e  ###检查一下服务
Export list for localhost.localdomain:
/opt/52xit 192.168.200.0/24         ###这两个就是刚刚共享出去的
/opt/51xit 192.168.200.0/24         ###这两个就是刚刚共享出去的
WE1配置:
[root@localhost ~]# rpm -q nfs-utils          ###查看一下nfs是否安装
package nfs-utils is not installed             ###没有安装
[root@localhost ~]# yum -y install nfs-utils   ###安装一下nfs
[root@localhost ~]# rpm -q rpcbind           ###查看一下rpcbind是否安装
rpcbind-0.2.0-42.el7.x86_64                                ###安装了,如果没有安装就yum安装一下 ,yum -y install  rpcbind 

[root@localhost ~]# showmount -e 192.168.200.24   ###查看一下是否显示共享的
Export list for 192.168.200.24:
/opt/52xit 192.168.200.0/24
/opt/51xit 192.168.200.0/24

[root@localhost ~]# yum -y install httpd          ###安装Apache服务
[root@localhost ~]# systemctl restart httpd     ###重启Apache服务
[root@localhost ~]# systemctl enable httpd     ###开机自启Apache

[root@localhost ~]# mount 192.168.200.24:/opt/51xit /var/www/html/   ###临时挂载
###测试:浏览器输入192.168.200.22就能显示51的网页###

[root@localhost ~]# vi /etc/fstab    ###永久挂载
192.168.200.24:/opt/51xit /var/www/html nfs defaults,_netdev 0 0
WE2配置:
[root@localhost ~]# rpm -q nfs-utils          ###查看一下nfs是否安装
package nfs-utils is not installed             ###没有安装
[root@localhost ~]# yum -y install nfs-utils   ###安装一下nfs
[root@localhost ~]# rpm -q rpcbind           ###查看一下rpcbind是否安装
rpcbind-0.2.0-42.el7.x86_64                                ###安装了,如果没有安装就yum安装一下 ,yum -y install  rpcbind 

[root@localhost ~]# showmount -e 192.168.200.24   ###查看一下是否显示共享的
Export list for 192.168.200.24:
/opt/52xit 192.168.200.0/24
/opt/51xit 192.168.200.0/24

[root@localhost ~]# yum -y install httpd          ###安装Apache服务
[root@localhost ~]# systemctl restart httpd     ###重启Apache服务
[root@localhost ~]# systemctl enable httpd     ###开机自启Apache

[root@localhost ~]# mount 192.168.200.24:/opt/52xit /var/www/html/   ###临时挂载
###测试:浏览器输入192.168.200.22就能显示52的网页###

[root@localhost ~]# vi /etc/fstab    ###永久挂载
192.168.200.24:/opt/52xit /var/www/html nfs defaults,_netdev 0 0
测试:浏览器输入20.0.0.6,显示的内容51xit,等一会刷新就会变成52xit,就实现了负载均衡

Insérez la description de l'image ici
Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/weixin_44733021/article/details/108710313
conseillé
Classement