Vrste balansa opterećenja
Postoje dvije vrste platformi za uravnoteženje opterećenja - HAProxy i Linux Virtual Server, također poznati kao LVS, a Seesaw v2 je platforma za uravnoteženje opterećenja koja se temelji na Linux virtualnom poslužitelju.
Seesaw je vrlo fleksibilan alat koji se može koristiti kao osnovni uravnoteživač opterećenja za male i srednje web stranice do naprednog uravnoteživača opterećenja za mreže na razini poduzeća gdje je desetak poslužitelja međusobno povezano. Podržava neke napredne Ipv6 značajke kao što su anycast, multicast, unicast i izravni povratak poslužitelja, više VLAN-ova.
Imajući robustan dizajn čini ga prikladnim za lako održavanje i pouzdanost. Dizajniran je 2012. godine kako bi udovoljio Googleovim jedinstvenim potrebama, koje postojeće opcije nisu zadovoljile. Razvijen je u Go-u koji je statički upisan jezik i izveden iz C jezik. Sadrži mnoge značajke jezika na visokoj razini kao što je sakupljanje smeća za čišćenje memorije, sigurnost tipa, nizovi promjenjive duljine, mogućnosti dinamičkog tipkanja i mape ključ / vrijednost te veliku standardnu knjižnicu. Golang je kompajlirani jezik koji je razvio Google. Mnoge moderne aplikacije poput Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) i Caddy napisane su u Go.
Preduvjet
- Poveznica za preuzimanje najnovije verzije GoLanga za Linux dostupna je na https: // golang.org / dl / u obliku arhivske datoteke.
- Integritet tarbola može se provjeriti uspoređivanjem hash vrijednosti generirane pomoću naredbe shassum s hash vrijednošću navedenom na web mjestu. Ako postoji bilo kakva razlika u hash vrijednostima, uvijek se mora preuzeti novi tarball arhive. Ako je provjera uspješna, nastavite prije podučavanja.
U ovoj se naredbi -a koristi za određivanje algoritma za generiranje hash vrijednosti i ova naredba u cjelini izvodi SHA256 kontrolnu sumu arhivskih datoteka.
- Sljedeći korak je izdvajanje datoteka tar arhive, ako je provjera integriteta uspješna, u / usr / local direktorij pomoću naredbe dane u nastavku: $ sudo tar -C / user / local -xvzf go1.11.5.linux-amd64.katran.gz
U ovoj naredbi -C određuje odredišni direktorij u koji se šalju izvađene datoteke.
- Da biste konfigurirali Go Environment u Ubuntu postavci Go radnog prostora stvaranjem direktorija ~ / go_project_directory koji je korijen radnog prostora. Radni prostor sadrži tri glavna direktorija
• bin - sadrži binarne datoteke golanga.
• src- koji pohranjuje sve izvorne datoteke.
• pkg - koji će pohraniti predmete paketa.
Stablo direktorija može se stvoriti na sljedeći način: $ mkdir -p ~ / go_projects / bin, src, pkg
$ cd go_projects /
$ ls - Da biste izvršili Go, slijedite ostatak Linux programa bez navođenja njegovog apsolutnog puta. Direktorij u kojem je instaliran golang trebao bi se koristiti kao jedna od vrijednosti varijable okoline $ PATH.
- Dodati / usr / local / go / bin na varijablu okruženja PATH mora se pokrenuti sljedeća naredba:
Ili ga možete otvoriti u terminalu pomoću naredbe
$ vi .profilZatim / usr / local / go / bin mora se dodati stazi. Tada se sve promjene moraju spremiti, a korisnik se mora odjaviti iz profila i ponovo prijaviti za daljnji postupak.
- Sve staze postavljaju se u profilu postavljanjem vrijednosti GOPATH i GOBIN.
izvoz GOBIN = "$ GOPATH / bin"- Ako je GoLang instaliran u prilagođeni direktorij koji nije zadani (/ usr / local), postoji potreba da se taj direktorij navede kao varijabla GOROOT. To se vrši u .profil korisnika
izvoz PATH = $ PATH: / usr / local / go / bin: $ GOPATH / bin - GoLang okruženje nakon uspješnog postavljanja može se provjeriti u terminalu pokretanjem sljedeće naredbe: $ go
$ go env
Instaliranje klackalice
- Zahtjev je bio instalirati Go jer je Seesaw v2 razvijen s njim i ovisi o nekoliko Go paketa poput:
> github.com / golang / glog
> github.com / dlintw / goconf
> github.com / golang / protobuf / proto
> github.com / miekg / dns
- Ako se želi regenerirati kôd protobuf-a, potreban je i kompajler protobuf-a i generator protobuf-a prevoditelja Go: $ apt-get install protobuf-compiler
$ go get -u github.com / golamg / protobuf / proto, proto-gen-go- Uvijek se mora osigurati da $ GOPATH / bin bude u $ PATH i u direktoriju klackalica.
- Sljedeći je korak pokretanje naredbe make jer dovodi do dodavanja nekoliko binarnih datoteka u $ GOPATH / bin s prefiksom klackalice_, te binarne datoteke moraju biti instalirane na odgovarajuća mjesta.
$ make test
$ make install
$ make protoNakon pokretanja gore navedene tri naredbe klackalice se postavljaju na odgovarajuća mjesta. to se može napraviti stvaranjem seeaw_install u $ GOPATH / bin i izvršavanjem donje skripte.
SEESAW_BIN = "/ usr / local / klackalica"
SEESAW_ETC = "/ etc / klackalica
SEESAW_LOG = "/ var / log / klackalica"
INIT = 'ps -p 1 -o comm ='
instaliraj -d "$ SEESAW_BIN" "$ SEESAW_ETC" "$ SEESAW_LOG"
instalirati "$ GOPATH / bin / seeaw_cli" / usr / bin / klackalica
za komponentu u ecu, engine, ha, healthcheck, ncc, watchdog; čini
instaliraj "$ GOPATH / bin / klackalica _ $ komponenta" "" $ SEESAW_BIN "
gotovo
ako [$ INIT = "init"]; zatim
instalirati "etc / init / seeaw_watchdog.conf "" / etc / init "
elif [$ INIT = "systemd"]; zatim
instalirati "etc / systemd / system / seeaw_watchdog.usluga "" / etc / systemd / system "
systemctl - ponovno pokretanje demona sustava
fi
instalirati "etc / klackalica / čuvar.cfg "" $ SEESAW_ETC "
# Omogućite CAP_NET_RAW za binarne datoteke klackalica koje zahtijevaju sirove utičnice.
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_ha"
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_healthcheck"
Konfiguriranje klackalice
- Svaki čvor zahtijeva klackalicu.cfg datoteka, poznata kao konfiguracijska datoteka, u kojoj se pohranjuju podaci o čvoru i pripadajućem njemu. Protobuf je datoteka konfiguracije klastera za svaki klaster i nalazi se u formatu običnog teksta. To mu omogućuje otvaranje s bilo kojim Linux uređivačem teksta poput nano, vi. Može se promijeniti klackalica.cfg pomoću sljedeće naredbe:
Primjer klackalice.cfg datoteku
[Klastera]anycast_enabled = false
ime = au-syd
nod_ipv4 = 192.168.
node_ipv6 = 2015: cafe :: 2
peer_ipv4 = 192.168.10.3
peer_ipv6 = 2015: kafić :: 3
vip_ipv4 = 192.168.10.1
vip_ipv6 = 2015: kafić :: 1
[config_server]
primarni = klackalica-konfiguracija1.primjer.com
sekundarno = klackalica-konfiguracija2.primjer.com
tercijarna = klackalica-config3.primjer.com
[sučelje]
čvor = eth0
lb = eth1
Opis gore navedene kripte dan je u nastavku
- anycast_enabled - Anycast se može omogućiti postavljanjem ove vrijednosti.
- ime - Kratki naziv koji je dodijeljen ovoj grupi.
- node_ipv4 - IPv4 adresa trenutnog čvora s klatnom.
- peer_ipv4 - IPv4 adresa našeg vršnjačkog čvora s klatnom.
- vip_ipv4 - IPv4 adresa za trenutnu virtualnu IP klastera.
Zaključak
Zbog neizmjernih prednosti značajke uravnoteženja opterećenja, često se koristi u mnogim korporativnim mrežama. Općenito postoje tri vrste načina isporuke u IPv4 standardu, Unicast, Multicast i Broadcast. Anycast je prihvaćen u IPv6. Anycast je rijetko prisutan u IPv4. Anycast koristi za prepoznavanje sučelja iz skupine sučelja koja se povezuju na istu uslugu. VIP-ovi su virtualne IP adrese koje ne pripadaju nijednom fizičkom mrežnom sučelju. Ravnoteža opterećenja mora biti pouzdana i imati najvažnije značajke u uslugama u oblaku.
Mnogi uravnoteživači tereta na tržištu nemaju nadzor pozadinskog poslužitelja i mnoge druge specifične značajke. Postoji nekoliko metoda uravnoteženja opterećenja na sloju međusobnog povezivanja otvorenih sustava 2/3/4. Ti su slojevi sloj podatkovne veze, mrežni sloj i transportni sloj. Seesaw koristi tehniku sloja 4 s NAT I DSR (Direct Server Return). DSR modificira protok prometa ili opterećenje dopuštajući poslužitelju da izravno odgovori klijentu. Sve u svemu, uravnoteživač tereta Seesaw je robustan i pouzdan zbog ovih aspekata.