Configuració de l'equilibrador de càrrega XR (Crossroads) per a servidors web a RHEL/CentOS


Crossroads és una utilitat d'equilibri de càrrega de codi obert i independent del servei per a serveis basats en Linux i TCP. Es pot utilitzar per a HTTP, HTTPS, SSH, SMTP i DNS, etc. També és una utilitat multiprocés que només consumeix un espai de memòria, cosa que augmenta el rendiment a l'hora d'equilibrar la càrrega.

Fem una ullada a com funciona XR. Podem localitzar XR entre clients de xarxa i un niu de servidors que envia les sol·licituds dels clients als servidors equilibrant la càrrega.

Si un servidor està inactiu, XR reenvia la següent sol·licitud del client al següent servidor de la línia, de manera que el client no té temps d'inactivitat. Fes una ullada al diagrama següent per entendre quin tipus de situació tractarem amb XR.

Hi ha dos servidors web, un servidor de passarel·la que instal·lem i configurem XR per rebre les sol·licituds dels clients i distribuir-les entre els servidors.

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

En l'escenari anterior, el meu servidor de passarel·la (és a dir, XR Crossroads) té l'adreça IP 172.16.1.222, webserver01 és 172.16.1.222 i escolta a través del port 8888 i webserver02 és 192.168.1.161 i escolta a través del port 5555.

Ara tot el que necessito és equilibrar la càrrega de totes les sol·licituds que rep la passarel·la XR d'Internet i distribuir-les entre dos servidors web equilibrant la càrrega.

Pas 1: instal·leu XR Crossroads Load Balancer al servidor Gateway

1. Malauradament, no hi ha cap paquet RPM binari disponible per a crosscroads, l'única manera d'instal·lar XR crossroads des de l'arxiu d'origen.

Per compilar XR, heu de tenir instal·lats al sistema el compilador C++ i les utilitats Gnu Make per continuar sense errors d'instal·lació.

# yum install gcc gcc-c++ make

A continuació, descarregueu el fitxer tarball d'origen anant al seu lloc oficial (https://crossroads.e-tunity.com) i agafeu el paquet arxivat (és a dir, crossroads-stable.tar.gz).

Alternativament, podeu utilitzar la següent utilitat wget per descarregar el paquet i extreure-lo en qualsevol ubicació (per exemple: /usr/src/), anar al directori descomprimit i emetre l'ordre \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

Un cop finalitzada la instal·lació, els fitxers binaris es creen a /usr/sbin/ i la configuració XR dins de /etc, és a dir, \xrctl.xml.

2. Com a darrer requisit, necessiteu dos servidors web. Per facilitar-ne l'ús, he creat dues instàncies Python SimpleHTTPServer en un servidor.

Per veure com configurar un python SimpleHTTPServer, llegiu el nostre article a Crear dos servidors web fàcilment utilitzant SimpleHTTPServer.

Com he dit, estem utilitzant dos servidors web, i són webserver01 que s'executen a 172.16.1.222 a través del port 8888 i webserver02 que s'executen a 192.168.1.161 a través del port 5555.

Pas 2: configureu XR Crossroads Load Balancer

3. Tots els requisits estan al seu lloc. Ara el que hem de fer és configurar el fitxer xrctl.xml per distribuir la càrrega entre els servidors web que rep el servidor XR d'Internet.

Ara obriu el fitxer xrctl.xml amb l'editor vi/vim.

# vim /etc/xrctl.xml

i feu els canvis tal com es suggereix a continuació.

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

Aquí podeu veure una configuració XR molt bàsica feta a xrctl.xml. He definit què és el servidor XR, quins són els servidors posteriors i els seus ports i el port d'interfície web per a l'XR.

4. Ara heu d'iniciar el dimoni XR emetent les ordres següents.

# xrctl start
# xrctl status

5. D'acord, genial. Ara és el moment de comprovar si les configuracions funcionen bé. Obriu dos navegadors web i introduïu l'adreça IP del servidor XR amb port i vegeu la sortida.

Fantàstic. Funciona bé. ara és el moment de jugar amb XR.

6. Ara és el moment d'iniciar sessió al tauler de control de XR Crossroads i veure el port que hem configurat per a la interfície web. Introduïu l'adreça IP del vostre servidor XR amb el número de port per a la interfície web que heu configurat a xrctl.xml.

http://172.16.1.204:8010

Això és el que sembla. És fàcil d'entendre, fàcil d'utilitzar i fàcil d'utilitzar. Mostra quantes connexions ha rebut cada servidor de fons a l'extrem superior dret juntament amb els detalls addicionals sobre les sol·licituds que reben. Fins i tot podeu configurar el pes de càrrega de cada servidor que heu de suportar, el nombre màxim de connexions i la mitjana de càrrega, etc.

La millor part és que ho podeu fer fins i tot sense configurar xrctl.xml. L'únic que heu de fer és emetre l'ordre amb la sintaxi següent i farà la feina feta.

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

Explicació detallada de la sintaxi anterior:

  1. –verbose mostrarà què passa quan s'executa l'ordre.
  2. –server defineix el servidor XR on heu instal·lat el paquet.
  3. –el backend defineix els servidors web als quals necessiteu per equilibrar el trànsit.
  4. Tcp defineix que utilitza els serveis tcp.

Per obtenir més detalls, sobre la documentació i la configuració de CROSSROADS, visiteu el seu lloc oficial a: https://crossroads.e-tunity.com/.

XR Corssroads ofereix moltes maneres de millorar el rendiment del vostre servidor, protegir els temps d'inactivitat i fer que les vostres tasques d'administració siguin més fàcils i manejables. Espero que us hagi agradat la guia i no dubteu a comentar a continuació per obtenir suggeriments i aclariments. Mantingueu-vos en contacte amb Tecmint per obtenir instruccions útils.