Wip

Installeer en configureer Seesaw Load Balancer

Installeer en configureer Seesaw Load Balancer
In dit tijdperk van multiprogrammering zijn er verschillende processen tegelijkertijd actief en wordt er veel moeite gedaan om de doorvoer en werkefficiëntie te verhogen. De servers moeten veel werk aan en soms is het erg moeilijk om het verkeer te beheren. Er zijn dus load balancers om de verschillende computerbronnen te distribueren voor optimaal gebruik van bronnen, de doorvoer en responstijd te verhogen. Wat load balancers doen, is de verkeersbelasting verdelen over meerdere netwerken of geclusterde hosts om de beschikbaarheid, betrouwbaarheid en prestaties van het netwerk te vergroten. Inkomende verzoeken krijgen een virtueel IP-adres toegewezen, ook bekend als VIP op de load balancer zelf, en vervolgens geeft de load balancer de verzoeken door aan de juiste server erachter met de minste wijziging van de pakketten.  De server reageert vervolgens op de load balancer met de vereiste gegevens die uiteindelijk door de load balancer naar de clientsite worden verzonden.

Soorten load balances

Er zijn twee soorten load balancing-platforms: HAProxy en Linux Virtual Server, ook bekend als LVS, en Seesaw v2 is een load balancing-platform op basis van een virtuele Linux-server.

Seesaw is een zeer flexibele tool die kan worden gebruikt als een standaard load balancer voor kleine tot middelgrote websites tot een geavanceerde load balancer voor netwerken op bedrijfsniveau waar een tiental servers met elkaar zijn verbonden. Het ondersteunt een aantal geavanceerde Ipv6-functies zoals anycast, multicast, unicast en direct server return, meerdere VLAN's.

Het robuuste ontwerp maakt het geschikt voor eenvoudig onderhoud en betrouwbaarheid. Het is in 2012 ontworpen om te voldoen aan de unieke behoeften van Google, waaraan de bestaande opties niet voldeden. Het is ontwikkeld in Go, een statisch getypeerde taal en is afgeleid van C taal. Het bevat veel taalfuncties op hoog niveau, zoals afvalverzameling om het geheugen op te schonen, typeveiligheid, arrays met variabele lengte, dynamische typmogelijkheden en sleutelwaardekaarten, en een grote standaardbibliotheek. Golang is een gecompileerde taal ontwikkeld door Google. Veel moderne applicaties zoals Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) en Caddy zijn geschreven in Go.

Voorwaarde

  1. De link om de nieuwste versie van GoLang voor Linux te downloaden is beschikbaar op https://golang.org/dl/  in de vorm van een archiefbestand.

  2. De integriteit van de tarball kan worden gecontroleerd door de hash-waarde die is gegenereerd met het shassum-commando te vergelijken met de hash-waarde op de website. Als er een verschil is in hash-waarden, moet men altijd een nieuwe tarball van het archief downloaden. Als de controle succesvol is, ga dan verder met de tutorial.

    $shasum -a 256 go1.11.5.linux-amd64.teer.gz

    In deze opdracht wordt -a gebruikt om het algoritme te specificeren om hash-waarde te genereren en deze opdracht als geheel voert de SHA256-controlesom uit van de archiefbestanden.

  3. De volgende stap is het uitpakken van de tar-archiefbestanden, als de integriteitscontrole succesvol is, in de /usr/local directory met behulp van de onderstaande opdracht: $sudo tar -C /user/local -xvzf go1.11.5.linux-amd64.teer.gz

    In deze opdracht specificeert -C de doelmap waar de uitgepakte bestanden naartoe worden gestuurd.

  4. Go-omgeving configureren in de Ubuntu-configuratie Go-werkruimte door een map ~/go_project_directory te maken die de hoofdmap van de werkruimte is. De werkruimte bevat drie belangrijke mappen
    • bin - bevat binaire bestanden van de golang.
    • src- waarin alle bronbestanden worden opgeslagen.
    • pkg- waarin pakketobjecten worden opgeslagen.
    Een mappenboom kan als volgt worden aangemaakt:

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

  5. Om Go uit te voeren, volg je als de rest van Linux-programma's zonder het absolute pad op te geven. De map waarin golang is geïnstalleerd, moet worden gebruikt als een van de waarden van de omgevingsvariabele $PATH.
    • Toevoegen /usr/local/go/bin naar de PATH-omgevingsvariabele moet de volgende opdracht worden uitgevoerd:
    $sudo   gedit   $HOME/.profiel

    Of kan het in de terminal openen met behulp van de opdracht

    $vi .profiel

    Dan /usr/local/go/bin moet aan het pad worden toegevoegd. Vervolgens moeten alle wijzigingen worden opgeslagen en moet de gebruiker zich afmelden bij het profiel en opnieuw inloggen voor verdere procedures.

    • Alle paden worden in het profiel ingesteld door de waarden van GOPATH en GOBIN . in te stellen.
    export GOPATH=”$HOME/go”
    export GOBIN=”$GOPATH/bin”
    • Als GoLang is geïnstalleerd in een andere aangepaste map dan de standaard (/usr/local), is er de vereiste om die map op te geven als de GOROOT-variabele. Het is gedaan in dit .profiel door
    export GOROOT=”$HOME/go
    export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

  6.  De GoLang-omgeving kan na succesvolle installatie in de terminal worden gecontroleerd door het volgende commando uit te voeren: $go
    $ga env

Wip installeren

  1. Het was een vereiste om Go te installeren aangezien Seesaw v2 ermee is ontwikkeld en afhankelijk is van verschillende Go-pakketten zoals:
