Verkkopalvelimien kuormituksen tasauksen määrittäminen käyttämällä RHEL/CentOS:n POUND-toimintoa


POUND on ITSECURITY Companyn kehittämä kuormantasausohjelma. Se on kevyt avoimen lähdekoodin käänteinen välityspalvelintyökalu, jota voidaan käyttää verkkopalvelimen kuormituksen tasapainottajana kuorman jakamiseen useiden palvelimien kesken. POUND tarjoaa loppukäyttäjälle useita etuja, jotka ovat erittäin käteviä ja tekevät työn oikein.

  1. Tukee virtuaalisia isäntiä.
  2. Muokattava.
  3. Kun taustapalvelin vioittuu tai palautuu viasta, se havaitsee sen automaattisesti ja perustaa kuormituksen tasapainotuspäätöksensä sen mukaan.
  4. Se hylkää virheelliset pyynnöt.
  5. Ei määritettyä selainta tai verkkopalvelimia.

Katsotaanpa, kuinka tämä hakkerointi saadaan aikaan.

Ensinnäkin tarvitset skenaarion ymmärtääksesi paremmin tämän tekemisen. Joten käytän skenaariota, jossa on kaksi verkkopalvelinta ja yksi yhdyskäytäväpalvelin, jonka on tasapainotettava pyyntöjä, jotka tulevat yhdyskäytäväpalvelimelta verkkopalvelimille.


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

Vaihe 1: Asenna Pound Load Balancer Gateway Serveriin

1. Helpoin tapa asentaa Pound on käyttää valmiiksi käännettyjä RPM-paketteja. Löydät RPM:t RedHat-pohjaisille jakeluille osoitteesta:

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

Vaihtoehtoisesti Pound voidaan asentaa helposti EPEL-arkistosta alla olevan kuvan mukaisesti.


yum install epel-release
yum install Pound

Kun Pound on asennettu, voit tarkistaa, onko se asennettu antamalla tämän komennon.


rpm –qa |grep Pound

2. Toiseksi tarvitset kaksi verkkopalvelinta tasapainottamaan kuormitusta ja varmistamaan, että sinulla on selkeät tunnisteet, jotta voit testata, että punta-asetukset toimivat hyvin.

Tässä minulla on kaksi palvelinta, joiden IP-osoitteet ovat 172.16.1.204 ja 192.168.1.161.

Käytön helpottamiseksi olen luonut python SimpleHTTPServerin luomaan välittömän verkkopalvelimen molemmille palvelimille. Lue python SimpleHTTPServeristä

Minun skenaariossani webserver01 on käynnissä 172.16.1.204 portin 8888 kautta ja webserver02 käynnissä >192.168.1.161 portin 5555 kautta.

Vaihe 2: Määritä Pound Load Balancer

3. Nyt on aika tehdä määritykset valmiiksi. Kun olet asentanut poundin onnistuneesti, se luo poundin määritystiedoston kansioon /etc, eli pound.cfg.

Meidän on muokattava palvelimen ja taustajärjestelmän tietoja tasapainottaaksemme kuormitusta verkkopalvelimien välillä. Siirry osoitteeseen /etc ja avaa pound.cfg-tiedosto muokkausta varten.


vi /etc/pound.cfg

Tee muutokset alla ehdotetulla tavalla.


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

Tältä pound.cfg-tiedostoni näyttää.

Tunnisteiden "ListenHTTP" ja "ListenHTTPS" alle sinun on annettava POUND-palvelimen IP-osoite.

Oletuksena palvelin käsittelee HTTP-pyynnöt portin 80 kautta ja HTTPS-pyynnöt portin 443 kautta. Palvelu-tunnisteen alle voit lisätä minkä tahansa määrän alitageja nimeltä BackEnd . BackEnd-tunnisteet sisältävät IP-osoitteet ja porttinumerot, joissa verkkopalvelimet käyttävät.

Tallenna nyt tiedosto, kun olet muokannut sitä oikein, ja käynnistä POUND-palvelu uudelleen antamalla jokin alla olevista komennoista.


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

