Twaqqif ta' Ibbilanċjar tat-Tagħbija ta' Web Servers bl-użu ta' POUND fuq RHEL/CentOS


POUUND huwa programm ta 'ibbilanċjar tat-tagħbija żviluppat mill-Kumpanija ITSECURITY. Hija għodda ħafifa ta' prokura inversa ta' sors miftuħ li tista' tintuża bħala bilanċjar tat-tagħbija tal-web-server biex tqassam it-tagħbija fost diversi servers. Hemm diversi vantaġġi li POUUND tagħti lill-utent aħħari li huma konvenjenti ħafna u jagħmel ix-xogħol tajjeb.

  1. Jappoġġja hosts virtwali.
  2. Konfigurabbli.
  3. Meta server backend falla jew jiġi rkuprat minn ħsara, jiskoprih awtomatikament u jibbaża d-deċiżjonijiet tiegħu dwar l-ibbilanċjar tat-tagħbija skont dan.
  4. Jirrifjuta talbiet mhux korretti.
  5. L-ebda browser jew servers tal-web speċifikati.

Ejja nagħtu ħarsa lejn kif tista 'tagħmel dan il-hack.

L-ewwelnett ser ikollok bżonn xenarju għal fehim aħjar dwar kif dan isir. Allura se nuża xenarju fejn hemm żewġ webservers u server wieħed gateway li jeħtieġ li jibbilanċja t-talbiet jasal għal server gateway għal servers web.

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

Pass 1: Installa Pound Load Balancer fuq Gateway Server

1. L-eħfef mod biex tinstalla Pound huwa li tuża pakketti RPM miġbura minn qabel, tista 'ssib RPMs għal distribuzzjonijiet ibbażati fuq RedHat fuq:

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

Alternattivament, Pound jista 'jiġi installat faċilment mir-repożitorju EPEL kif muri hawn taħt.

# yum install epel-release
# yum install Pound

Wara li Pound installat, tista 'tivverifika jekk hijiex installata billi toħroġ dan il-kmand.

# rpm –qa |grep Pound

2. It-tieni nett, għandek bżonn żewġ web-servers biex tibbilanċja t-tagħbija u kun żgur li għandek identifikaturi ċari sabiex tittestja l-konfigurazzjoni tal-lira taħdem sew.

Hawnhekk għandi żewġ servers li għandhom indirizzi IP 172.16.1.204 u 192.168.1.161.

Għal faċilità ta 'użu, ħloqt python SimpleHTTPServer biex noħloq webserver instantanju fuq iż-żewġ servers. Aqra dwar python SimpleHTTPServer

Fix-xenarju tiegħi, għandi l-webserver01 tiegħi jaħdem fuq 172.16.1.204 permezz tal-port 8888 u l-webserver02 jaħdem fuq 192.168.1.161 permezz tal-port 5555.

Pass 2: Ikkonfigura Pound Load Balancer

3. Issa wasal iż-żmien li jsiru l-konfigurazzjonijiet. Ladarba tkun installat il-lira b'suċċess, toħloq il-fajl tal-konfigurazzjoni tal-lira f'/etc, jiġifieri pound.cfg.

Irridu neditjaw is-server u d-dettalji tal-backend sabiex nibbilanċjaw it-tagħbija fost il-webservers. Mur għal /etc u iftaħ il-fajl pound.cfg għall-editjar.

# vi /etc/pound.cfg

Agħmel il-bidliet kif issuġġerit hawn taħt.

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

Dan huwa kif il-fajl pound.cfg tiegħi jidher.

Taħt it-tags \ListenHTTP u \ListenHTTPS, trid iddaħħal l-indirizz IP tas-server li installajt POUND.

B'mod awtomatiku server jieħu ħsieb it-talbiet HTTP għalkemm port 80 u talbiet HTTPS permezz tal-port 443. Taħt it-tikketta \Servizz, tista' żżid kwalunkwe ammont ta' tikketti sekondarji msejħa \BackEnd. It-tags BackEnd għandhom l-indirizzi IP u n-numri tal-port li qed jaħdmu fuqhom is-servers tal-web.

Issa ssejvja l-fajl wara li teditjah b'mod korrett u terġa 'tibda s-servizz tal-POUND billi toħroġ waħda mill-kmandi ta' hawn taħt.

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

