Bascule

Installer et configurer Seesaw Load Balancer

Installer et configurer Seesaw Load Balancer
En cette ère de multiprogrammation, plusieurs processus s'exécutent simultanément et beaucoup d'efforts sont déployés pour augmenter le débit et l'efficacité du travail. Les serveurs doivent gérer beaucoup de charge de travail et il est parfois très difficile de gérer le trafic. Ainsi, il existe des équilibreurs de charge pour distribuer les différentes ressources informatiques pour une utilisation optimale des ressources, augmenter le débit et le temps de réponse. Les équilibreurs de charge répartissent la charge de trafic sur plusieurs réseaux ou hôtes en cluster pour augmenter la disponibilité, la fiabilité et les performances du réseau. Les demandes entrantes se voient attribuer une adresse IP virtuelle, également connue sous le nom de VIP sur l'équilibreur de charge lui-même, puis l'équilibreur de charge transmet les demandes au serveur approprié derrière lui avec le moins de modification aux paquets.  Le serveur répond ensuite à l'équilibreur de charge avec les données requises qui sont finalement envoyées au site client par l'équilibreur de charge.

Types d'équilibrages de charge

Il existe deux types de plates-formes d'équilibrage de charge : HAProxy et Linux Virtual Server, également connu sous le nom de LVS, et Seesaw v2 est une plate-forme d'équilibrage de charge basée sur un serveur virtuel Linux.

Seesaw est un outil très flexible qui peut être utilisé comme équilibreur de charge de base pour les sites Web de petite et moyenne taille ou comme équilibreur de charge avancé pour les réseaux d'entreprise où une douzaine de serveurs sont interconnectés. Il prend en charge certaines des fonctionnalités IPv6 avancées telles que anycast, multicast, unicast et retour de serveur direct, plusieurs VLAN.

Sa conception robuste le rend approprié pour une maintenance facile et une fiabilité. Il est conçu en 2012 pour répondre aux besoins uniques de Google, auxquels les options existantes ne répondaient pas. Il est développé en Go qui est un langage à typage statique et est dérivé de langage C. Il contient de nombreuses fonctionnalités de langage de haut niveau telles que la récupération de place pour nettoyer la mémoire, la sécurité des types, des tableaux de longueur variable, des capacités de typage dynamique et des mappages de valeurs-clés, ainsi qu'une grande bibliothèque standard. Golang est un langage compilé développé par Google. De nombreuses applications modernes comme Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) et Caddy sont écrites en Go.

Prérequis

  1. Le lien pour télécharger la dernière version de GoLang pour Linux est disponible sur https://golang.org/dl/  sous la forme d'un fichier d'archive.

  2. L'intégrité de l'archive tar peut être vérifiée en comparant la valeur de hachage générée à l'aide de la commande shassum avec la valeur de hachage fournie sur le site Web. S'il y a une différence dans les valeurs de hachage, il faut toujours télécharger une nouvelle archive tar. Si la vérification est réussie, continuez avant le didacticiel.

    $shasum -a 256 go1.11.5.linux-amd64.le goudron.gz

    Dans cette commande, -a est utilisé pour spécifier l'algorithme pour générer la valeur de hachage et cette commande dans son ensemble effectue la somme de contrôle SHA256 des fichiers d'archive.

  3. L'étape suivante consiste à extraire les fichiers d'archive tar, si le contrôle d'intégrité est réussi, dans le répertoire /usr/local à l'aide de la commande ci-dessous : $sudo tar -C /user/local -xvzf go1.11.5.linux-amd64.le goudron.gz

    Dans cette commande -C spécifie le répertoire de destination où les fichiers extraits sont envoyés.

  4. Pour configurer l'environnement Go dans Ubuntu, configurez l'espace de travail Go en créant un répertoire ~/go_project_directory qui est la racine de l'espace de travail. L'espace de travail contient trois répertoires principaux
    • bin - contient les fichiers binaires du golang.
    • src- qui stocke tous les fichiers sources.
    • pkg- qui stockera les objets du package.
    Une arborescence de répertoires peut être créée comme suit :

    $mkdir -p ~/go_projects/bin,src,pkg
    $cd go_projects/
    $ls

  5. Pour exécuter Go, suivez comme le reste des programmes Linux sans spécifier son chemin absolu. Le répertoire où golang est installé doit être utilisé comme l'une des valeurs de la variable d'environnement $PATH.
    • Ajouter /usr/local/go/bin à la variable d'environnement PATH, la commande suivante doit être exécutée :
    $sudo   gedit   $HOME/.profil

    Ou peut l'ouvrir dans le terminal en utilisant la commande

    $vi .profil

    Puis /usr/local/go/bin doit être ajouté au chemin. Ensuite, toutes les modifications doivent être enregistrées et l'utilisateur doit se déconnecter du profil et se reconnecter pour la suite des procédures.

    • Tous les chemins sont définis dans le profil en définissant les valeurs de GOPATH et GOBIN.
    export GOPATH="$HOME/go"
    exporter GOBIN="$GOPATH/bin"
    • Si GoLang est installé dans un répertoire personnalisé autre que celui par défaut (/usr/local), il est obligatoire de spécifier ce répertoire comme variable GOROOT. C'est fait en th .profil par
    exporter GOROOT="$HOME/aller
    export CHEMIN=$CHEMIN:/usr/local/go/bin:$GOPATH/bin

  6.  L'environnement GoLang une fois la configuration réussie peut être vérifié dans le terminal en exécutant la commande suivante : $go
    $ aller env

