Webserver opbauen Load Balancing Benotzt POUND op RHEL/CentOS


POUND ass e Laaschtbalancéierungsprogramm entwéckelt vun der ITSECURITY Company. Et ass e liicht Open Source Reverse Proxy Tool dat als Web-Server Lastbalancer benotzt ka ginn fir d'Laascht tëscht verschiddene Serveren ze verdeelen. Et gi verschidde Virdeeler déi POUND dem Endbenotzer gëtt, déi ganz bequem sinn an d'Aarbecht richteg maachen.

  1. Ënnerstëtzt virtuelle Hosten.
  2. Konfiguréierbar.
  3. Wann e Backend-Server ausgefall ass oder aus engem Feeler erëmfonnt gëtt, detektéiert en automatesch a baséiert seng Laaschtbalancéierungsentscheedungen no deem.
  4. Et refuséiert falsch Ufroen.
  5. Kee spezifizéierte Browser oder Webserver.

Loosst eis kucken wéi dësen Hack gemaach gëtt.

Als éischt braucht Dir e Szenario fir e bessert Verständnis iwwer dëst gemaach ze kréien. Also ech wäert e Szenario benotzen wou et zwee Webserver an ee Paartserver sinn, dee muss d'Ufroe balancéieren kommen op de Paartserver op de Webserver.

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

Schrëtt 1: Installéiert Pound Load Balancer op Gateway Server

1. Deen einfachste Wee fir Pound z'installéieren ass mat pre-kompiléierten RPM Packagen, Dir kënnt RPMs fir RedHat baséiert Verdeelungen op:

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

Alternativ kann Pound einfach aus dem EPEL Repository installéiert ginn wéi hei ënnendrënner.

# yum install epel-release
# yum install Pound

Nodeems Pound installéiert ass, kënnt Dir verifizéieren ob et installéiert ass andeems Dir dëse Kommando ausgitt.

# rpm –qa |grep Pound

2. Zweetens, Dir braucht zwee Web-Server fir d'Laascht ze balanséieren an sécherzestellen datt Dir kloer Identifizéierer hutt fir d'Poundkonfiguratioun ze testen funktionnéiert gutt.

Hei hunn ech zwee Server mat IP Adressen 172.16.1.204 an 192.168.1.161.

Fir einfach ze benotzen, hunn ech Python SimpleHTTPServer erstallt fir en Instant Webserver op béide Serveren ze kreéieren. Liest iwwer Python SimpleHTTPServer

A mengem Szenario hunn ech mäi Webserver01 op 172.16.1.204 duerch Port 8888 an Webserver02 lafen op 192.168.1.161 duerch Port 5555.

Schrëtt 2: Pound Load Balancer konfiguréieren

3. Elo ass et Zäit fir d'Konfiguratiounen ze maachen. Wann Dir Pound erfollegräich installéiert hutt, erstellt d'Konfiguratiounsdatei vum Pound an /etc, nämlech pound.cfg.

Mir mussen de Server an de Backend Detailer änneren fir d'Laascht tëscht de Webserveren ze balanséieren. Gitt op /etc an oppen pound.cfg Datei fir z'änneren.

# vi /etc/pound.cfg

Maacht d'Ännerunge wéi hei ënnendrënner proposéiert.

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

Dëst ass wéi meng pound.cfg Datei ausgesäit.

Ënnert den ListenHTTP an ListenHTTPS Tags musst Dir d'IP Adress vum Server aginn, deen Dir installéiert hutt POUND.

Par défaut handhabt e Server HTTP-Ufroen obwuel Port 80 an HTTPS Ufroen duerch Port 443. Ënnert dem \Service\ Tag, kënnt Dir all Betrag vun Ënnertags genannt \BackEnd derbäisetzen. BackEnd Tags droen d'IP Adressen an d'Portnummeren op deenen d'Webserver lafen.

Elo späichert d'Datei nodeems Dir se richteg geännert hutt an de POUND Service nei starten andeems Dir ee vun de Kommandoen ausgëtt.

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