4. Issa wasal iż-żmien li tiċċekkja. Iftaħ żewġ web browsers biex tivverifika jekk il-konfigurazzjonijiet tagħna jaħdmux sew. Fil-bar tal-indirizz ittajpja l-indirizz IP tal-gateway tal-POUND tiegħek u ara x'jidher.

L-ewwel talba għandha tgħabbi l-ewwel webserver01 u t-tieni talba mill-web browser l-ieħor għandha tgħabbi t-tieni webserver02.

Barra minn hekk, aħseb f'xenarju bħal jekk għandek żewġ webservers biex tgħabbi l-bilanċ u waħda mill-prestazzjoni tas-server hija tajba u l-prestazzjoni ta 'ħaddieħor mhix daqshekk tajba.

Allura meta l-ibbilanċjar tat-tagħbija bejniethom, ser ikollok tikkunsidra għal liema server trid tpoġġi aktar piż fuq. Ovvjament għas-server bi specs ta 'prestazzjoni tajba.

Biex tibbilanċja t-tagħbija bħal dik, għandek biss iżżid parametru wieħed ġewwa l-fajl pound.cfg. Ejja nagħtu ħarsa lejha.

Aħseb server 192.168.1.161:5555 huwa l-aħjar server. Imbagħad għandek bżonn tpoġġi aktar talbiet fluss għal dak is-server. Taħt it-tikketta \BackEnd li hija kkonfigurata għas-server 192.168.1.161, żid il-parametru \Prijorità qabel it-tikketta Tmiem.

Ħares lejn l-eżempju hawn taħt.

Il-firxa li nistgħu nużaw għall-parametru \Prijorità hija bejn 1-9. Jekk ma niddefinixxuhiex, jiġi assenjat valur default ta' 5.

Imbagħad it-tagħbija tkun ibbilanċjata b'mod ugwali. Jekk niddefinixxu n-numru ta 'Prijorità, POUND se jgħabbi s-server b'numru ta' prijorità ogħla aktar spiss. Allura f'dan il-każ, 192.168.1.161:5555 se jitgħabba aktar spiss mis-server 172.16.1.204:8888.

Stadju 3: Ippjanar Tkissir ta 'Emerġenza

Tag ta 'Emerġenza: Din it-tikketta tintuża biex tgħabbi server f'każ li s-servers kollha ta' wara jkunu mejta. Tista 'żżidha qabel l-aħħar tikketta Tmiem ta' pound.cfg kif ġej.

“Emergency
           Address 192.168.5.10
           Port        8080
   End”

6. LIERA dejjem iżżomm rekord ta 'liema servers backend huma ħajjin u liema mhumiex. Nistgħu niddefinixxu wara kemm-il sekondi PUND għandha tikkontrolla s-servers backend billi żżid il-parametru \Alive f'pound.cfg.

Tista 'tuża l-parametru bħala \Alive 30 biex issettjah għal 30 sekonda. Pound se tiddiżattiva temporanjament is-servers backend li mhux qed jirrispondu. Meta ngħidu li s-server li ma jirrispondix jista' jkun mejjet jew ma jistax jistabbilixxi konnessjoni f'dak il-mument.

POUND se jiċċekkja s-server backend b'diżabilità wara kull perjodu ta 'żmien li ddefinijt fil-fajl pound.cfg f'każ li s-server jista' jistabbilixxi konnessjoni, allura POUND jista 'jerġa' jerġa' jaħdem mas-server.

7. POUND daemon se jiġi ttrattat mill-kmand poundctl. Billi jkollna dan m'għandniex bżonn neditjaw il-fajl pound.cfg u nistgħu noħorġu Listner Server, servers BackEnd u sessjonijiet eċċ permezz ta 'kmand wieħed.

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

  1. -c jiddefinixxi l-passaġġ għas-socket tiegħek.
  2. -L/-l jiddefinixxi s-semmiegħ tal-arkitettura tiegħek.
  3. -S/-s jiddefinixxi s-servizz.
  4. -B/-b jiddefinixxi s-servers backend.

Ara l-paġni man poundctl għal aktar informazzjoni.

Nittama li tgawdi dan il-hack u tiskopri aktar għażliet dwar dan. Ħossok liberu li tikkummenta hawn taħt għal kwalunkwe suġġeriment u ideat. Żomm konness ma' Tecmint għal How To's handy u l-aktar reċenti.