4. Nyt on aika tarkistaa. Avaa kaksi verkkoselainta tarkistaaksesi, toimivatko kokoonpanomme hyvin. Kirjoita osoitepalkkiin POUND-yhdyskäytäväsi IP-osoite ja katso, mitä tulee näkyviin.

Ensimmäisen pyynnön tulee ladata ensimmäinen webserver01 ja toisen pyynnön toisesta verkkoselaimesta pitäisi ladata toinen webserver02.

Ajattele myös skenaariota, kuten jos sinulla on kaksi verkkopalvelinta kuormitustasoa varten ja yhden palvelimen suorituskyky on hyvä ja toisen suorituskyky ei niin hyvä.

Joten kun tasapainotat niiden välillä, sinun on harkittava, kummalle palvelimelle sinun on painotettava enemmän. Ilmeisesti palvelimelle, jolla on hyvät suorituskykytiedot.

Tasapainottaaksesi kuormitusta, sinun on vain lisättävä yksi parametri pound.cfg-tiedostoon. Katsotaanpa sitä.

Ajattele, että palvelin 192.168.1.161:5555 on parempi palvelin. Sitten sinun on lisättävä pyyntövirtaa kyseiselle palvelimelle. Lisää BackEnd-tunnisteen alle, joka on määritetty palvelimelle 192.168.1.161, parametri Priority ennen End-tagia.

Katso alla oleva esimerkki.

Alue, jota voimme käyttää Priority -parametrille, on välillä 1–9. Jos emme määritä sitä, oletusarvoksi määritetään 5.

Silloin kuormitus tasapainottuu tasaisesti. Jos määritämme prioriteettinumeron, POUND lataa palvelimelle korkeamman prioriteetin numeron useammin. Joten tässä tapauksessa 192.168.1.161:5555 ladataan useammin kuin palvelin 172.16.1.204:8888.

Vaihe 3: Hätähäiriöiden suunnittelu

Hätätilannetunniste: Tätä tunnistetta käytetään palvelimen lataamiseen, jos kaikki taustapalvelimet ovat kuolleet. Voit lisätä sen ennen pound.cfg-tiedoston viimeistä End-tunnistetta seuraavasti.


“Emergency
           Address 192.168.5.10
           Port        8080
   End”

6. POUND pitää aina kirjaa siitä, mitkä taustapalvelimet ovat toiminnassa ja mitkä eivät. Voimme määrittää, kuinka monen sekunnin kuluttua POUNDin tulee tarkistaa taustapalvelimet lisäämällä Alive -parametri tiedostoon pound.cfg.

Voit käyttää parametria "Alive 30" asettaaksesi sen arvoon 30 sekuntia. Pound poistaa väliaikaisesti käytöstä taustapalvelimet, jotka eivät vastaa. Kun sanomme, että ei vastaa, palvelin voi olla kuollut tai ei voi muodostaa yhteyttä sillä hetkellä.

POUND tarkistaa käytöstä poistetun taustapalvelimen jokaisen pound.cfg-tiedostossa määrittämäsi ajanjakson jälkeen siltä varalta, että jos palvelin voi muodostaa yhteyden, POUND voi palata palvelimeen.

7. POUND-demonia käsitellään poundctl-komennolla. Tämän ansiosta meidän ei tarvitse muokata pound.cfg-tiedostoa ja voimme antaa Listner-palvelimen, BackEnd-palvelimia ja istuntoja jne. yksi käsky.


Syntax: poundctl -c /path/to/socket [-L/-l] [-S/-s] [-B/-b] [-N/-n] [-H] [-X]
  1. -c määrittää polun pistorasiaan.
  2. -L/-l määrittelee arkkitehtuurisi kuuntelijan.
  3. -S/-s määrittelee palvelun.
  4. -B/-b määrittää taustapalvelimet.

Katso lisätietoja poundctl -manuaalisivuilta.

Toivottavasti pidät tästä hakkeesta ja löydät lisää vaihtoehtoja tähän liittyen. Voit vapaasti kommentoida alla saadaksesi ehdotuksia ja ideoita. Pidä yhteyttä Tecmintiin saadaksesi käteviä ja uusimpia ohjeita.

Lue myös: XR Crossroads Load Balancerin asentaminen verkkopalvelimille