Pag-set up sa XR (Crossroads) Load Balancer para sa mga Web Server sa RHEL/CentOS


Ang Crossroads usa ka serbisyo nga independente, open source load balance ug fail-over utility para sa Linux ug TCP based services. Mahimo kining gamiton para sa HTTP, HTTPS, SSH, SMTP ug DNS ug uban pa. Usa usab kini ka multi-threaded utility nga mugamit lang ug usa ka memory space nga mosangpot sa pagpataas sa performance kung magbalanse sa load.

Atong tan-awon kung giunsa paglihok ang XR. Mapangita namon ang XR taliwala sa mga kliyente sa network ug usa ka salag sa mga server nga nagpadala sa mga hangyo sa kliyente sa mga server nga nagbalanse sa karga.

Kung ang usa ka server nawala, ang XR nagpasa sa sunod nga hangyo sa kliyente sa sunod nga server sa linya, aron ang kliyente wala’y gibati nga oras. Tan-awa ang diagram sa ubos aron masabtan kung unsa nga klase sa sitwasyon ang atong atubangon sa XR.

Adunay duha ka web-server, usa ka gateway server nga among gi-install ug gi-setup ang XR aron makadawat sa mga hangyo sa kliyente ug ipang-apod-apod kini sa mga server.

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

Sa ibabaw nga senaryo, ang akong gateway server (ie XR Crossroads) nagdala sa IP address 172.16.1.222, ang webserver01 mao ang 172.16.1.222 ug kini maminaw pinaagi sa port 8888 ug webserver02 mao ang 192.168.1.161 ug kini maminaw pinaagi sa port.

Karon ang akong gikinahanglan mao ang pagbalanse sa load sa tanang hangyo nga madawat sa XR gateway gikan sa internet ug iapud-apod kini sa duha ka web-server nga nagbalanse sa load.

Lakang 1: I-install ang XR Crossroads Load Balancer sa Gateway Server

1. Ikasubo, wala'y bisan unsang binary RPM nga mga pakete nga magamit alang sa mga crosscroads, ang bugtong paagi aron ma-install ang XR crossroads gikan sa gigikanan nga tarball.

Para ma-compile ang XR, kinahanglan nga naay C++ compiler ug Gnu make utilities nga na-install sa system para mapadayon ang instalasyon nga walay error.

# yum install gcc gcc-c++ make

Sunod, i-download ang source tarball pinaagi sa pag-adto sa ilang opisyal nga site (https://crossroads.e-tunity.com), ug kuhaa ang archive nga package (ie crossroads-stable.tar.gz).

Sa laing paagi, mahimo nimong gamiton ang pagsunod sa wget utility aron ma-download ang package ug makuha kini sa bisan unsang lokasyon (pananglitan:/usr/src /), adto sa wala pa naka-pack nga direktoryo ug i-isyu ang command nga \make install.

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

Human mahuman ang pag-instalar, ang binary nga mga file gihimo ubos sa /usr/sbin/ ug XR configuration sulod sa /etc nga mao ang \xrctl.xml.

2. Isip katapusang kinahanglanon, kinahanglan nimo ang duha ka web-server. Alang sa kasayon sa paggamit, nakahimo ako og duha ka python SimpleHTTPServer nga mga higayon sa usa ka server.

Aron mahibal-an kung giunsa ang pag-setup sa usa ka python nga SimpleHTTPServer, basaha ang among artikulo sa Paghimo og Duha ka Web Server nga Dali Gamit ang SimpleHTTPServer.

Sama sa akong giingon, naggamit kami og duha ka web-server, ug sila ang webserver01 nga nagdagan sa 172.16.1.222 pinaagi sa port 8888 ug webserver02 nga nagdagan sa 192.168.1.161 pinaagi sa port 5555.

Lakang 2: I-configure ang XR Crossroads Load Balancer

3. Ang tanan nga mga kinahanglanon anaa sa lugar. Karon ang kinahanglan natong buhaton mao ang pag-configure sa xrctl.xml file aron ipang-apod-apod ang load sa mga web-server nga madawat sa XR server gikan sa internet.

Karon ablihi ang xrctl.xml file gamit ang vi/vim editor.

# vim /etc/xrctl.xml

ug himoa ang mga kausaban sama sa gisugyot sa ubos.

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

Dinhi, imong makita ang usa ka batakang XR configuration nga nahimo sulod sa xrctl.xml. Akong gihubit kung unsa ang XR server, unsa ang mga back end server ug ang ilang mga pantalan ug web interface port alang sa XR.

4. Karon kinahanglan nimo nga sugdan ang XR nga daemon pinaagi sa pag-isyu sa ubos nga mga sugo.

# xrctl start
# xrctl status

5. Okay kaayo. Karon na ang panahon aron susihon kung maayo ba ang mga config. Ablihi ang duha ka web browser ug isulod ang IP address sa XR server nga adunay port ug tan-awa ang output.

Talagsaon. Nagtrabaho kini og maayo. karon na ang panahon sa pagdula sa XR.

6. Karon na ang panahon sa pag-log in sa XR Crossroads dashboard ug tan-awa ang port nga among gi-configure para sa web-interface. Isulod ang IP address sa imong XR server nga adunay port number para sa web-interface nga imong gi-configure sa xrctl.xml.

http://172.16.1.204:8010

Mao kini ang hitsura niini. Sayon sabton, user-friendly ug sayon gamiton. Gipakita niini kung pila ka koneksyon ang nadawat sa matag back end server sa taas nga tuo nga suok kauban ang dugang nga mga detalye bahin sa mga hangyo nga nadawat. Bisan pa mahimo nimong itakda ang gibug-aton sa pagkarga sa matag server nga kinahanglan nimo nga pas-anon, labing kadaghan nga koneksyon ug average sa pagkarga ug uban pa.

Ang labing kaayo nga bahin mao, mahimo nimo kini bisan kung wala i-configure ang xrctl.xml. Ang kinahanglan nimong buhaton mao ang pag-isyu sa mando sa pagsunod sa syntax ug buhaton niini ang trabaho nga nahimo.

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

Detalyadong pagpatin-aw sa syntax sa ibabaw:

  1. –ipakita sa verbose kung unsa ang mahitabo kung gipatuman na ang mando.
  2. –ang server naghubit sa XR server nga imong gi-install ang package.
  3. –Ang backend naghubit sa mga webserver nga imong gikinahanglan aron mabalanse ang trapiko.
  4. Gipasabot sa Tcp nga kini naggamit ug mga serbisyo sa tcp.

Para sa dugang nga mga detalye, mahitungod sa mga dokumentasyon ug configuration sa CROSSROADS, palihog bisitaha ang ilang opisyal nga site sa: https://crossroads.e-tunity.com/.

Gitugotan sa XR Corssroads ang daghang mga paagi aron mapauswag ang pasundayag sa imong server, mapanalipdan ang mga downtime ug himuon nga labi ka dali ug dali ang imong mga buluhaton sa admin. Nanghinaut nga nalingaw ka sa giya ug mobati nga gawasnon sa pagkomento sa ubos alang sa mga sugyot ug pagpatin-aw. Padayon sa pagkontak sa Tecmint alang sa magamit nga How To's.