Nastavitev uravnoteženja obremenitev spletnih strežnikov z uporabo POUND na RHEL/CentOS


POUND je program za uravnoteženje obremenitve, ki ga je razvilo podjetje ITSECURITY. To je lahko odprtokodno obratno posredniško orodje, ki se lahko uporablja kot izravnalnik obremenitve spletnega strežnika za razporeditev obremenitve med več strežniki. POUND daje končnemu uporabniku več prednosti, ki so zelo priročne in opravijo svoje delo pravilno.

  1. Podpira navidezne gostitelje.
  2. Nastavljivo.
  3. Ko zaledni strežnik ne uspe ali se po napaki opomore, ga samodejno zazna in v skladu s tem utemelji svoje odločitve o uravnoteženju obremenitve.
  4. Zavrne napačne zahteve.
  5. Ni določenega brskalnika ali spletnih strežnikov.

Oglejmo si, kako lahko naredimo ta kramp.

Najprej boste potrebovali scenarij za boljše razumevanje tega. Zato bom uporabil scenarij, v katerem sta dva spletna strežnika in en prehodni strežnik, ki mora uravnotežiti zahteve, prihaja do prehodnega strežnika do spletnih strežnikov.

Pound Gateway Server : 172.16.1.222
Web Server 01 : 172.16.1.204
Web Server 02 : 192.168.1.161

Korak 1: Na Gateway Server namestite Pound Load Balancer

1. Pound najlažje namestite z uporabo vnaprej sestavljenih paketov RPM, RPM-je za distribucije, ki temeljijo na RedHat, najdete na:

  1. http://www.invoca.ch/pub/packages/pound/

Pound lahko enostavno namestite iz odlagališča EPEL, kot je prikazano spodaj.

# yum install epel-release
# yum install Pound

Po namestitvi programa Pound lahko z izdajo tega ukaza preverite, ali je nameščen.

# rpm –qa |grep Pound

2. Drugič, potrebujete dva spletna strežnika, da uravnotežite obremenitev in se prepričate, da imate jasne identifikatorje, da lahko preizkusite konfiguracijo funta.

Tu imam dva strežnika z naslovoma IP 172.16.1.204 in 192.168.1.161.

Za lažjo uporabo sem ustvaril python SimpleHTTPServer, da ustvarim takojšen spletni strežnik na obeh strežnikih. Preberite o python SimpleHTTPServer

V mojem scenariju imam svoj spletni strežnik01, ki se izvaja 172.16.1.204 prek vrat 8888, in spletni strežnik02, ki se izvaja 192.168.1.161 prek vrat 5555.

Korak 2: Konfigurirajte Balance Balancer

3. Zdaj je čas, da konfiguracije opravite. Ko uspešno namestite funt, v datoteki/etc ustvari konfiguracijsko datoteko funta, in sicer pound.cfg .

Podrobnosti strežnika in zaledja moramo urediti, da uravnotežimo obremenitev med spletnimi strežniki. Odprite/etc in odprite datoteko pound.cfg za urejanje.

# vi /etc/pound.cfg

Izvedite spremembe, kot je predlagano spodaj.

ListenHTTP
    Address 172.16.1.222
    Port 80
End

ListenHTTPS
    Address 172.16.1.222
    Port    443
    Cert    "/etc/pki/tls/certs/pound.pem"
End

Service
    BackEnd
        Address 172.16.1.204
        Port    8888
    End

    BackEnd
        Address 192.168.1.161
        Port    5555
    End
End

Tako je videti moja datoteka pound.cfg.

Pod oznaki\"ListenHTTP" in\"ListenHTTPS" morate vnesti naslov IP strežnika, ki ste ga namestili POUND.

Strežnik privzeto obravnava zahteve HTTP prek vrat 80 in zahtev HTTPS prek vrat 443. Pod oznako\"Service" lahko dodate poljubno količino podtegov, imenovanih\"BackEnd". Oznake BackEnd vsebujejo naslove IP in številke vrat, na katerih delujejo spletni strežniki.

