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


Crossroads je servisno nezavisan, open source balans opterećenja i uslužni program za prelazak iz kvarova za Linux i TCP usluge. Može se koristiti za HTTP, HTTPS, SSH, SMTP i DNS itd. Takođe je uslužni program sa više niti koji troši samo jedan memorijski prostor što dovodi do povećanja performansi pri balansiranju opterećenja.

Pogledajmo kako XR radi. Možemo locirati XR između mrežnih klijenata i gnijezda servera koji šalje zahtjeve klijenata serverima koji balansiraju opterećenje.

Ako server ne radi, XR prosljeđuje sljedeći zahtjev klijenta na sljedeći server u redu, tako da klijent ne osjeća prekid rada. Pogledajte dijagram ispod da shvatite kakvu ćemo situaciju riješiti s XR-om.

Postoje dva web-servera, jedan gateway server koji instaliramo i postavljamo XR da prima zahtjeve klijenata i distribuira ih među serverima.

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 gateway server (tj. XR Crossroads) nosi IP adresu 172.16.1.222, webserver01 je 172.16.1.222 i sluša preko port 8888 i webserver02 je 192.168.1.161 i sluša preko porta 5555.

Sada sve što trebam je da izbalansiram opterećenje svih zahtjeva koje prima XR gateway sa interneta i distribuiram ih između dva web-servera koji balansiraju opterećenje.

Korak 1: Instalirajte XR Crossroads Load Balancer na Gateway Server

1. Nažalost, ne postoje binarni RPM paketi dostupni za crosscroads, jedini način da se instalira XR crossroads iz izvornog tarball-a.

Da kompajlirate XR, morate imati C++ kompajler i Gnu make uslužne programe instalirane na sistemu kako biste nastavili instalaciju bez grešaka.

yum install gcc gcc-c++ make

Zatim preuzmite izvorni tarball tako što ćete otići na njihovu službenu stranicu (https://crossroads.e-tunity.com) i preuzeti arhivirani paket (tj. crossroads-stable.tar.gz).

Alternativno, možete koristiti sljedeći wget uslužni program da preuzmete paket i raspakirate ga na bilo koju lokaciju (npr.: /usr/src/), idite na raspakirani direktorij i izdajte “napravi instalaciju ”.

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

Nakon završetka instalacije, binarne datoteke se kreiraju pod /usr/sbin/ i XR konfiguracijom unutar /etc, odnosno “xrctl.xml ”.

2. Kao posljednji preduvjet, potrebna su vam dva web servera. Radi lakšeg korištenja, kreirao sam dvije python SimpleHTTPServer instance na jednom serveru.

Da biste vidjeli kako postaviti python SimpleHTTPServer, pročitajte naš članak na stranici Kreirajte dva web servera koja jednostavno koriste SimpleHTTPServer.

Kao što sam rekao, koristimo dva web servera, a oni su webserver01 koji rade na 172.16.1.222 preko porta 8888 i webserver02 radi na 192.168.1.161 kroz port 5555.

Korak 2: Konfigurirajte XR Crossroads Load Balancer

3. Svi rekviziti su na svom mjestu. Sada ono što treba da uradimo je da konfigurišemo datoteku xrctl.xml da distribuira opterećenje između web servera koje prima XR server sa interneta.

Sada otvorite datoteku xrctl.xml sa vi/vim editorom.

vim /etc/xrctl.xml

i izvršite 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 urađenu unutar xrctl.xml. Definisao sam šta je XR server, šta su back end serveri i njihovi portovi i port za veb interfejs za XR.

4. Sada morate pokrenuti XR daemon izdavanjem naredbi ispod.

xrctl start
xrctl status

5. U redu odlično. Sada je vrijeme da provjerite da li konfiguracije rade dobro. Otvorite dva web pretraživača i unesite IP adresu XR servera sa portom i pogledajte izlaz.

Fantasticno. Radi dobro. sada je vrijeme da se igrate sa XR-om.

6. Sada je vrijeme da se prijavite na XR Crossroads kontrolnu ploču i vidite port koji smo konfigurirali za web sučelje. Unesite IP adresu vašeg XR servera sa brojem porta za web interfejs koji ste konfigurisali u xrctl.xml.

http://172.16.1.204:8010

Ovako to izgleda. Lako je razumjeti, prilagođeno korisniku i jednostavno za korištenje. Prikazuje koliko je konekcija svaki pozadinski server primio u gornjem desnom uglu zajedno sa dodatnim detaljima u vezi sa prijemom zahteva. Čak možete podesiti težinu opterećenja za svaki server koji trebate podnijeti, maksimalan broj konekcija i prosjek opterećenja itd.

Najbolji dio je što ovo zapravo možete učiniti čak i bez konfigurisanja xrctl.xml. Jedino što trebate učiniti je izdati naredbu sa sljedećom sintaksom i ona će obaviti obavljeni 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 šta se dešava kada se naredba izvrši.
  2. –server definira XR server na koji ste instalirali paket.
  3. –pozadina definira web servere na kojima trebate balansirati 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ćava mnogo načina da poboljšate performanse vašeg servera, zaštitite vrijeme zastoja i učinite svoje administratorske zadatke lakšim i lakšim. Nadam se da ste uživali u vodiču i slobodno komentirajte u nastavku za prijedloge i pojašnjenja. Ostanite u kontaktu s Tecmint-om za praktične upute.

Pročitajte također: Instaliranje Pound Load Balancer za kontrolu opterećenja web servera