Gungbräda

Installera och konfigurera gungbräda

Installera och konfigurera gungbräda
I denna tid av multiprogrammering finns det flera processer som körs samtidigt och mycket arbete läggs på för att öka genomströmningen och arbetseffektiviteten. Servrarna måste hantera mycket arbetsbelastning och ibland är det mycket svårt att hantera trafiken. Det finns alltså belastningsbalanser för att distribuera flera datorer för optimalt resursutnyttjande, öka genomströmningen och responstiden. Vad belastningsbalanserare gör är att distribuera trafikbelastning över flera nätverk eller klustrade värdar för att öka tillgänglighet, tillförlitlighet och prestanda för nätverket. Inkommande förfrågningar tilldelas en virtuell IP, även känd som VIP på själva belastningsutjämnaren, och sedan överför belastningsutjämnaren förfrågningarna till lämplig server bakom den med minst modifiering av paketen.  Servern svarar sedan på belastningsutjämnaren med nödvändiga data som slutligen skickas till klientens webbplats av belastningsutjämnaren.

Typer av lastbalanser

Det finns två typer av belastningsbalanseringsplattformar - HAProxy och Linux Virtual Server, även känd som LVS, och Seesaw v2 är en lastbalanseringsplattform baserad på Linux virtuell server.

Gungbräda är ett mycket flexibelt verktyg som kan användas som en grundläggande belastningsutjämnare för små till medelstora webbplatser till avancerad belastningsutjämnare för nätverk på företagsnivå där ett dussin servrar är sammankopplade. Den stöder några av avancerade Ipv6-funktioner som anycast, multicast, unicast och direkt serverretur, flera VLAN.

Med en robust design gör den lämplig för enkelt underhåll och pålitlighet. Den utformades 2012 för att möta Googles unika behov, som de befintliga alternativen inte uppfyllde. Den är utvecklad i Go som är ett statiskt skrivet språk och härrör från C-språk. Den innehåller många språknivåer på hög nivå som skräpsamling för att städa upp minnet, typsäkerhet, matriser med variabel längd, dynamisk typning och nyckelvärdeskartor samt ett stort standardbibliotek. Golang är ett sammanställt språk utvecklat av Google. Många moderna applikationer som Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) och Caddy är skrivna i Go.

Nödvändig förutsättning

  1. Länken för att ladda ner GoLangs senaste version för Linux finns på https: // golang.org / dl / i form av arkivfil.

  2. Tarballens integritet kan kontrolleras genom att jämföra hashvärdet som genereras med kommandot shassum med hashvärdet på webbplatsen. Om det finns någon skillnad i hashvärden måste man alltid ladda ner en ny tarball i arkivet. Om kontrollen är framgångsrik, fortsätt sedan före handledningen.

    $ shasum -a 256 go1.11.5.linux-amd64.tjära.gz

    I detta kommando -a används för att specificera algoritmen för att generera hash-värde och detta kommando som helhet utför SHA256-kontrollsumman för arkivfilerna.

  3. Nästa steg är att extrahera tar-arkivfilerna, om integritetskontrollen lyckas, till katalogen / usr / local med kommandot nedan: $ sudo tar -C / user / local -xvzf go1.11.5.linux-amd64.tjära.gz

    I detta kommando specificerar C målkatalogen där de extraherade filerna skickas.

  4. För att konfigurera Go-miljö i Ubuntu-uppsättning Go-arbetsytan genom att skapa en katalog ~ / go_project_directory som är roten till arbetsytan. Arbetsytan innehåller tre stora kataloger
    • bin - innehåller binära filer från Golang.
    • src- som lagrar alla källfiler.
    • pkg- som lagrar paketföremål.
    Ett katalogträd kan skapas enligt följande:

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

  5. För att köra Go, följ som resten av Linux-program utan att ange dess absoluta sökväg. Katalogen där golang är installerad ska användas som ett av värdena för miljövariabeln $ PATH.
    • Tillägga / usr / local / go / bin till PATH-miljövariabeln måste följande kommando köras:
    $ sudo gedit $ HOME /.profil

    Eller kan öppna den i terminalen med kommandot

    $ vi .profil

    Sedan / usr / local / go / bin måste läggas till sökvägen. Sedan måste alla ändringar sparas och användaren måste logga ut profilen och logga in igen för ytterligare åtgärder.

    • Alla banor ställs in i profilen genom att ställa in värdena för GOPATH och GOBIN.
    exportera GOPATH = ”$ HOME / go”
    exportera GOBIN = ”$ GOPATH / bin”
    • Om GoLang är installerat i en annan anpassad katalog än standardinställningen (/ usr / local) måste du ange katalogen som GOROOT-variabel. Det görs i th .profil av
    exportera GOROOT = ”$ HOME / go
    exportera PATH = $ PATH: / usr / local / go / bin: $ GOPATH / bin

  6.  GoLang-miljön vid lyckad installation kan kontrolleras i terminalen genom att köra följande kommando: $ go
    $ go env

