Uppsetning vefþjóna hleðslujöfnun með því að nota POUND á RHEL/CentOS


POUND er álagsjafnvægisáætlun þróað af ITSECURITY Company. Það er létt opinn uppspretta öfugt umboðstæki sem hægt er að nota sem álagsjafnvægi á vefþjóni til að dreifa álagi á nokkra netþjóna. Það eru nokkrir kostir sem POUND gefur endanotendum sem eru mjög þægilegir og gera verkið rétt.

  1. Styður sýndargestgjafa.
  2. Stillanlegt.
  3. Þegar bakendaþjónn er bilaður eða endurheimtur eftir bilun, skynjar hann það sjálfkrafa og byggir ákvarðanir um álagsjöfnun í samræmi við það.
  4. Það hafnar röngum beiðnum.
  5. Enginn tilgreindur vafri eða vefþjónar.

Við skulum skoða hvernig hægt er að fá þetta hakk gert.

Fyrst af öllu þarftu atburðarás til að fá betri skilning á því að gera þetta. Svo ég mun nota atburðarás þar sem það eru tveir vefþjónar og einn gáttarþjónn sem þarf að koma jafnvægi á beiðnirnar sem koma til gáttarþjóns til vefþjóna.

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

Skref 1: Settu upp Pound Load Balancer á Gateway Server

1. Auðveldasta leiðin til að setja upp Pound er að nota fyrirfram samsetta RPM pakka, þú getur fundið RPM fyrir RedHat byggða dreifingu á:

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

Að öðrum kosti er auðvelt að setja Pound upp úr EPEL geymslunni eins og sýnt er hér að neðan.

# yum install epel-release
# yum install Pound

Eftir að Pound hefur verið sett upp geturðu staðfest hvort það sé sett upp með því að gefa út þessa skipun.

# rpm –qa |grep Pound

2. Í öðru lagi þarftu tvo vefþjóna til að halda jafnvægi á álaginu og ganga úr skugga um að þú hafir skýr auðkenni til að prófa að pund stillingar virka vel.

Hér er ég með tvo netþjóna sem bera IP tölur 172.16.1.204 og 192.168.1.161.

Til að auðvelda notkun hef ég búið til python SimpleHTTPServer til að búa til augnablik vefþjón á báðum netþjónum. Lestu um python SimpleHTTPServer

Í atburðarás minni er vefþjónn01 minn keyrandi á 172.16.1.204 í gegnum port 8888 og vefþjónn02 keyrandi á 192.168.1.161 í gegnum port 5555.

Skref 2: Stilltu Pound Load Balancer

3. Nú er kominn tími til að gera stillingarnar klárar. Þegar þú hefur sett upp pund með góðum árangri, býr það til stillingarskrá pundsins í /etc, nefnilega pound.cfg.

Við verðum að breyta upplýsingum um netþjóninn og bakendann til að halda jafnvægi á álaginu á vefþjónunum. Farðu í /etc og opnaðu pound.cfg skrána til að breyta.

# vi /etc/pound.cfg

Gerðu breytingarnar eins og lagt er til hér að neðan.

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

Svona lítur pound.cfg skráin mín út.

Undir „ListenHTTP“ og „ListenHTTPS“ merkin þarftu að slá inn IP tölu netþjónsins sem þú hefur sett upp POUND.

Sjálfgefið er að þjónn meðhöndlar HTTP beiðnir í gegnum port 80 og HTTPS beiðnir í gegnum port 443. Undir „Service“ merkinu geturðu bætt við hvaða magni sem er af undirmerkjum sem kallast „BackEnd“. BackEnd tags bera IP tölur og gáttarnúmer sem vefþjónarnir keyra á.

Vistaðu nú skrána eftir að þú hefur breytt henni rétt og endurræstu POUND þjónustuna með því að gefa út eina af skipunum hér að neðan.

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

4. Nú er kominn tími til að athuga. Opnaðu tvo vafra til að athuga hvort stillingar okkar virka vel. Sláðu inn IP-tölu POUND gáttarinnar í veffangastikuna og sjáðu hvað birtist.

Fyrsta beiðni ætti að hlaða fyrsta vefþjón01 og önnur beiðni frá hinum vefvafranum ætti að hlaða seinni vefþjón02.

Ennfremur, hugsaðu um atburðarás eins og ef þú ert með tvo vefþjóna til að hlaða jafnvægi og frammistaða annars af netþjóninum er góð og frammistaða annars er ekki svo góð.

Svo þegar álagsjafnvægi meðal þeirra verður þú að íhuga fyrir hvaða netþjón þú þarft að leggja meira vægi á. Augljóslega fyrir netþjóninn með góðar frammistöðuforskriftir.

Til að jafna álagið svona þarftu bara að bæta einni breytu inn í pound.cfg skrána. Við skulum skoða það.

Held að þjónninn 192.168.1.161:5555 sé betri þjónninn. Þá þarftu að setja fleiri beiðnir á þann netþjón. Undir „BackEnd“ merkið sem er stillt fyrir 192.168.1.161 miðlara, bætið við færibreytunni „Forgangur“ á undan Lokamerkinu.

Skoðaðu dæmið hér að neðan.

Sviðið sem við getum notað fyrir Forgang færibreytuna er á bilinu 1-9. Ef við skilgreinum það ekki verður sjálfgefið gildi 5 úthlutað.

Þá verður álag jafnt. Ef við skilgreinum forgangsnúmerið mun POUND hlaða þjóninum oftar með hærra forgangsnúmeri. Svo í þessu tilfelli verður 192.168.1.161:5555 hlaðinn oftar en þjónninn 172.16.1.204:8888.

Skref 3: Skipuleggja neyðarbilanir

Neyðarmerki: Þetta merki er notað til að hlaða netþjóni ef allir bakþjónar eru dauðir. Þú getur bætt því við fyrir síðasta lokamerkið á pound.cfg eins og hér segir.

“Emergency
           Address 192.168.5.10
           Port        8080
   End”

6. PUND fylgist alltaf með hvaða bakendaþjónar eru á lífi og hverjir ekki. Við getum skilgreint eftir hversu margar sekúndur POUND ætti að kíkja á bakendaþjónana með því að bæta við Alive breytu í pound.cfg.

Þú getur notað færibreytuna sem Alive 30 til að stilla hana á 30 sekúndur. Pound mun tímabundið slökkva á bakendaþjónum sem svara ekki. Þegar við segjum að þjónninn sem svarar ekki gæti verið dauður eða ekki hægt að koma á tengingu á því augnabliki.

POUND mun athuga óvirka bakendaþjóninn eftir hvert tímabil sem þú hefur skilgreint í pound.cfg skránni ef ef þjónninn gæti komið á tengingu, þá getur POUND farið aftur til starfa með þjóninum.

7. POUND púkinn verður meðhöndlaður með poundctl skipun. Með því að hafa það þurfum við ekki að breyta pound.cfg skránni og við getum gefið út Listner Server, BackEnd netþjóna og lotur osfrv. með einni skipun.

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

  1. -c skilgreinir slóð að innstungunni þinni.
  2. -L/-l skilgreinir hlustanda arkitektúrsins þíns.
  3. -S/-s skilgreinir þjónustuna.
  4. -B/-b skilgreinir bakendaþjónana.

Sjá poundctl man pages fyrir frekari upplýsingar.

Vona að þú hafir gaman af þessu hakk og uppgötvar fleiri valkosti varðandi þetta. Ekki hika við að tjá sig hér að neðan fyrir allar tillögur og hugmyndir. Vertu í sambandi við Tecmint fyrir handhægar og nýjustu How To's.