'XR' (Crossroads) -kuormituksen tasapainottimen määrittäminen verkkopalvelimille RHEL/CentOS:ssä


Crossroads on palvelusta riippumaton, avoimen lähdekoodin kuormitus- ja vikasietoapuohjelma Linux- ja TCP-pohjaisille palveluille. Sitä voidaan käyttää HTTP:lle, HTTPS:lle, SSH:lle, SMTP:lle ja DNS:lle jne. Se on myös monisäikeinen apuohjelma, joka kuluttaa vain yhden muistitilan, mikä parantaa suorituskykyä kuormituksen tasapainottamisessa.

Katsotaanpa, miten XR toimii. Pystymme paikantamaan XR:n verkkoasiakkaiden ja palvelinpesän väliltä, joka lähettää asiakaspyynnöt palvelimille tasapainottaen kuormitusta.

Jos palvelin ei toimi, XR välittää seuraavan asiakaspyynnön jonossa seuraavalle palvelimelle, joten asiakas ei koe seisokkiaikaa. Katso alla olevaa kaaviota ymmärtääksesi, millaista tilannetta aiomme käsitellä XR:n kanssa.

On olemassa kaksi web-palvelinta, yksi yhdyskäytäväpalvelin, jonka asennamme ja asetamme XR:n vastaanottamaan asiakaspyyntöjä ja jakamaan ne palvelimien kesken.

XR Crossroads Gateway Server : 172.16.1.204
Web Server 01 : 172.16.1.222
Web Server 02 : 192.168.1.161

Yllä olevassa tilanteessa yhdyskäytäväpalvelimeni (eli XR Crossroads) kantaa IP-osoitteen 172.16.1.222, webserver01 on 172.16.1.222 ja se kuuntelee portti 8888 ja webserver02 on 192.168.1.161 ja se kuuntelee portin 5555 kautta.

Nyt minun tarvitsee vain tasapainottaa kaikkien XR-yhdyskäytävän Internetistä vastaanottamien pyyntöjen kuormitus ja jakaa ne kahden kuormitusta tasapainottavan web-palvelimen kesken.

Vaihe 1: Asenna XR Crossroads Load Balancer Gateway Serveriin

1. Valitettavasti crosscroadsille ei ole saatavilla binaarisia RPM-paketteja, jotka ovat ainoa tapa asentaa XR crossroads lähdetarballista.

XR:n kääntäminen edellyttää, että järjestelmään on asennettu C++-kääntäjä ja Gnu make -apuohjelmat, jotta asennus jatkuu virheettömästi.

yum install gcc gcc-c++ make

