Wyszukiwanie w witrynie

Konfigurowanie modułu równoważenia obciążenia „XR” (Crossroads) dla serwerów internetowych w systemie RHEL/CentOS


Crossroads to niezależne od usług narzędzie typu open source do równoważenia obciążenia i przełączania awaryjnego dla usług opartych na systemie Linux i TCP. Może być używany do HTTP, HTTPS, SSH, SMTP i DNS itp. Jest to także narzędzie wielowątkowe, które zużywa tylko jedną przestrzeń pamięci, co prowadzi do zwiększenia wydajności przy równoważeniu obciążenia.

Przyjrzyjmy się, jak działa XR. Możemy zlokalizować XR pomiędzy klientami sieciowymi a gniazdem serwerów, które wysyłają żądania klientów do serwerów równoważących obciążenie.

Jeśli serwer nie działa, XR przekazuje kolejne żądanie klienta do następnego serwera w kolejce, dzięki czemu klient nie odczuwa przestojów. Spójrz na poniższy diagram, aby zrozumieć, z jaką sytuacją poradzimy sobie z XR.

Istnieją dwa serwery internetowe, jeden serwer bramowy, który instalujemy i konfigurujemy XR tak, aby odbierał żądania klientów i rozdzielał je pomiędzy serwerami.

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

W powyższym scenariuszu mój serwer bramy (tj. XR Crossroads) ma adres IP 172.16.1.222, serwer WWW01 to 172.16.1.222 i nasłuchuje port 8888 i webserver02 to 192.168.1.161 i nasłuchuje przez port 5555.

Teraz jedyne, czego potrzebuję, to zrównoważyć obciążenie wszystkich żądań otrzymywanych przez bramkę XR z Internetu i rozdzielić je pomiędzy dwa serwery internetowe, równoważąc obciążenie.

Krok 1: Zainstaluj moduł równoważenia obciążenia XR Crossroads na serwerze bramy

1. Niestety, nie są dostępne żadne binarne pakiety RPM dla crosscroadów, jest to jedyny sposób na zainstalowanie crossroadów XR ze źródłowego archiwum tar.

Aby skompilować XR, musisz mieć zainstalowany w systemie kompilator C++ i narzędzia Gnu make, aby kontynuować instalację bez błędów.

yum install gcc gcc-c++ make

Następnie pobierz źródłowy plik tar, przechodząc na ich oficjalną stronę (https://crossroads.e-tunity.com) i pobierz zarchiwizowany pakiet (tj. crossroads-stable.tar.gz).

Alternatywnie możesz użyć następującego narzędzia wget, aby pobrać pakiet i rozpakować go w dowolnej lokalizacji (np.: /usr/src/), przejść do rozpakowanego katalogu i wydać „make install ” polecenie.

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

Po zakończeniu instalacji pliki binarne są tworzone w /usr/sbin/, a konfiguracja XR w /etc, czyli „xrctl.xml”.

2. Ostatnim warunkiem są dwa serwery internetowe. Dla ułatwienia utworzyłem dwie instancje Pythona SimpleHTTPServer na jednym serwerze.

Aby dowiedzieć się, jak skonfigurować serwer SimpleHTTPServer w Pythonie, przeczytaj nasz artykuł na temat łatwego tworzenia dwóch serwerów WWW przy użyciu SimpleHTTPServer.

Jak powiedziałem, używamy dwóch serwerów internetowych i są to webserver01 działające pod adresem 172.16.1.222 przez porty 8888 i webserver02 działający pod adresem 192.168.1.161 przez port 5555.

Krok 2: Skonfiguruj moduł równoważenia obciążenia XR Crossroads

3. Wszystkie wymagania są na swoim miejscu. Teraz musimy skonfigurować plik xrctl.xml tak, aby rozdzielił obciążenie pomiędzy serwery internetowe, które otrzymuje od serwera XR z Internetu.

Teraz otwórz plik xrctl.xml za pomocą edytora vi/vim.

vim /etc/xrctl.xml

i wprowadź zmiany zgodnie z sugestią poniżej.

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

Tutaj możesz zobaczyć bardzo podstawową konfigurację XR wykonaną w xrctl.xml. Zdefiniowałem, czym jest serwer XR, jakie są serwery zaplecza i ich porty oraz port interfejsu internetowego dla XR.

4. Teraz musisz uruchomić demona XR, wydając poniższe polecenia.

xrctl start
xrctl status

5. OK, świetnie. Nadszedł czas, aby sprawdzić, czy konfiguracje działają prawidłowo. Otwórz dwie przeglądarki internetowe i wprowadź adres IP serwera XR z portem i zobacz wynik.

Fantastyczny. To działa dobrze. teraz czas na zabawę z XR.

6. Teraz nadszedł czas, aby zalogować się do panelu XR Crossroads i sprawdzić port, który skonfigurowaliśmy dla interfejsu internetowego. Wprowadź adres IP swojego serwera XR wraz z numerem portu interfejsu internetowego, który skonfigurowałeś w pliku xrctl.xml.

http://172.16.1.204:8010

Tak to wygląda. Jest łatwy do zrozumienia, przyjazny dla użytkownika i łatwy w użyciu. Pokazuje, ile połączeń otrzymał każdy serwer zaplecza w prawym górnym rogu, wraz z dodatkowymi szczegółami dotyczącymi otrzymywanych żądań. Nawet możesz ustawić obciążenie każdego serwera, które musisz udźwignąć, maksymalną liczbę połączeń i średnie obciążenie itp.

Najlepsze jest to, że możesz to zrobić nawet bez konfigurowania pliku xrctl.xml. Jedyne, co musisz zrobić, to wydać polecenie z następującą składnią, a wykona ono swoje zadanie.

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

Szczegółowe wyjaśnienie powyższej składni:

  1. –verbose pokaże, co się stanie po wykonaniu polecenia.
  2. –serwer definiuje serwer XR, na którym zainstalowałeś pakiet.
  3. –backend definiuje serwery internetowe, do których musisz zrównoważyć ruch.
  4. Tcp określa, że korzysta z usług TCP.

Więcej informacji na temat dokumentacji i konfiguracji CROSSROADS można znaleźć na ich oficjalnej stronie pod adresem: https://crossroads.e-tunity.com/.

XR Corssroads umożliwia wiele sposobów zwiększania wydajności serwera, ochrony przed przestojami oraz sprawia, że zadania administracyjne stają się łatwiejsze i wygodniejsze. Mamy nadzieję, że podobał Ci się ten przewodnik. Zachęcamy do komentowania poniżej, aby uzyskać sugestie i wyjaśnienia. Bądź w kontakcie z Tecmint, aby uzyskać przydatne instrukcje.

Przeczytaj także: Instalowanie modułu równoważenia obciążenia Pound w celu kontrolowania obciążenia serwera internetowego