LVS a ouvert le voile mystérieux

Un avant-propos

En tant qu'ancien exploitation et d'entretien ont de nombreuses années d'expérience, LVS peut être décrit comme de grandes tailles réputation, nous avons cherché une occasion de recueillir systématiquement et rassembler les informations pertinentes. Aujourd'hui, enfin avoir le temps d'apprendre et de comprendre en détail LVS connaissances pertinentes.

LVS est linux raccourci de serveur virtuel, ce qui signifie: serveur virtuel Linux, qui est un projet de logiciel libre initié en 1998 par le Dr Zhang Wen-chanson. Après Linux version 2.4 du noyau, LVS a intégré les différents modules fonctionnels, nous pouvons directement utiliser les différentes fonctions fournies par LVS.

Deux des savoir LVS

LVS caractéristiques du cluster peuvent être résumées comme suit:

  • fonction

Il existe trois techniques d'équilibrage de charge IP pour atteindre et huit types d'algorithme d'ordonnancement de connexion logiciel IPVS. Sur les IPVS de mise en uvre interne, en utilisant une fonction de hachage très efficace et le mécanisme de collecte des ordures peut gérer correctement les messages de planification des messages ICMP liés à (mais pas des systèmes commerciaux). Définissez le nombre de services virtuels ne se limite pas, chaque serveur virtuel a son propre ensemble de services. Il prend en charge les services virtuels persistants (tels que HTTP et HTTPS Cookie, etc. nécessité de soutenir cette fonction), et fournit des données statistiques détaillées, telles que la vitesse de traitement et de flux de paquets, et d'autres connexions. Pour le déni à grande échelle des attaques de service (Déni de service), met en uvre trois stratégies de défense.

Il KTCPVS couche application basée sur le logiciel d'échange de distribution de contenu demande, il est également mis en uvre dans le noyau Linux. logiciel de gestion de cluster associé pour le suivi des ressources, le masquage de faute en temps opportun, pour atteindre une haute disponibilité du système. Maître, du planificateur peut se synchroniser régulièrement l'état, ce qui une plus grande disponibilité.

  • applicabilité

Le serveur back-end peut exécuter un système d'exploitation qui prend en charge TCP / IP, y compris Linux, Unix divers (tels que FreeBSD, Sun Solaris, HP Unix, etc.), Mac / OS et Windows NT / 2000 et ainsi de suite.

équilibreur de charge peut prendre en charge la grande majorité des protocoles TCP et UDP:

Sans la nécessité pour le client et le serveur pour effectuer des modifications, appliqué la plupart des services Internet.

  • performance

LVS système de serveur de cluster a une bonne évolutivité pour soutenir des millions de connexions simultanées. Configuration 100M LAN en utilisant VS / TUN ou techniques de planification VS / DR, jusqu'à un certain groupe 1Gbits / s, comme la configuration Ethernet Gigabit, le débit maximum du système est accessible 10 Gbit / s.

  • fiabilité

LVS logiciel serveur de cluster a été bien utilisé dans de nombreux grands sites critiques, donc sa fiabilité est bien prouvé dans l'application réelle. Il y a beaucoup de planificateur pour exécuter plus d'un an, n'a pas fait un redémarrage.

  • Licence de logiciel

logiciel de cluster LVS est basé sur le logiciel libre GPL (GNU Public License) les certificats délivrés, ce qui signifie que vous pouvez obtenir le code source, le droit de modifier, mais vous devez vous assurer que les modifications sont émises sous la GPL.

En fonction du mode de fonctionnement de LVS, LVS est divisé en trois modes de fonctionnement: le mode NAT, mode TUN, le mode DR.

Trois compréhensions trois modes

3.1 Virtual Server via Network Address Translation (VS / NAT)

La traduction d'adresse de réseau, la requête de réécriture de programmateur adresse de destination du paquet, selon un algorithme d'ordonnancement de présélection, les demandes d'expédition vers les opérations du serveur d'arrière-plan, des paquets de réponse réel du serveur par le biais du programmateur, l'adresse de source du paquet est re écrire, puis retourné au client pour compléter l'ensemble du processus de planification de la charge. Architecture reportez-vous au tableau suivant:

3.2 Virtual Server via IP Tunneling (VS / TUN)

Lors de l'utilisation de la technologie NAT, puisque la demande et les paquets de réponse par un programmateur doit être réécrites adresse, lorsqu'une demande de clients augmente, la capacité de traitement du planificateur deviendra un goulot d'étranglement. Pour résoudre ce problème, le répartiteur transmet le message de demande au serveur réel via un tunnel IP, et le vrai serveur répondra directement au client, de sorte que le planificateur ne faire face à la demande. Comme la réponse générale est plus grande que la demande de service de réseau un message beaucoup, en utilisant la technologie VS / TUN, le débit maximum du système de cluster peut être augmenté de 10 fois. Architecture reportez-vous au tableau suivant:

