当前位置:网站首页>Cluster I - LVS Load Balancing Cluster Nat Mode and LVS Load Balancing Field Deployment

Cluster I - LVS Load Balancing Cluster Nat Mode and LVS Load Balancing Field Deployment

2022-06-21 21:12:00 FYR

1 Cluster

Cluster,Cluster、Cluster,Composé de plusieurs hôtes,Mais à l'extérieur,Se comporter comme un tout,Un seul accès est disponible(Nom de domaine ouIP),équivalent à un ordinateur central

1.1 Problèmes et solutions pour les Clusters

Il y a un problème.
Dans les applications Internet,Avec les performances du site sur le matériel、Vitesse de réponse、Stabilité du Service、Les exigences en matière de fiabilité des données augmentent,Un seul serveur ne peut pas répondre aux exigences d'équilibrage de charge et de disponibilité élevée

Solutions

  • Utilisation de petits modèles coûteux、Ordinateur central
  • Construire un cluster de services avec plusieurs serveurs ordinaires relativement bon marché

En consolidant plusieurs serveurs,UtiliserLVSPour une disponibilité élevée du serveur et un équilibrage de charge,Et dans le mêmeIPAdresse pour fournir le même service à l'extérieur.
Une technologie de regroupement couramment utilisée dans les entreprises——LVS(Linux Virtual Server ,LinuxServeur virtuel).

1.2 Classification des grappes

Différences selon les objectifs ciblés par le Groupe,Peut être divisé en trois

  • Cluster d'équilibrage de charge(Load Balance Cluster)
    Améliorer la réactivité du système d'application、Traiter autant de demandes d'accès que possible、Réduire les retards comme objectif,Obtenir une forte concurrence、Charge élevée(LB)Performance globale.
    LBRépartition de la charge basée sur l'algorithme de dérivation du noeud maître,Partager les demandes d'accès des clients à plusieurs noeuds serveur,Pour décharger l'ensemble du système.

  • Clusters très disponibles(High Availability Cluster)
    Améliorer la fiabilité du système d'application、Réduire au minimum les temps d'interruption,Assurer la continuité des services,Haute disponibilité atteinte(HA) L'effet de tolérance aux pannes.
    HALes modes de fonctionnement du système sont duplex et Master slave.,Duplex signifie que tous les noeuds sont en ligne en même temps;Maître esclave n'a que le noeud maître en ligne,Mais en cas de défaillance, le noeud esclave peut automatiquement passer au noeud Maître.
    Par exemple:“FAILOVER”、“Double veille à chaud” Attendez..

  • Clusters haute performance(High Performance Computer Cluster)
    Pour améliorer le système d'applicationCPUVitesse de fonctionnement、Élargir les ressources matérielles et les capacités d'analyse,Obtenir l'équivalent d'une grande、Calcul haute performance du superordinateur(HPC)Capacité.
    La haute performance dépend de"Opérations distribuées”、“Calcul parallèle” , Utiliser du matériel et des logiciels dédiés pourCPU、Les ressources comme la mémoire sont regroupées,L'implémentation n'est que grande、La puissance de calcul d'un superordinateur.Par exemple,“Informatique en nuage”、“Calcul en grille”Attendez..

LVS+KeepalivedCluster

2 Architecture de Cluster d'équilibrage de charge

2.1 Structure d'équilibrage de la charge

  • Premier étage,Régulateur de charge(Load BalancerOuDirector)
    Accès unique à l'ensemble du système groupé, Utilisation externe commune à tous les serveursVIPAdresse,Aussi appelé ClusterIPAdresse.En général, le maître est configuré、Deux régulateurs de secours pour la sauvegarde à chaud,Peut être remplacé en douceur par un régulateur de secours en cas de défaillance du régulateur principal,Assurer une grande disponibilité.

  • Deuxième étage,Pool de serveurs(Server Pool)
    Services d'application fournis par Cluster、Prise en charge par le pool de serveurs,Où chaque noeud a unRIPAdresse(C'est vrai.IP),Traiter uniquement les demandes des clients distribuées par l'ordonnanceur.Lorsqu'un noeud tombe temporairement en panne,Le régulateur de charge est isolé par un mécanisme tolérant les défauts,Attendre que les erreurs soient corrigées avant de réintégrer le pool de serveurs.

  • Troisième étage,Stockage partagé(Share Storage)
    Assure la stabilité de tous les noeuds du pool de serveurs、Service d'accès uniforme aux fichiers, .Assurer l'uniformité dans l'ensemble du cluster le stockage partagé est disponibleNASMatériel,Ou fournirNFSServeur privé pour les services partagés.