Zdaj shranite datoteko po pravilnem urejanju in znova zaženite storitev POUND, tako da izdate enega od spodnjih ukazov.

# /etc/init.d/pound restart 
OR
# service pound restart
OR
# systemctl restart pound.service

4. Zdaj je čas za preverjanje. Odprite dva spletna brskalnika, da preverite, ali naše konfiguracije dobro delujejo. V naslovno vrstico vnesite naslov IP prehoda POUND in si oglejte, kaj se prikaže.

Prva zahteva mora naložiti prvi spletni strežnik01, druga zahteva drugega spletnega brskalnika pa drugi spletni strežnik02.

Poleg tega si omislite scenarij, na primer, če imate dva spletna strežnika za uravnoteženje obremenitve in je ena od zmogljivosti strežnika dobra, uspešnost drugega pa ni tako dobra.

Torej, ko boste med njimi uravnotežili obremenitev, boste morali razmisliti, za kateri strežnik morate dati večjo težo. Očitno za strežnik z dobrimi tehničnimi specifikacijami.

Če želite tako uravnotežiti obremenitev, morate v datoteko pound.cfg dodati samo en parameter. Poglejmo si.

Mislite, da je strežnik 192.168.1.161:5555 boljši strežnik. Potem morate na ta strežnik vstaviti več pretoka zahtev. Pod oznako\"BackEnd", ki je konfigurirana za strežnik 192.168.1.161, dodajte parameter\"Prednost" pred Končno oznako.

Oglejte si spodnji primer.

Obseg, ki ga lahko uporabimo za parameter\"Prednost", je med 1-9. Če ga ne določimo, bo dodeljena privzeta vrednost 5.

Potem bo obremenitev enakomerno uravnotežena. Če določimo prednostno številko, bo POUND pogosteje naložil strežnik z večjo prioritetno številko. Torej bo v tem primeru 192.168.1.161:5555 naložen pogosteje kot strežnik 172.16.1.204:8888.

3. korak: Načrtovanje nujnih razčlenitev

Oznaka v sili: Ta oznaka se uporablja za nalaganje strežnika, če so vsi zaledni strežniki mrtvi. Lahko ga dodate pred zadnjo končno oznako pound.cfg, kot sledi.

“Emergency
           Address 192.168.5.10
           Port        8080
   End”

6. POUND vedno spremljajte, kateri zaledni strežniki so živi in kateri ne. Določimo lahko, po koliko sekundah mora POUND preveriti zaledne strežnike, tako da v pound.cfg dodate parameter\"Alive".

Parameter lahko uporabite kot\"Alive 30", če ga želite nastaviti na 30 sekund. Pound bo začasno onemogočil zaledne strežnike, ki se ne odzivajo. Če rečemo, da je neodzivni strežnik morda mrtev ali v tem trenutku ne more vzpostaviti povezave.

POUND bo preveril onemogočen zaledni strežnik po vsakem časovnem obdobju, ki ste ga določili v datoteki pound.cfg, če bi strežnik lahko vzpostavil povezavo, lahko POUND spet začne delovati s strežnikom.

7. Z demonom POUND se bo upravljalo z ukazom poundctl. S tem nam ni treba urejati datoteke pound.cfg in z enim ukazom lahko izdamo strežnik Listner, strežnike BackEnd in seje itd.

Syntax: poundctl -c /path/to/socket [-L/-l] [-S/-s] [-B/-b] [-N/-n] [-H] [-X]

  1. -c definira pot do vaše vtičnice.
  2. -L/-l določa poslušalca vaše arhitekture.
  3. -S/-s definira storitev.
  4. -B/-b definira zaledne strežnike.

Za več informacij glejte strani z informacijami o poundctl.

Upam, da boste uživali v tem krampalu in odkrili več možnosti glede tega. Za vse predloge in ideje lahko spodaj komentirate. Bodite povezani s Tecmintom za priročna in najnovejša navodila.