Veebiserverite koormuse tasakaalustamise seadistamine POH-i abil RHEL/CentOS-is


POUND on ettevõtte ITSECURITY välja töötatud koormuse tasakaalustamise programm. See on kerge avatud lähtekoodiga vastupidise puhverserveri tööriist, mida saab kasutada veebiserveri koormuse tasakaalustajana koormuse jaotamiseks mitme serveri vahel. POUND annab lõppkasutajale mitmeid eeliseid, mis on väga mugavad ja teevad tööd õigesti.

  1. Toetab virtuaalseid hoste.
  2. konfigureeritav.
  3. Kui taustserver ebaõnnestub või rikke korral taastatakse, tuvastab ta selle automaatselt ja lähtub vastavalt oma koormuse tasakaalustamise otsustest.
  4. See lükkab valed taotlused tagasi.
  5. Pole määratud brauserit ega veebiservereid.

Vaatame, kuidas saab selle häkkimise korda saata.

Kõigepealt vajate stsenaariumi, et paremini aru saada selle saavutamisest. Seega kasutan stsenaariumi, kus on kaks veebiserverit ja üks lüüsiserver, mis peab taotluste tasakaalustamiseks jõudma lüüsiserveri veebiserveritele.

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

1. samm: installige naelkoormuse tasakaalustaja lüüsiserverisse

1. Lihtsaim viis Poundi installimiseks on eelnevalt koostatud RPM-i pakettide kasutamine. RedHat-põhiste jaotuste RPM-id leiate aadressilt

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

Teise võimalusena saab Poundi hõlpsasti installida EPEL-i hoidlast, nagu allpool näidatud.

# yum install epel-release
# yum install Pound

Pärast naela installimist saate selle käsu väljastades kontrollida, kas see on installitud.

# rpm –qa |grep Pound

2. Teiseks vajate koormuse tasakaalustamiseks ja selgete identifikaatorite olemasolu tagamiseks kaht veebiserverit, et testida naela konfiguratsiooni toimimist.

Siin on mul kaks serverit, millel on IP-aadressid 172.16.1.204 ja 192.168.1.161.

Kasutusmugavuse huvides olen loonud mõlemas serveris kohese veebiserveri loomiseks python SimpleHTTPServeri. Lisateave pythoni SimpleHTTPServeri kohta

Minu stsenaariumi korral töötab minu veebiteenus01 172.16.1.204 pordi 8888 kaudu ja veebiserver02 192.168.1.161 pordi 5555 kaudu.

2. samm: naela koormuse tasakaalustaja seadistamine

3. Nüüd on aeg seadistused teha. Kui nael on edukalt installitud, loob see naela konfiguratsioonifaili kataloogis/etc, nimelt pound.cfg .

Veebiserverite koormuse tasakaalustamiseks peame redigeerima serveri ja taustaprogrammi üksikasju. Minge saidile/etc ja avage redigeerimiseks fail pound.cfg .

# vi /etc/pound.cfg

Tehke muudatused allpool soovitatud viisil.

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

Nii näeb minu fail pound.cfg välja.

Märgendite\"ListenHTTP" ja\"ListenHTTPS" alla peate sisestama POUNDi installitud serveri IP-aadressi.

Vaikimisi haldab server HTTP-päringuid pordi 80 ja HTTPS-päringute kaudu pordi 443 kaudu. Märgendi\"Service" alla saate lisada suvalise hulga alammärgendeid nimega\"BackEnd". BackEnd sildid kannavad IP-aadresse ja pordinumbreid, millel veebiserverid töötavad.

Nüüd salvestage fail pärast selle korrektset redigeerimist ja taaskäivitage teenus POUND, väljastades ühe allolevatest käskudest.

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

4. Nüüd on aeg kontrollida. Avage kaks veebibrauserit, et kontrollida, kas meie konfiguratsioonid toimivad hästi. Sisestage aadressiribale oma POUND-lüüsi IP-aadress ja vaadake, mis kuvatakse.

Esimene taotlus peaks laadima esimese veebiserveri01 ja teine taotlus teisest veebibrauserist laadima teise veebiserveri02.

Mõelge ka stsenaariumile, näiteks kui teil on tasakaalu laadimiseks kaks veebiserverit ja üks serveri jõudlusest on hea ja teise jõudlus pole nii hea.

Nii et nende vahel koormuse tasakaalustamisel peate arvestama, millise serveri jaoks peate rohkem kaalu panema. Ilmselgelt heade tehniliste näitajatega serveri jaoks.

Sellise koormuse tasakaalustamiseks peate faili pound.cfg lisama lihtsalt ühe parameetri. Vaatame seda.

Arvan, et server 192.168.1.161:5555 on parem server. Siis peate sellesse serverisse saatma rohkem taotlusi. Lisage 192.168.1.161 serveri jaoks konfigureeritud\"BackEnd" sildi alla parameeter\"Prioriteet" sildi End ette.

Vaadake allpool toodud näidet.

Parameetri\"Prioriteet" jaoks kasutatav vahemik on vahemikus 1–9. Kui me seda ei määratle, määratakse vaikeväärtuseks 5.

Siis tasakaalustatakse koormus võrdselt. Kui määratleme prioriteedinumbri, laadib POUND serveri sagedamini suurema prioriteedinumbriga. Nii et sel juhul laaditakse 192.168.1.161:5555 sagedamini kui server 172.16.1.204:8888.

3. samm: hädaolukorra jaotuste kavandamine

Hädaolukorra silt: seda silti kasutatakse serveri laadimiseks juhul, kui kõik tagumise serveri serverid on surnud. Saate selle lisada pound.cfg viimase lõpu märgendi ette järgmiselt.

“Emergency
           Address 192.168.5.10
           Port        8080
   End”

6. POUND jälgib alati, millised taustserverid on elus ja millised mitte. Saame määratleda, mitu sekundit pärast POUND peaks taustaprogrammi servereid kontrollima, lisades parameetri\"Alive" pound.cfg.

Parameetri kasutamiseks kui "Alive 30" saate selle seadistada 30 sekundiks. Pound keelab ajutiselt taustaprogrammid, mis ei reageeri. Kui me ütleme, et reageerimata server võib olla surnud või ei saa sel hetkel ühendust luua.

POUND kontrollib keelatud taustserverit pärast iga failis pound.cfg määratletud ajaperioodi, juhul kui server suudab ühenduse luua, saab POUND serveriga uuesti tööle asuda.

7. POUND deemonit käsitletakse käsuga poundctl. Selle olemasolu korral ei pea me faili pound.cfg redigeerima ja saame ühe käsu kaudu välja anda Listner Serveri, BackEnd'i serverid ja seansid.

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

  1. -c määratleb tee teie pistikupessa.
  2. -L/-l määratleb teie arhitektuuri kuulaja.
  3. -S/-s määratleb teenuse.
  4. -B/-b määratleb taustaprogrammi serverid.

Lisateavet leiate poundctl käsiraamatutelt.

Loodetavasti teile meeldib see häkkimine ja leiate sellega seoses rohkem võimalusi. Kommenteerige julgelt allpool ettepanekuid ja ideid. Hoidke ühendust Tecmintiga, et saada käepäraseid ja uusimaid juhiseid.