>golang.org/x/crypto/ssh
>github.com/golang/glog
> github.com/dlintw/goconf
>github.com/golang/protobuf/proto
>github.com/miekg/dns
  1. Als men de protobuf-code opnieuw wil genereren, is ook de protobuf-comiler en de Go protobuf-compilergenerator nodig: $apt-get install protobuf-compiler
    $ga halen -u github.com/golamg/protobuf/proto,proto-gen-go

    1. Er moet altijd voor worden gezorgd dat $GOPATH/bin in de $PATH en in de wipmap staat.
    2. De volgende stap is om het make-commando uit te voeren, aangezien dit leidt tot toevoeging van verschillende binaire bestanden in de $GOPATH/bin met een wip_-voorvoegsel. Deze binaire bestanden moeten op de juiste locaties worden geïnstalleerd.

      $make-test
      $make install
      $maak proto

      Na het uitvoeren van de bovenstaande drie opdrachten worden de binaire bestanden van de wip op de juiste locaties ingesteld. het kan gedaan worden door seesaw_install in $GOPATH/bin aan te maken en het onderstaande script uit te voeren.

      SEESAW_BIN="/usr/local/wip"
      SEESAW_ETC="/etc/wip
      SEESAW_LOG="/var/log/wip"
      INIT='ps -p 1 -o comm='
      install -d "$SEESAW_BIN" "$SEESAW_ETC" "$SEESAW_LOG"
      installeer "$GOPATH/bin/seesaw_cli" /usr/bin/seesaw
      voor component in ecu,engine,ha,healthcheck,ncc,watchdog; Doen
      installeer "$GOPATH/bin/seesaw_$component" "$SEESAW_BIN"
      gedaan
      if [ $INIT = "init" ]; dan
      installeer "etc/init/seesaw_watchdog".conf" "/etc/init"
      elif [ $INIT = "systemd"]; dan
      installeer "etc/systemd/system/seesaw_watchdog".service" "/etc/systemd/system"
      systemctl --systeemdaemon-opnieuw laden
      fi
      installeer "etc/wip/watchdog".cfg" "$SEESAW_ETC"
      # Schakel CAP_NET_RAW in voor binaire wipbestanden waarvoor onbewerkte sockets nodig zijn.
      /sbin/setcap cap_net_raw+ep "$SEESAW_BIN/seesaw_ha"
      /sbin/setcap cap_net_raw+ep "$SEESAW_BIN/seesaw_healthcheck"

Wip configureren

  1. Elke knoop heeft een wip nodig.cfg-bestand, bekend als het configuratiebestand, waarin informatie over het knooppunt en de bijbehorende peer wordt opgeslagen. Protobuf is het clusterconfiguratiebestand voor elk cluster, en is het in platte tekstformaat. Hierdoor kan het worden geopend met elke Linux-teksteditor zoals nano, vi. Men kan de wip veranderen.cfg met behulp van de volgende opdracht:
$vi/etc/wip/wip.cfg

Een voorbeeld van de wip.cfg-bestand

[TROS]
anycast_enabled = false
naam = au-syd
node_ipv4 = 192.168.
node_ipv6 = 2015:café::2
peer_ipv4 = 192.168.10.3
peer_ipv6 = 2015:café::3
vip_ipv4 = 192.168.10.1
vip_ipv6 = 2015:café::1
[config_server]
primair = wip-config1.voorbeeld.com
secundair = wip-config2.voorbeeld.com
tertiair = wip-config3.voorbeeld.com
[koppel]
knoop = eth0
lb = eth1

De beschrijving van de bovengenoemde cript wordt hieronder gegeven:

Conclusie

Vanwege de enorme voordelen van de functie voor taakverdeling, wordt deze vaak gebruikt in veel bedrijfsnetwerken. Er zijn in het algemeen drie soorten leveringsmodi in IPv4-standaard, Unicast, Multicast en Broadcast. Anycast wordt geaccepteerd in IPv6. Anycast is zelden aanwezig in IPv4. Anycast gebruikt om een ​​interface te identificeren uit een groep interfaces die verbinding maken met dezelfde service.  VIP's zijn virtuele IP-adressen die niet tot een fysieke netwerkinterface behoren. Een load balancer moet betrouwbaar zijn en beschikt over de belangrijkste features in clouddiensten.

Veel van de load balancers op de markt hebben geen backend-serverbewaking en vele andere specifieke functies. Er zijn verschillende methoden voor taakverdeling op Open Systems Interconnection Layer 2/3/4. Deze lagen zijn Data Link Layer, Network Layer en Transport Layer. Seesaw gebruikt laag 4-techniek met NAT EN DSR (Direct Server Return). DSR wijzigt de verkeersstroom of de belasting door de server direct op de client te laten reageren. Al met al is The Seesaw load balancer door deze aspecten robuust en betrouwbaar.

OSD-overlay tonen in Linux-apps en -games op volledig scherm
Het spelen van games op volledig scherm of het gebruik van apps in de modus volledig scherm zonder afleiding kan u afsnijden van relevante systeeminfo...
Top 5 Game Capture-kaarten
We hebben allemaal gezien en genoten van streaming gameplays op YouTube. PewDiePie, Jakesepticye en Markiplier zijn slechts enkele van de beste gamers...
Hoe een spel op Linux te ontwikkelen
Tien jaar geleden zouden niet veel Linux-gebruikers voorspellen dat hun favoriete besturingssysteem ooit een populair spelplatform voor commerciële vi...