„XR“ (kryžkelės) apkrovos balansavimo priemonės tinklo serveriams nustatymas RHEL/CentOS


Crossroads yra nuo paslaugų nepriklausoma atvirojo kodo apkrovos balanso ir perjungimo priemonė, skirta „Linux“ ir TCP pagrįstoms paslaugoms. Jis gali būti naudojamas HTTP, HTTPS, SSH, SMTP ir DNS ir tt Tai taip pat yra kelių gijų programa, kuri sunaudoja tik vieną atminties vietą, todėl padidėja našumas balansuojant apkrovą.

Pažiūrėkime, kaip veikia XR. Mes galime rasti XR tarp tinklo klientų ir serverių lizdo, kuris siunčia klientų užklausas serveriams, balansuojantiems apkrovą.

Jei serveris neveikia, XR persiunčia kitą kliento užklausą kitam serveriui, todėl klientas nejaučia prastovos. Pažvelkite į toliau pateiktą diagramą, kad suprastumėte, kokią situaciją mes susidursime su XR.

Yra du žiniatinklio serveriai, vienas šliuzo serveris, kurį įdiegiame ir nustatome XR, kad gautume klientų užklausas ir paskirstytume jas tarp serverių.

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

Pagal aukščiau pateiktą scenarijų mano šliuzo serveris (t. y. XR Crossroads) turi IP adresą 172.16.1.222, webserver01 yra 172.16.1.222 ir jis klausosi prievadas 8888 ir webserver02 yra 192.168.1.161 ir klausosi per prievadą 5555.

Dabar man tereikia subalansuoti visų užklausų, kurias XR šliuzas gauna iš interneto, apkrovą ir paskirstyti jas dviem apkrovą balansuojantiems žiniatinklio serveriams.

1 veiksmas: įdiekite „XR Crossroads Load Balancer“ į „Gateway“ serverį

1. Deja, nėra jokių dvejetainių RPM paketų, skirtų crosscroads, tai vienintelis būdas įdiegti XR crossroads iš šaltinio tarball.

Norėdami kompiliuoti XR, sistemoje turite turėti C++ kompiliatorių ir Gnu make paslaugų programas, kad diegimas tęstųsi be klaidų.

yum install gcc gcc-c++ make

Tada atsisiųskite šaltinio tarbalą apsilankę oficialioje svetainėje (https://crossroads.e-tunity.com) ir paimkite archyvuotą paketą (t. y. crossroads-stable.tar.gz).

Arba galite naudoti šią wget programą, kad atsisiųstumėte paketą ir ištrauktumėte jį bet kurioje vietoje (pvz.: /usr/src/), eikite į išpakuotą katalogą ir išduokite „make install ” komanda.

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

Baigus diegti dvejetainiai failai sukuriami /usr/sbin/, o XR konfigūracija – /etc, būtent „xrctl.xml“.

2. Kaip paskutinė būtina sąlyga, jums reikia dviejų žiniatinklio serverių. Kad būtų lengviau naudoti, viename serveryje sukūriau du python SimpleHTTPServer egzempliorius.

Norėdami sužinoti, kaip nustatyti python SimpleHTTPServer, skaitykite mūsų straipsnį „Sukurti du žiniatinklio serverius lengvai naudojant SimpleHTTPServer“.

Kaip jau sakiau, naudojame du žiniatinklio serverius ir jie webserver01 veikia 172.16.1.222 per prievadą 8888 ir žiniatinklio serveris02, veikiantis 192.168.1.161 per prievadą 5555.

2 veiksmas: sukonfigūruokite XR Crossroads Load Balancer

3. Yra visi rekvizitai. Dabar turime sukonfigūruoti xrctl.xml failą, kad būtų paskirstyta apkrova tarp žiniatinklio serverių, kurią XR serveris gauna iš interneto.

Dabar atidarykite failą xrctl.xml naudodami vi/vim redaktorių.

vim /etc/xrctl.xml

ir atlikite pakeitimus, kaip siūloma toliau.

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

Čia galite pamatyti labai paprastą XR konfigūraciją, atliktą naudojant xrctl.xml. Aš apibrėžiau, kas yra XR serveris, kas yra galiniai serveriai ir jų prievadai bei žiniatinklio sąsajos prievadas, skirtas XR.

4. Dabar turite paleisti XR demoną, išduodami toliau nurodytas komandas.

xrctl start
xrctl status

5. Puiku. Dabar atėjo laikas patikrinti, ar konfigūracijos veikia gerai. Atidarykite dvi žiniatinklio naršykles ir įveskite XR serverio IP adresą su prievadu ir pamatykite išvestį.

Fantastinis. Puikiai veikia. dabar laikas žaisti su XR.

6. Dabar laikas prisijungti prie „XR Crossroads“ prietaisų skydelio ir pamatyti prievadą, kurį sukonfigūravome žiniatinklio sąsajai. Įveskite savo XR serverio IP adresą su žiniatinklio sąsajos prievado numeriu, kurį sukonfigūravote xrctl.xml.

http://172.16.1.204:8010

Štai kaip atrodo. Tai lengva suprasti, patogi ir paprasta naudoti. Viršutiniame dešiniajame kampe rodoma, kiek jungčių gavo kiekvienas galinis serveris, kartu su papildoma informacija apie gautas užklausas. Netgi galite nustatyti kiekvieno serverio apkrovos svorį, maksimalų jungčių skaičių ir apkrovos vidurkį ir pan.

Geriausia tai, kad jūs iš tikrųjų galite tai padaryti net nesukonfigūravę xrctl.xml. Vienintelis dalykas, kurį turite padaryti, yra duoti komandą su tokia sintaksė ir ji atliks atliktą darbą.

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

Išsamus aukščiau pateiktos sintaksės paaiškinimas:

  1. –verbose parodys, kas nutinka, kai komanda įvykdoma.
  2. –serveris apibrėžia XR serverį, kuriame įdiegėte paketą.
  3. –backend apibrėžia žiniatinklio serverius, į kuriuos reikia subalansuoti srautą.
  4. Tcp apibrėžia, kad jis naudoja TCP paslaugas.

Norėdami gauti daugiau informacijos apie dokumentus ir CROSSROADS konfigūraciją, apsilankykite oficialioje jų svetainėje adresu https://crossroads.e-tunity.com/.

XR Corssroads suteikia daug būdų, kaip pagerinti serverio našumą, apsaugoti nuo prastovų ir palengvinti administratoriaus užduotis. Tikimės, kad jums patiko vadovas ir nedvejodami pakomentuokite toliau pateiktus pasiūlymus ir paaiškinimus. Susisiekite su Tecmint, kad gautumėte naudingų patarimų.

Taip pat skaitykite: Pound Load Balancer įdiegimas, kad valdytumėte žiniatinklio serverio apkrovą