3.3 Virtual Server via le routage direct (VS / DR)

VS / DR en réécrivant un message de demande d'adresse MAC, envoie une requête au serveur réel, et le réel serveur renvoie la réponse directement au client. Comme la technologie VS / TUN, la technologie VS / DR peut grandement améliorer l'évolutivité du système de cluster. Cette méthode ne coûte pas un tunnel IP, le cluster de serveurs réels ne doivent pas supporter les exigences du protocole de tunnel IP, mais les exigences du planificateur et le vrai serveur dispose d'une carte de réseau connecté au même segment de réseau physique. Architecture reportez-vous au tableau suivant:

Quatre avantages et les inconvénients de chaque mode

4.1 Mode NAT

avantage :

  • Le serveur peut exécuter un système d'exploitation qui prend en charge TCP / IP, il n'a besoin que d'une adresse IP configurée sur le planificateur, le groupe de serveurs peut utiliser des adresses IP privées.
  • L'utilisation de la propriété intellectuelle interne, service de nud caché, et une bonne sécurité.
  • Principe, la configuration est simple, facile à comprendre.

défaut :

  • Extensibilité est limité, lorsque le numéro du noeud de serveur 20 d'augmenter, le programmateur lui-même peut devenir un nouveau goulot d'étranglement dans le système, puisque la demande de NAT et les paquets de réponse sont requis par l'équilibreur de charge.

Mode 4,2 TUN

avantage :

  • Vous pouvez programmer plus d'une centaine de serveurs (les mêmes serveurs à grande échelle), mais il ne devient pas un goulot d'étranglement dans le système. Il peut être utilisé pour construire serveur super haute performance.
  • Principe, la configuration est simple, facile à comprendre.

défaut :

  • La technologie de TUN sur le serveur a demandé que tous les serveurs doivent prendre en charge l'accord « tunneling IP » ou « Encapsulation IP ».
  • exposition au nud, moins sécurisé que le mode NAT.

4.3 Mode DR

avantage :

  • Vous pouvez programmer plus d'une centaine de serveurs (les mêmes serveurs à grande échelle), mais il ne devient pas un goulot d'étranglement dans le système. Il peut être utilisé pour construire serveur super haute performance.
  • Par rapport avec le mode TUN, cette méthode ne coûte pas un tunnel IP.

défaut :

  • Nécessite serveur d'équilibrage de la charge réelle a une carte attaché au même segment de réseau physique, le dispositif de serveur de réseau (ou pseudonyme de l'appareil) que la réponse ARP, ou peut rediriger les paquets (la redirection) au port de socket local.
  • exposition au nud, moins sécurisé que le mode NAT.

Tous ensemble, et obtenir le tableau suivant:

Cinquante-huit types d'algorithme d'ordonnancement de charge

Pour différentes exigences de service réseau et la configuration du serveur, VPI programmateur implémentation de l'algorithme d'ordonnancement de charge huit types suivants:

  • Polling (Round Robin)

Les demandes externes du planificateur séquentiellement affectés au groupe, à son tour dans le serveur réel, qui traite également chaque serveur à travers le « sondage » l'algorithme d'ordonnancement, quel que soit le nombre de connexions sur le serveur et la charge du système.

  • WRR (Weighted Round Robin)

Planificateur par l'algorithme d'ordonnancement « round-robin pondérée » pour planifier la demande d'accès en fonction de la capacité de traitement du serveur réel. Cela permettra d'assurer une puissance de traitement solide serveur pour gérer plus de trafic. planificateur de requêtes peut charger automatiquement le serveur réel, et ajuste dynamiquement le poids.

  • Connexions moins (moins) Connexions

Planificateur par l'algorithme de planification « de connexion minimum » requêtes réseau de manière dynamique sur un nombre minimum de liens vers le calendrier du serveur établi. Si les systèmes de cluster réel du serveur ont des performances similaires, l'utilisation de l'algorithme de planification « de connexion minimale » peut mieux équilibrer la charge.

  • Pondérée lien moins (moins pondéré Connexions)

Le serveur dans une différence de performance du système de grappe est grande, le planificateur utilise le « lien moins pondérée » propriétés d'équilibrage de charge de serveur algorithmes de planification, ayant une haute valeur de poids va porter une plus grande proportion de connexions actives prises en charge. planificateur de requêtes peut charger automatiquement le serveur réel, et ajuste dynamiquement le poids.

  • Localité axée sur les moins Connexions (Localité-Based Connexions moins)

