Équilibrage de charge de cluster - théorie LVS
Un: principe du cluster d'équilibrage de charge
1.1: Présentation des applications de cluster d'entreprise
-
La signification des clusters
- 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
-
Le SLB dans Alibaba Cloud est un planificateur d'équilibrage de charge typique, et ECS est un hôte cloud (machine virtuelle)
SLB planifie ECS, plusieurs ECS forment un pool de ressources, formant la base du cloud computing
1.2: Classification des clusters d'entreprise
- Selon la différence de cible du cluster, il peut être divisé en trois types
- Cluster d'équilibrage de charge
- Cluster hautement disponible
- Cluster de calcul hautes performances
1.2.1: 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, qui est l'ordonnancement
1.2.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
- Duplex, travail coordonné de deux états parallèles, se remplaçant à tout moment
- Avec un mode maître-esclave, un maître, plusieurs esclaves, appelé cluster centralisé
- Mécanisme décentralisé: il n'y a pas de vrai maître, s'il y en a, c'est symbolique, tous les nœuds fonctionnent (le cluster Redis est un mécanisme décentralisé typique)
1.2.3: 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 gros et supercalculateurs possèdent.
1.3: 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
- La technologie de planification de charge de cluster dispose de trois modes de fonctionnement
- Traduction d'adresse
- Tunnel IP
- Routage direct (DR)
1.3.1: mode NAT
- Traduction d'adresses réseau
- Appelé mode NAT, il est similaire à la structure du réseau privé du pare-feu. Le planificateur de charge agit comme la passerelle de tous les nœuds du serveur, c'est-à-dire comme l'entrée d'accès du client, ainsi que la 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
1.3.2: mode TUN
- Tunnel IP
- Désigné en mode TUN, il adopte une structure de réseau ouverte. Le planificateur de chargement n'est utilisé que comme entrée d'accès du client. Chaque nœud répond directement au client via sa propre connexion Internet sans passer par le planificateur de chargement.
- 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é
1.3.3: mode DR
- Routage direct
- Appelé mode DR, il adopte une structure de réseau semi-ouverte, qui est similaire à la structure du mode 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œuds via le réseau local, sans qu'il soit nécessaire d'établir un tunnel IP dédié
1.3.4: La différence entre les trois modes de fonctionnement
Différence de mode de travail | Mode NAT | Mode TUN | Mode DR |
---|---|---|---|
Serveur réel (serveur de nœuds) | |||
Numéro de serveur (nombre de nœuds) | Faible 10-20 | Élevé 100 | Élevé 100 |
Véritable passerelle | Charger le planificateur | Propre routeur | Routeur gratuit |
adresse IP | Réseau public + réseau privé | réseau public | Réseau privé |
avantage | Haute sécurité | Données chiffrées de l'environnement WAN | La plus haute performance |
Désavantage | Faible efficacité et haute pression | Besoin d'un support de tunnel | Impossible d'étendre le LAN |
Deux: architecture de cluster et serveur virtuel
2.1: Architecture d'un cluster d'équilibrage de charge
- Architecture 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)
- Le stockage partagé offre beaucoup d'espace de stockage, avantages: pratique et efficace
2.2: Présentation du serveur virtuel LVS
- Serveur virtuel Linux
- Solution d'équilibrage de charge pour le noyau Linux
- Fondé par le Dr Zhang Wensong en Chine en mai 1998
[root@localhost~]# modprobe ip_vs '确认内核对LVS的支持'
[root@localhost~]# cat /proc/net/ip_vs
- 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, 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é
- En fonction de la capacité de traitement du serveur réel, les demandes d'accès reçues sont allouées à tour de rôle. L'ordonnanceur peut interroger automatiquement l'état de charge de chaque nœud et ajuster dynamiquement son poids
- Assurez-vous que les serveurs dotés de puissantes capacités de traitement supportent plus de trafic
- Moins de connexions
- 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
- Connexions les moins pondérées
- En cas de grandes différences dans les performances du nœud de serveur, le poids peut être automatiquement ajusté pour le serveur réel
- Les nœuds avec des poids plus élevés supporteront une plus grande proportion de charge de connexion active
- Tournoi à la ronde
2.3: Création et gestion de cluster LVS
- Utiliser l'outil ipvsadm
- Créer un serveur virtuel
- Ajouter, supprimer des nœuds de serveur
- Afficher l'état du cluster et du nœud
- Stratégie de distribution de charge d'erreur
2.4: service de stockage partagé NFS
-
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
-
Utiliser NFS pour publier des ressources partagées
- Installer les packages logiciels nfs-util, rpcbind
- Configurer un répertoire partagé
- Démarrez le programme de service NFS
- Afficher le répertoire partagé NFS publié par la machine
-
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 Publication des ressources partagées NFS - Installer les packages logiciels nfs-util, rpcbind
- Configurer un répertoire partagé
- Démarrez le programme de service NFS
- Afficher le répertoire partagé NFS publié par la machine
-
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