4. Elo ass et Zäit ze kontrolléieren. Öffnen zwee Webbrowser fir ze kontrolléieren ob eis Konfiguratiounen gutt funktionnéieren. An der Adressbar gitt d'IP Adress vun Ärem POUND Gateway a kuckt wat erschéngt.

Éischt Ufro soll den éischte Webserver01 lueden an déi zweet Ufro vum anere Webbrowser soll den zweeten Webserver02 lueden.

Ausserdeem, denkt un e Szenario wéi wann Dir zwee Webserver hutt fir d'Gläichgewiicht ze lueden an ee vun der Leeschtung vum Server ass gutt an d'Performance vun aneren ass net sou gutt.

Also wann Dir Laaschtequilibratioun tëscht hinnen hutt, musst Dir berücksichtegen op wéi engem Server Dir méi Gewiicht muss setzen. Natierlech fir de Server mat gudde Performance Spezifikatioune.

Fir d'Laascht esou ze balanséieren, musst Dir just een eenzege Parameter an der pound.cfg Datei derbäisetzen. Loosst eis et kucken.

Denken Server 192.168.1.161:5555 ass de bessere Server. Da musst Dir méi Ufroe fléissen op dee Server. Ënnert dem BackEnd Tag dee fir den 192.168.1.161 Server konfiguréiert ass, füügt de Parameter Prioritéit virum Enn Tag.

Kuckt d'Beispill hei ënnen.

D'Gamme déi mir fir de Parameter Prioritéit benotze kënnen ass tëscht 1-9. Wa mir et net definéieren, gëtt de Standardwäert vun 5 zougewisen.

Da gëtt d'Laascht gläich ausgeglach. Wa mir d'Prioritéit Nummer definéieren, wäert POUND de Server mat méi héijer Prioritéit Zuel méi oft lued. Also an dësem Fall gëtt 192.168.1.161:5555 méi dacks gelueden wéi de Server 172.16.1.204:8888.

Schrëtt 3: Planung Noutfall Decompte

Emergency Tag: Dëse Tag gëtt benotzt fir e Server ze lueden am Fall wou all Backend Server dout sinn. Dir kënnt et virum leschten End Tag vun pound.cfg addéieren wéi follegt.

“Emergency
           Address 192.168.5.10
           Port        8080
   End”

6. POUND halen ëmmer Streck vun déi Backend Serveren lieweg sinn an déi net. Mir kënnen no wéivill Sekonnen definéieren POUND d'Backend-Server auschecken andeems Dir de Alive Parameter an pound.cfg bäidréit.

Dir kënnt de Parameter als Alive 30 benotzen fir se op 30 Sekonnen ze setzen. Pound wäert d'Backend Server temporär auszeschalten déi net reagéieren. Wa mir soen datt net reagéiert, kann de Server dout sinn oder kann zu deem Moment keng Verbindung opbauen.

POUND kontrolléiert den behënnerte Backend Server no all Zäitperiod, deen Dir an der pound.cfg Datei definéiert hutt, am Fall, wann de Server eng Verbindung kéint etabléieren, da kann POUND erëm mam Server schaffen.

7. POUND Daemon gëtt vum poundctl Kommando gehandhabt. Doduerch brauche mir d'pound.cfg Datei net z'änneren a mir kënnen Listner Server, BackEnd Server a Sessiounen etc.

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

  1. -c definéiert de Wee op Är Socket.
  2. -L/-l definéiert den Nolauschterer vun Ärer Architektur.
  3. -S/-s definéiert de Service.
  4. -B/-b definéiert d'Backend Server.

Gesinn poundctl Mann Säiten fir méi Informatiounen.

Hoffen Dir genéisst dësen Hack an entdeckt méi Optiounen iwwer dëst. Fillt Iech gratis hei drënner ze kommentéieren fir all Suggestiounen an Iddien. Bleift verbonne mat Tecmint fir praktesch a lescht How To's.