Installera Gungbräda

  1. Det var ett krav att installera Go eftersom Seesaw v2 har utvecklats med den och beror på flera Go-paket som:
> golang.org / x / crypto / ssh
> github.com / golang / glog
> github.com / dlintw / goconf
> github.com / golang / protobuf / proto
> github.com / miekg / dns
  1. Om man vill regenerera protobuf-koden behövs också protobuf-komileraren och Go protobuf-kompilatorgeneratorn: $ apt-get install protobuf-compiler
    $ go get -u github.com / golamg / protobuf / proto, proto-gen-go

    1. Det måste alltid säkerställas att $ GOPATH / bin finns i $ PATH och i gungbräskatalogen.
    2. Nästa steg är att köra make-kommando eftersom det leder till att flera binära filer läggs till i $ GOPATH / bin med ett gungbräda_prefix, dessa binärer måste installeras på lämpliga platser.

      $ make test
      $ gör installation
      $ gör proto

      Efter att ha kört ovanstående tre kommandon är gungbräda binärer inställda på lämpliga platser. det kan göras genom att skapa gungbräda_install i $ GOPATH / bin och köra nedanstående skript.

      SEESAW_BIN = "/ usr / lokal / gungbräda"
      SEESAW_ETC = "/ etc / gungbräda
      SEESAW_LOG = "/ var / log / gungbräda"
      INIT = 'ps -p 1 -o comm ='
      installera -d "$ SEESAW_BIN" "$ SEESAW_ETC" "$ SEESAW_LOG"
      installera "$ GOPATH / bin / seesaw_cli" / usr / bin / seesaw
      för komponent i ecu, motor, ha, healthcheck, ncc, watchdog; do
      installera "$ GOPATH / bin / seesaw _ $ component" "$ SEESAW_BIN"
      Gjort
      om [$ INIT = "init"]; sedan
      installera "etc / init / seesaw_watchdog.conf "" / etc / init "
      elif [$ INIT = "systemd"]; sedan
      installera "etc / systemd / system / seesaw_watchdog.service "" / etc / systemd / system "
      systemctl - system daemon-reload
      fi
      installera "etc / gungbräda / vakthund.cfg "" $ SEESAW_ETC "
      # Aktivera CAP_NET_RAW för gungbräda binärer som kräver råa uttag.
      / sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / gungbräda"
      / sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / gungbräda"

Konfigurera gungbräda

  1. Varje nod kräver en gungbräda.cfg-fil, känd som konfigurationsfilen, där information om noden och dess tillhörande peer lagras. Protobuf är klusterkonfigurationsfilen för varje kluster och är i klartextformat. Detta gör att den kan öppnas med vilken Linux-textredigerare som helst som nano, vi. Man kan byta gungbräda.cfg med följande kommando:
$ vi / etc / gungbräda / gungbräda.cfg

Ett exempel på gungbräda.CFG-fil

[klunga]
anycast_enabled = false
namn = au-syd
nod_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]
primär = gungbräda-config1.exempel.com
sekundär = gungbräda-config2.exempel.com
tertiär = gungbräda-config3.exempel.com
[gränssnitt]
nod = eth0
lb = eth1

Beskrivningen av ovan nämnda cript ges nedan

Slutsats

På grund av de enorma fördelarna med lastbalanseringsfunktionen används den ofta i många företagsnätverk. Det finns tre typer av leveranslägen i allmänhet i IPv4-standard, Unicast, Multicast och Broadcast. Anycast accepteras i IPv6. Anycast finns sällan i IPv4. Anycast använder för att identifiera ett gränssnitt från en grupp av gränssnitt som ansluter till samma tjänst.  VIP är virtuella IP-adresser som inte tillhör något fysiskt nätverksgränssnitt. En belastningsutjämnare måste vara tillförlitlig och har de viktigaste funktionerna i molntjänster.

Många av belastningsbalanserna på marknaden har inte serverövervakning av backend och många andra specifika funktioner. Det finns flera belastningsbalanseringsmetoder på Open Systems Interconnection Layer 2/3/4. Dessa lager är Data Link Layer, Network Layer och Transport Layer. Gungbräda använder lager 4-teknik med NAT OCH DSR (Direct Server Return). DSR ändrar trafikflödet eller belastningen genom att låta servern svara direkt på klienten. Sammantaget är The Seesaw lastbalanserare robust och pålitlig på grund av dessa aspekter.

Gratis och öppen källkodsmotorer för utveckling av Linux-spel
Den här artikeln kommer att täcka en lista över gratis motorer med öppen källkod som kan användas för att utveckla 2D- och 3D-spel på Linux. Det finns...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider är det tolfte tillskottet till Tomb Raider-serien - en action-äventyrsspelfranchise skapad av Eidos Montreal. Spelet mottogs...
Hur man förbättrar FPS i Linux?
FPS står för Bildrutor per sekund. FPS: s uppgift är att mäta bildfrekvensen i videouppspelningar eller spelprestanda. Med enkla ord betecknas antalet...