Lataa seuraavaksi lähdetarball menemällä heidän viralliselle sivustolleen (https://crossroads.e-tunity.com) ja nappaa arkistoitu paketti (eli crossroads-stable.tar.gz).

Vaihtoehtoisesti voit käyttää seuraavaa wget-apuohjelmaa ladataksesi paketin ja purkaaksesi sen mistä tahansa sijainnista (esim.: /usr/src/), siirtyä pakkaamattomaan hakemistoon ja antaa ”make install ” -komento.

wget https://crossroads.e-tunity.com/downloads/crossroads-stable.tar.gz
tar -xvf crossroads-stable.tar.gz
cd crossroads-2.74/
make install

Asennuksen päätyttyä binääritiedostot luodaan kohtaan /usr/sbin/ ja XR-määritykset kohtaan /etc eli "xrctl.xml".

2. Viimeisenä edellytyksenä tarvitset kaksi verkkopalvelinta. Käytön helpottamiseksi olen luonut kaksi python SimpleHTTPServer -esiintymää yhdelle palvelimelle.

Jos haluat nähdä kuinka python SimpleHTTPServer määritetään, lue artikkelimme Luo kaksi verkkopalvelinta helposti SimpleHTTPServerin avulla.

Kuten sanoin, käytämme kahta verkkopalvelinta, jotka webserver01 toimivat osoitteessa 172.16.1.222 porttien 8888 ja kautta. webserver02, joka toimii osoitteessa 192.168.1.161 portin 5555 kautta.

Vaihe 2: Määritä XR Crossroads Load Balancer

3. Kaikki vaatimukset ovat paikoillaan. Nyt meidän on määritettävä xrctl.xml-tiedosto jakamaan kuorma web-palvelimien kesken, jonka XR-palvelin vastaanottaa Internetistä.

Avaa nyt xrctl.xml-tiedosto vi/vim-editorilla.

vim /etc/xrctl.xml

ja tee muutokset alla ehdotetulla tavalla.

<?xml version=<94>1.0<94> encoding=<94>UTF-8<94>?>
<configuration>
<system>
<uselogger>true</uselogger>
<logdir>/tmp</logdir>
</system>
<service>
<name>Tecmint</name>
<server>
<address>172.16.1.204:8080</address>
<type>tcp</type>
<webinterface>0:8010</webinterface>
<verbose>yes</verbose>
<clientreadtimeout>0</clientreadtimeout>
<clientwritetimout>0</clientwritetimeout>
<backendreadtimeout>0</backendreadtimeout>
<backendwritetimeout>0</backendwritetimeout>
</server>
<backend>
<address>172.16.1.222:8888</address>
</backend>
<backend>
<address>192.168.1.161:5555</address>
</backend>
</service>
</configuration>

Täällä voit nähdä hyvin perus-XR-määrityksen, joka on tehty xrctl.xml-tiedostossa. Olen määritellyt mikä XR-palvelin on, mitkä ovat taustapalvelimet ja niiden portit ja web-liitäntäportti XR:lle.

4. Nyt sinun on käynnistettävä XR-daemon antamalla alla olevat komennot.

xrctl start
xrctl status

5. Hienoa. Nyt on aika tarkistaa, toimivatko asetukset hyvin. Avaa kaksi web-selainta ja syötä portin sisältävän XR-palvelimen IP-osoite ja katso tulos.

Fantastinen. Se toimii hyvin. nyt on aika leikkiä XR:llä.

6. Nyt on aika kirjautua sisään XR Crossroads -hallintapaneeliin ja nähdä portti, jonka olemme määrittäneet verkkokäyttöliittymää varten. Anna XR-palvelimesi IP-osoite ja verkkoliittymän porttinumero, jonka olet määrittänyt tiedostossa xrctl.xml.

http://172.16.1.204:8010

Tältä se näyttää. Se on helppo ymmärtää, käyttäjäystävällinen ja helppokäyttöinen. Se näyttää oikeassa yläkulmassa, kuinka monta yhteyttä kukin taustapalvelin vastaanotti, sekä vastaanotettujen pyyntöjen lisätiedot. Voit jopa asettaa kuormituksen painon jokaiselle palvelimelle, jota sinun on kannettava, yhteyksien enimmäismäärä ja kuormituksen keskiarvo jne.

Parasta on, että voit tehdä tämän jopa ilman xrctl.xml-määrityksiä. Ainoa asia, mitä sinun tarvitsee tehdä, on antaa komento seuraavalla syntaksilla ja se tekee tehdyn työn.

xr --verbose --server tcp:172.16.1.204:8080 --backend 172.16.1.222:8888 --backend 192.168.1.161:5555

Yllä olevan syntaksin yksityiskohtainen selitys:

  1. –verbose näyttää, mitä tapahtuu, kun komento on suoritettu.
  2. –palvelin määrittää XR-palvelimen, johon olet asentanut paketin.
  3. –backend määrittää verkkopalvelimet, joille sinun on tasapainotettava liikennettä.
  4. Tcp määrittää, että se käyttää tcp-palveluita.

Lisätietoja CROSSROADSin asiakirjoista ja määrityksistä on heidän virallisella sivustollaan osoitteessa https://crossroads.e-tunity.com/.

XR Corssroads mahdollistaa monia tapoja parantaa palvelimesi suorituskykyä, suojata seisokkeja ja tehdä järjestelmänvalvojan tehtävistäsi helpompaa ja kätevämpää. Toivottavasti pidit oppaasta ja kommentoi alla saadaksesi ehdotuksia ja selvennyksiä. Pidä yhteyttä Tecmintiin saadaksesi käteviä ohjeita.

Lue myös: Pound Load Balancerin asentaminen verkkopalvelimen kuormituksen hallintaan