Installation de la bascule

  1. L'installation de Go était obligatoire car Seesaw v2 est développé avec et dépend de plusieurs packages Go tels que :
> golang.org/x/crypto/ssh
>github.com/golang/glog
> github.com/dlintw/goconf
>github.com/golang/protobuf/proto
>github.com/miekg/dns
  1. Si l'on souhaite régénérer le code protobuf, le compilateur protobuf et le générateur de compilateur Go protobuf sont également nécessaires : $apt-get install protobuf-compiler
    $ aller chercher -u github.com/golamg/protobuf/proto,proto-gen-go

    1. Il faut toujours s'assurer que $GOPATH/bin est dans le $PATH et dans le répertoire seesaw.
    2. L'étape suivante consiste à exécuter la commande make car elle conduit à l'ajout de plusieurs binaires dans le $GOPATH/bin avec un préfixe seesaw_, ces binaires doivent être installés aux emplacements appropriés.

      $faire le test
      $faire l'installation
      $faire un proto

      Après avoir exécuté les trois commandes ci-dessus, les binaires de la bascule sont définis aux emplacements appropriés. cela peut être fait en créant seesaw_install dans $GOPATH/bin et en exécutant le script ci-dessous.

      SEESAW_BIN="/usr/local/seesaw"
      SEESAW_ETC="/etc/seesaw
      SEESAW_LOG="/var/log/seesaw"
      INIT='ps -p 1 -o comm='
      install -d "$SEESAW_BIN" "$SEESAW_ETC" "$SEESAW_LOG"
      installez "$GOPATH/bin/seesaw_cli" /usr/bin/seesaw
      pour le composant dans ecu,engine,ha,healthcheck,ncc,watchdog ; fais
      installez "$GOPATH/bin/seesaw_$component" "$SEESAW_BIN"
      Fini
      if [ $INIT = "init" ]; ensuite
      installer "etc/init/seesaw_watchdog.conf" "/etc/init"
      elif [ $INIT = "systemd" ]; ensuite
      installer "etc/systemd/system/seesaw_watchdog.service" "/etc/systemd/system"
      systemctl --system daemon-reload
      Fi
      installer "etc/seesaw/watchdog.cfg" "$SEESAW_ETC"
      # Activez CAP_NET_RAW pour les binaires à bascule qui nécessitent des sockets bruts.
      /sbin/setcap cap_net_raw+ep "$SEESAW_BIN/seesaw_ha"
      /sbin/setcap cap_net_raw+ep "$SEESAW_BIN/seesaw_healthcheck"

Configuration de la bascule

  1. Chaque nœud nécessite une balançoire.cfg, connu sous le nom de fichier de configuration, où les informations sur le nœud et son homologue d'appartenance sont stockées. Protobuf est le fichier de configuration de cluster pour chaque cluster, et est-il au format texte brut. Cela lui permet d'être ouvert avec n'importe quel éditeur de texte Linux comme nano, vi. On peut changer la balançoire.cfg en utilisant la commande suivante :
$vi/etc/seesaw/seesaw.cfg

Un exemple de balançoire.fichier cfg

[groupe]
anycast_enabled = false
nom = au-syd
node_ipv4 = 192.168.
node_ipv6 = 2015:café::2
peer_ipv4 = 192.168.dix.3
peer_ipv6 = 2015:café::3
vip_ipv4 = 192.168.dix.1
vip_ipv6 = 2015:café::1
[config_server]
primaire = bascule-config1.Exemple.com
secondaire = bascule-config2.Exemple.com
tertiaire = bascule-config3.Exemple.com
[interface]
nœud = eth0
lb = eth1

La description du cript mentionné ci-dessus est donnée ci-dessous

Conclusion

En raison des immenses avantages de la fonction d'équilibrage de charge, elle est souvent utilisée dans de nombreux réseaux d'entreprise. Il existe trois types de modes de livraison en général dans la norme IPv4, Unicast, Multicast et Broadcast. Anycast est accepté en IPv6. Anycast est rarement présent dans IPv4. Anycast utilise pour identifier une interface à partir d'un groupe d'interfaces qui se connectent au même service.  Les VIP sont des adresses IP virtuelles qui n'appartiennent à aucune interface réseau physique. Un équilibreur de charge doit être fiable et posséder les fonctionnalités les plus importantes des services cloud.

De nombreux équilibreurs de charge sur le marché n'ont pas de surveillance du serveur principal et de nombreuses autres fonctionnalités spécifiques. Il existe plusieurs méthodes d'équilibrage de charge sur la couche d'interconnexion des systèmes ouverts 2/3/4. Ces couches sont la couche liaison de données, la couche réseau et la couche transport. Seesaw utilise la technique de couche 4 avec NAT ET DSR (Direct Server Return). DSR modifie le flux de trafic ou la charge en permettant au serveur de répondre directement au client. Dans l'ensemble, l'équilibreur de charge Seesaw est robuste et fiable en raison de ces aspects.

Top 10 des jeux à jouer sur Ubuntu
La plate-forme Windows a été l'une des plates-formes dominantes pour les jeux en raison du pourcentage énorme de jeux qui se développent aujourd'hui p...
5 meilleurs jeux d'arcade pour Linux
De nos jours, les ordinateurs sont des machines sérieuses utilisées pour les jeux. Si vous ne pouvez pas obtenir le nouveau score élevé, vous saurez c...
Bataille pour Wesnoth 1.13.6 Développement publié
Bataille pour Wesnoth 1.13.6 publiée le mois dernier, est la sixième version de développement de la 1.13.x series et il apporte un certain nombre d'am...