2.2 Analyse du mode de fonctionnement des grappes d'équilibrage des charges

Le Cluster d'équilibrage de charge est actuellement le type de Cluster le plus utilisé par les entreprises,Les techniques d'ordonnancement des charges pour les Clusters sont3Mode de fonctionnement

  • Changement d'adresse(NATMode)
  • IPTunnel (TUNMode)
  • Routage direct(DRMode)

2.2.1 NAT Mode

Changement d'adresse
● Network Address Translation,AbréviationsNATMode
● Une structure de réseau privée similaire à un pare - feu,L'ordonnanceur de charge sert de passerelle pour tous les noeuds du serveur,En tant que portail d'accès pour les clients,Est également la sortie d'accès de chaque noeud pour répondre aux clients
● Le noeud serveur utilise la propriété privéeIPAdresse,Sur le même réseau physique que le répartiteur de charge,La sécurité est meilleure que les deux autres

2.2.2 TUN Mode

IPTunnel
● IP Tunnel,AbréviationsTUNMode
● Adopter une architecture de réseau ouverte,Le régulateur de charge n'est qu'un point d'accès pour les clients,Chaque noeud passe par sonInternetConnexion au client de réponse directe,Sans passer par le régulateur de charge
● Les noeuds serveurs sont dispersés à différents endroits sur Internet,Avec un réseau public indépendantIPAdresse,Par l'utilisation exclusiveIPCommunication entre le tunnel et le régulateur de charge

2.2.3 DR Mode

Routage direct
● Direct Routing,AbréviationsDRMode
● Adopter une structure de réseau semi - ouverte,AvecTUNLa structure du modèle est similaire,Mais les noeuds ne sont pas dispersés partout,C'est le même réseau physique que l'ordonnanceur
● Le répartiteur de charge est connecté à chaque serveur de noeud via un réseau local,Il n'est pas nécessaire de créer unIPTunnel

3 LVS Serveur virtuel

  • Linux Virtual Server,PourLinuxSolution d'équilibrage de charge pour le développement du noyau,1998Année5Mois,Créé par le Dr Zhang wensong de notre pays,Site officiel: http://www.linuxvirtualserver.orgl

  • LVS En fait, c'est l'équivalent deIPApplication de virtualisation pour l'adresse, Basé surIPL'équilibrage de la charge pour la distribution des demandes d'adresses et de contenu offre une solution efficace

  • LVSC'est devenuLinuxUne partie du noyau,La compilation par défaut estip_ vsModule,Peut être appelé automatiquement si nécessaire.InCentOS 7Dans le système,Les opérations suivantes peuvent être chargées manuellement:ip_ vsModule,Et voir dans le système actuelip_ vsInformations sur la version du module.

modprobe ip_vs
cat /proc/net/ip_vs    #Vérification interne de la confirmationLVSAppui

4 LVS Algorithme de programmation de la charge basé sur

  • Vote(Round Robin)

Assigner à tour de rôle les demandes d'accès reçues aux noeuds du cluster dans l'ordre(Serveur réel) ,Traiter chaque serveur sur un pied d'égalité ,Quel que soit le nombre réel de connexions au serveur et la charge du système

  • Scrutin pondéré (Weighted Round Robin)

Distribuer les demandes en fonction des valeurs de poids fixées par l'ordonnanceur,Les noeuds à poids élevé ont la priorité d'obtenir la tâche,Plus le nombre de demandes attribuées est élevé
Garantir un meilleur trafic d'accès pour les serveurs performants

  • Connexion minimale (Least Connections )

Assigner en fonction du nombre de connexions établies par le serveur réel,Donner la priorité aux demandes d'accès reçues aux noeuds qui ont le moins de connexions

  • Connexion minimale pondérée(Weighted L east Connections )

Lorsque les performances du noeud serveur varient considérablement,Les poids peuvent être ajustés automatiquement pour les serveurs réels
Les noeuds plus performants supporteront une plus grande proportion de la charge de connexion active

5 ipvsadmOutils

ipvsadmDescription des fonctions et des options