algorithmes d'ordonnancement « Connexions moins-Based Localité » pour l'adresse IP cible d'équilibrage de charge, la clé pour le système de cluster Cache. L'algorithme pour trouver l'adresse IP du serveur cible à l'adresse IP de destination de demande de la plus récemment utilisée, si le serveur est disponible et n'est pas surchargé, envoyer une demande au serveur, si le serveur n'existe pas, ou si le serveur dispose d'un serveur est surchargé et demi la charge de travail, utilisez alors le principe de « moins Connexions » est disponible pour sélectionner un serveur, la requête est envoyée au serveur.

  • Avec une copie des moins Connexions à base d'Localité (Localité-Based Connexions moins avec la réplication)

« Prenez copie Localité-base moins Connexions » équilibrage de charge algorithme d'ordonnancement est aussi pour l'adresse IP de destination, la clé pour le système de cluster Cache. Elle diffère de l'algorithme de LBLC est qu'il veut maintenir le mappage à partir d'une adresse IP cible à un groupe de serveurs et de l'algorithme LBLC gère un mappage à partir d'une adresse IP cible à un serveur. L'algorithme pour trouver l'adresse IP du groupe de serveurs cible auquel la demande correspondant à l'adresse IP de destination, par « connexion minimale » élu par un serveur à partir d'un groupe de serveurs, si le serveur est surchargé, la demande est envoyée au serveur, si le serveur est surchargé , appuyez sur le principe « de connexion minimale » choisie à partir d'un serveur du cluster, et le serveur est ajouté au groupe de serveurs, envoie une requête au serveur. Pendant ce temps, lorsque le groupe de serveurs pendant un certain temps pas été modifié, est retiré le plus achalandé au serveur du groupe de serveurs, afin de réduire le degré de réplication.

  • hachage Adresse de destination (Destination Hashage)

algorithme d'ordonnancement « hachage d'adresse cible » conformément à l'adresse IP de destination de la demande comme la clé de hachage (Hash Key) pour trouver le serveur correspondant dans la liste de l'allocation de statique de hachage, si le serveur est surchargé et pas disponible, la demande est envoyée au serveur, ou une valeur nulle autrement.

  • hashing adresse Source (Source Hashage)

algorithme d'ordonnancement « hachage d'adresse Source », selon la source adresse IP de la demande, comme la clé de hachage (Hash Key) pour trouver le serveur correspondant dans la liste de l'allocation de statique de hachage, si le serveur est surchargé et pas disponible, la demande est envoyée au serveur, ou une valeur nulle autrement.

six résumé

Cet article tire fortement sur l'original Dr Zhang, et a fait sur cette base et une partie de la demande d'extension visant à apprendre, communiquer, mais aussi d'économiser du temps lorsque l'accès à l'information à l'avenir elles-mêmes. En raison des contraintes de temps, il est inévitable omissions, vous espérez pour les expositions. Une meilleure expérience de lecture, je vais au même nom le blog RPSC.

sept Références

7.1 système de cluster de serveurs Linux (a)

7.2 cluster de serveurs Linux (deux)

7.3 cluster de serveurs Linux (c)

7.4 cluster de serveurs Linux (quatre)

Bateau à voile dans la rivière comme un essai routier de navette gratuite Geely Vision MINI SUV X1
Précédent
iPal mobile polyvalent robots humanoïdes, les enfants prennent le « bon tuteur »
Prochain
Un autre plafond révolutionnaire blockbuster Red Label Hafer H7 ce qui se passerait?
Tremble vieux Lai, le pays a été abattu, pas beaucoup de bonne journée!
A propos de Nintendo changerez en ligne ne comprennent toujours pas voir ici
Résoudre leurs problèmes: la magie magique grande collecte dentifrice
Huawei 10 forme Pro maté d'exposition globale, Octobre, envoyer des messages, système de nom réel barrage doit | Lei Feng Matin
2018 visiteurs dernier jour de punch fantaisie « par train léger sur rail au sol »
Résoudre leurs problèmes: un routeur sans fil configuration initiale, facile à obtenir en quatre étapes!
Ce soir de libération Monument si longtemps! Tous les « petits jaunes » sont la figure de bâton de police
Pourquoi ne pas le moteur de bon augure Volvo?
Résoudre leurs problèmes: méthode de connexion de ligne de routeur sans fil
Il est demain! "Roi du cirque" exposé "Seigneur de la Danse de Lord of the Dance" featurette
Résoudre les problèmes de la vie: les personnes âgées Conseils d'utilisation micro-canaux