Postavljanje 'XR' (Crossroads) balansera opterećenja za web poslužitelje na RHEL/CentOS


Crossroads je uslužni program otvorenog izvornog koda neovisan o usluzi za ravnotežu opterećenja i fail-over za usluge temeljene na Linuxu i TCP-u. Može se koristiti za HTTP, HTTPS, SSH, SMTP i DNS itd. To je također višenitni uslužni program koji troši samo jedan memorijski prostor što dovodi do povećanja performansi pri balansiranju opterećenja.

Pogledajmo kako radi XR. Možemo locirati XR između mrežnih klijenata i gnijezda poslužitelja koji šalje klijentske zahtjeve poslužiteljima uravnotežujući opterećenje.

Ako poslužitelj ne radi, XR prosljeđuje zahtjev sljedećeg klijenta sljedećem poslužitelju u nizu, tako da klijent ne osjeća prekid rada. Pogledajte donji dijagram kako biste shvatili s kakvom ćemo se situacijom nositi s XR-om.

Postoje dva web poslužitelja, jedan gateway poslužitelj koji instaliramo i postavljamo XR za primanje zahtjeva klijenata i njihovu distribuciju između poslužitelja.

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

U gornjem scenariju, moj pristupni poslužitelj (tj. XR Crossroads) nosi IP adresu 172.16.1.222, webserver01 je 172.16.1.222 i sluša port 8888 i webserver02 je 192.168.1.161 i sluša preko porta 5555.

Sada sve što trebam je uravnotežiti opterećenje svih zahtjeva koje prima XR gateway s interneta i rasporediti ih između dva web poslužitelja koji uravnotežuju opterećenje.

Korak 1: Instalirajte XR Crossroads Load Balancer na pristupni poslužitelj

1. Nažalost, ne postoje binarni RPM paketi dostupni za crosscroads, jedini način da instalirate XR crossroads iz izvornog tarballa.

Za kompajliranje XR-a morate imati C++ kompajler i Gnu make uslužne programe instalirane na sustavu kako biste nastavili s instalacijom bez grešaka.

yum install gcc gcc-c++ make

Zatim preuzmite izvorni tarball odlaskom na njihovu službenu stranicu (https://crossroads.e-tunity.com) i zgrabite arhivirani paket (tj. crossroads-stable.tar.gz).

Alternativno, možete koristiti sljedeći uslužni program wget za preuzimanje paketa i izdvajanje na bilo koje mjesto (npr.: /usr/src/), idite u neraspakirani direktorij i izdajte “make install ” naredba.

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

Nakon što instalacija završi, binarne datoteke se stvaraju pod /usr/sbin/ i XR konfiguracija unutar /etc naime “xrctl.xml”.

2. Kao posljednji preduvjet, potrebna su vam dva web poslužitelja. Radi lakšeg korištenja, kreirao sam dvije instance pythona SimpleHTTPServer na jednom poslužitelju.

Kako biste vidjeli kako postaviti python SimpleHTTPServer, pročitajte naš članak Stvorite dva web poslužitelja jednostavno koristeći SimpleHTTPServer.

Kao što sam rekao, koristimo dva web poslužitelja, a oni webserver01 rade na 172.16.1.222 preko porta 8888 i webserver02 radi na 192.168.1.161 preko priključka 5555.

Korak 2: Konfigurirajte XR Crossroads Load Balancer

3. Svi rekviziti su na mjestu. Ono što sada moramo učiniti je konfigurirati datoteku xrctl.xml za raspodjelu opterećenja među web-poslužiteljima koje XR poslužitelj prima s interneta.

Sada otvorite datoteku xrctl.xml pomoću uređivača vi/vim.

vim /etc/xrctl.xml

i napravite promjene kako je predloženo u nastavku.

<?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>

Ovdje možete vidjeti vrlo osnovnu XR konfiguraciju napravljenu unutar xrctl.xml. Definirao sam što je XR poslužitelj, koji su stražnji poslužitelji i njihovi priključci i priključak web sučelja za XR.

4. Sada morate pokrenuti XR daemon izdavanjem naredbi ispod.

xrctl start
xrctl status

5. U redu, super. Sada je vrijeme da provjerite rade li konfiguracije dobro. Otvorite dva web preglednika i unesite IP adresu XR poslužitelja s portom i pogledajte izlaz.

Fantastičan. Dobro radi. sada je vrijeme za igru s XR.

6. Sada je vrijeme da se prijavite na nadzornu ploču XR Crossroads i vidite priključak koji smo konfigurirali za web sučelje. Unesite IP adresu vašeg XR poslužitelja s brojem priključka za web sučelje koje ste konfigurirali u xrctl.xml.

http://172.16.1.204:8010

Ovako to izgleda. Jednostavan je za razumijevanje, jednostavan za korištenje i jednostavan za korištenje. Prikazuje koliko je veza primio svaki stražnji poslužitelj u gornjem desnom kutu zajedno s dodatnim detaljima u vezi s primljenim zahtjevima. Čak možete postaviti težinu opterećenja koju svaki poslužitelj mora podnijeti, maksimalan broj veza i prosječno opterećenje itd.

Najbolji dio je što to zapravo možete učiniti čak i bez konfiguracije xrctl.xml. Jedino što morate učiniti je izdati naredbu sa sljedećom sintaksom i ona će obaviti posao.

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

Detaljno objašnjenje gornje sintakse:

  1. –verbose će pokazati što se događa kada se naredba izvrši.
  2. –poslužitelj definira XR poslužitelj na koji ste instalirali paket.
  3. –pozadina definira web poslužitelje kojima trebate uravnotežiti promet.
  4. Tcp definira da koristi tcp usluge.

Za više detalja, o dokumentaciji i konfiguraciji CROSSROADS-a, posjetite njihovu službenu stranicu na: https://crossroads.e-tunity.com/.

XR Corssroads omogućuje mnogo načina da poboljšate izvedbu vašeg poslužitelja, zaštitite zastoje i učinite svoje zadatke administratora lakšim i praktičnijim. Nadamo se da ste uživali u vodiču i slobodno komentirajte u nastavku za prijedloge i pojašnjenja. Ostanite u kontaktu s Tecmintom za praktične upute.

Pročitajte također: Instaliranje Pound Load Balancera za kontrolu opterećenja web poslužitelja