OptionsFonction
-AAjouter un serveur virtuel
-DSupprimer l'ensemble du serveur virtuel
-sSpécifiez l'algorithme de répartition de la charge(Vote:rr、Scrutin pondéré:wrr、Connexion minimale:lc、Connexion minimale pondérée:wlc)
-aReprésente l'ajout d'un serveur réel(Serveur de noeuds)
-dSupprimer un noeud
-tDésignation VIPAdresse et TCPPort
-rDésignation RIPAdresse et TCPPort
-mIndique l'utilisation NATMode Cluster
-gIndique l'utilisation DRMode
-iIndique l'utilisation TUNMode
-wDéfinir le poids(Le poids est 0 Indique un noeud de pause)
-p 60Indique une longue connexion60Secondes
-lAffichage de la Liste LVS Serveur virtuel(La valeur par défaut est de voir tous)
-nAfficher les adresses sous forme numérique、Informations telles que les ports,Souvent avec“-l”Combinaison d'options.ipvsadm -ln

6 NATModeLVSDéploiement de grappes d'équilibrage des charges

Déploiement du stockage partagé(NFSServeur:192.168.80.20)

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

yum -y install nfs-utils rpcbind

systemctl start rpcbind.service
systemctl start nfs.service

systemctl enable nfs.service
systemctl enable rpcbind.service

mkdir /opt/lic
mkdir /opt/kiki

chmod 777 /opt/lic 
chmod 777 /opt/kiki

vim /etc/exports
/usr/share *(ro,sync)
/opt/lic 192.168.80.0/24(rw,sync)
/opt/kiki 192.168.80.0/24(rw,sync)

exportfs -rv

Configurer le serveur de noeuds(192.168.80.12、192.168.80.13)

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

yum install httpd -y
systemctl start httpd.service
systemctl enable httpd.service

yum -y install nfs-utils rpcbind
showmount -e 192.168.80.13

systemctl start rpcbind
systemctl enable rpcbind

Web-1(192.168.80.12)

mount.nfs 192.168.80.13:/opt/lic /var/www/html
echo 'this is lic web!' > /var/www/html/index.html

Web-2(192.168.80.13)

mount.nfs 192.168.80.20:/opt/kiki /var/www/html
echo 'this is kiki web!' > /var/www/html/index.html

3、Configurer le régulateur de charge(Passerelle Intranet ens33:192.168.80.20,Passerelle externe ens37:12.0.0.254)

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

(1)ConfigurationSNATRègles de transmission

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
Ou
echo '1' > /proc/sys/net/ipv4/ip_forward
sysctl -p

iptables -t nat -F
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens37 -j SNAT --to-source 12.0.0.254

(2)ChargementLVSModule noyau

modprobe ip_vs					#Chargement ip_vsModule
cat /proc/net/ip_vs				#Voir ip_vsInformations sur la version

(3)Installationipvsadm Outils de gestion

yum -y install ipvsadm

La politique de répartition de la charge doit être sauvegardée avant le démarrage du service.

ipvsadm-save > /etc/sysconfig/ipvsadm
Ou
ipvsadm --save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm.service
systemctl enable ipvsadm.service

(4)Configurer la politique de répartition de la charge(NATLe mode est configuré sur le serveur,Le serveur de noeuds n'a pas besoin d'une configuration spéciale)

ipvsadm -C 					#Effacer la politique originale
ipvsadm -A -t 12.0.0.254:80 -s rr -p 10
ipvsadm -a -t 12.0.0.254:80 -r 192.168.80.12:80 -m
ipvsadm -a -t 12.0.0.254:80 -r 192.168.80.13:80 -m
ipvsadm						#Activer la politique

ipvsadm -ln					#Voir l'état du noeud,MasqReprésentant NATMode
ipvsadm-save > /etc/sysconfig/ipvsadm						#Enregistrer la politique(Conservation permanente)

Modifier sur le serveur de noeuds ens33La passerelle pour192.168.80.20
Ouvert ifdown ens33 ; ifup ens33

Dans unIPPour12.0.0.200Les clients de http://12.0.0.254/ ,Rafraîchir continuellement le Navigateur pour tester l'équilibrage de la charge,L'intervalle de rafraîchissement doit être long.

Effets des tests
Dans unIPPour12.0.0.12Les clients de http://12.0.0.1/ ,Rafraîchir continuellement le Navigateur pour tester l'équilibrage de la charge,L'intervalle de rafraîchissement doit être long.

Insérer la description de l'image ici

原网站

版权声明
本文为[FYR]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/172/202206211932347661.html