Opsætning af XR (Crossroads) Load Balancer til webservere på RHEL/CentOS


Crossroads er en serviceuafhængig, open source-belastningsbalance og fail-over-værktøj til Linux- og TCP-baserede tjenester. Det kan bruges til HTTP, HTTPS, SSH, SMTP og DNS osv. Det er også et multitrådet hjælpeprogram, der kun bruger et hukommelsesplads, hvilket fører til at øge ydeevnen, når belastningen balanceres.

Lad os se på, hvordan XR fungerer. Vi kan finde XR mellem netværksklienter og en server af servere, der sender klientanmodninger til serverne, der afbalancerer belastningen.

Hvis en server er nede, videresender XR den næste klientanmodning til den næste server i køen, så klienten ikke føler nogen nedetid. Se nedenstående diagram for at forstå, hvilken slags situation vi skal håndtere med XR.

Der er to webservere, en gateway-server, som vi installerer og konfigurerer XR til at modtage klientanmodninger og distribuere dem mellem serverne.

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

I ovenstående scenarie bærer min gateway-server (dvs. XR Crossroads) IP-adressen 172.16.1.222, webserver01 er 172.16.1.222 og den lytter gennem port 8888 og webserver02 er 192.168.1.161 og den lytter gennem port 5555.

Nu er alt, hvad jeg har brug for, at afbalancere belastningen på alle de anmodninger, der modtages af XR-gatewayen fra internettet og distribuere dem mellem to webservere, der balancerer belastningen.

Trin 1: Installer XR Crossroads Load Balancer på Gateway Server

1. Desværre er der ikke nogen binære RPM-pakker tilgængelige til vejkryds, den eneste måde at installere XR kryds fra kilde tarball.

For at kompilere XR skal du have C ++ compiler og Gnu til at installere hjælpeprogrammer på systemet for at fortsætte installationen fejlfri.

# yum install gcc gcc-c++ make

Download derefter kildetarball ved at gå til deres officielle side (https://crossroads.e-tunity.com), og tag den arkiverede pakke (dvs. crossroads-stable.tar.gz).

Alternativt kan du bruge følgende wget-værktøj til at downloade pakken og udpakke den hvor som helst (f.eks:/usr/src /), gå til udpakket bibliotek og udstede kommandoen "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

Når installationen er færdig, oprettes de binære filer under/usr/sbin/og XR-konfiguration inden for/etc, nemlig “xrctl.xml”.

2. Som den sidste forudsætning har du brug for to webservere. For at gøre det lettere at bruge har jeg oprettet to python SimpleHTTPServer-forekomster på en server.

For at se, hvordan du konfigurerer en python SimpleHTTPServer, skal du læse vores artikel på Opret to webservere nemt ved hjælp af SimpleHTTPServer.

Som jeg sagde, bruger vi to webservere, og de kører webserver01 på 172.16.1.222 gennem port 8888 og webserver02 kører på 192.168.1.161 gennem port 5555.

Trin 2: Konfigurer XR Crossroads Load Balancer

3. Alle forudsætninger er på plads. Nu skal vi konfigurere xrctl.xml -filen til at distribuere belastningen blandt de webservere, der modtager af XR-serveren fra internettet.

Åbn nu xrctl.xml fil med vi/vim editor.

# vim /etc/xrctl.xml

og foretag ændringerne som foreslået nedenfor.

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

Her kan du se en meget grundlæggende XR-konfiguration udført inden for xrctl.xml. Jeg har defineret, hvad XR-serveren er, hvad er back-end-serverne og deres porte og web-interface-port til XR.

4. Nu skal du starte XR-dæmonen ved at udstede nedenstående kommandoer.

# xrctl start
# xrctl status

5. Okay godt. Nu er det tid til at kontrollere, om configs fungerer fint. Åbn to webbrowsere, og indtast IP-adressen på XR-serveren med port og se output.

Fantastisk. Det fungerer fint. nu er det tid til at lege med XR.

6. Nu er det tid til at logge ind på XR Crossroads dashboard og se den port, vi har konfigureret til web-interface. Indtast din XR-servers IP-adresse med det portnummer til web-interface, du har konfigureret i xrctl.xml.

http://172.16.1.204:8010

Sådan ser det ud. Det er let at forstå, brugervenligt og let at bruge. Det viser, hvor mange forbindelser hver back-end-server modtager i øverste højre hjørne sammen med de yderligere detaljer vedrørende de modtagne anmodninger. Selv du kan indstille belastningsvægten for hver server, du har brug for, maksimalt antal forbindelser og belastningsgennemsnit osv.

Den bedste del er, at du faktisk kan gøre dette selv uden at konfigurere xrctl.xml. Den eneste ting, du skal gøre, er at udstede kommandoen med følgende syntaks, og det vil gøre det udførte job.

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

Forklaring af ovenstående syntaks i detaljer:

  1. –verbose viser, hvad der sker, når kommandoen er udført.
  2. –server definerer den XR-server, du har installeret pakken i.
  3. –backend definerer de webservere, du har brug for for at balancere trafikken til.
  4. Tcp definerer, at det bruger tcp-tjenester.

For flere detaljer om dokumentation og konfiguration af CROSSROADS, besøg deres officielle side på: https://crossroads.e-tunity.com/.

XR Corssroads muliggør mange måder at forbedre din serverydelse, beskytte nedetid og gøre dine adminopgaver nemmere og nemmere. Håber du nød guiden og er velkommen til at kommentere nedenfor for forslagene og afklaringerne. Hold kontakten med Tecmint for praktiske vejledninger.