Ρύθμιση «XR» (Crossroads) Load Balancer για διακομιστές Web σε RHEL/CentOS


Το Crossroads είναι ένα ανεξάρτητο από την υπηρεσία, ανοιχτού κώδικα ισοζύγιο φόρτου και βοηθητικό πρόγραμμα αποτυχίας για υπηρεσίες Linux και TCP. Μπορεί να χρησιμοποιηθεί για HTTP, HTTPS, SSH, SMTP και DNS κ.λπ. Είναι επίσης ένα βοηθητικό πρόγραμμα πολλαπλών νημάτων που καταναλώνει μόνο ένα χώρο μνήμης που οδηγεί σε αύξηση της απόδοσης κατά την εξισορρόπηση του φορτίου.

Ας ρίξουμε μια ματιά στο πώς λειτουργεί το XR. Μπορούμε να εντοπίσουμε το XR μεταξύ πελατών δικτύου και μιας φωλιάς διακομιστών που αποστέλλει αιτήματα πελατών στους διακομιστές εξισορροπώντας το φορτίο.

Εάν ένας διακομιστής είναι εκτός λειτουργίας, το XR προωθεί το επόμενο αίτημα πελάτη στον επόμενο διακομιστή στη σειρά, έτσι ώστε ο πελάτης να αισθάνεται ότι δεν υπάρχει χρόνος διακοπής. Ρίξτε μια ματιά στο παρακάτω διάγραμμα για να καταλάβετε τι είδους κατάσταση πρόκειται να χειριστούμε με το XR.

Υπάρχουν δύο διακομιστές ιστού, ένας διακομιστής πύλης που εγκαθιστούμε και ρυθμίζουμε το XR για να λαμβάνουμε αιτήματα πελατών και να τα διανέμουμε στους διακομιστές.

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

Στο παραπάνω σενάριο, ο διακομιστής μου πύλης (π.χ. XR Crossroads) φέρει τη διεύθυνση IP 172.16.1.222, ο webserver01 είναι 172.16.1.222 και ακούει Η θύρα 8888 και ο webserver02 είναι 192.168.1.161 και ακούει μέσω της θύρας 5555.

Τώρα το μόνο που χρειάζομαι είναι να εξισορροπήσω το φορτίο όλων των αιτημάτων που λαμβάνει η πύλη XR από το διαδίκτυο και να τα διανείμω σε δύο διακομιστές Ιστού που εξισορροπούν το φόρτο.

Βήμα 1: Εγκαταστήστε το XR Crossroads Load Balancer στον διακομιστή πύλης

1. Δυστυχώς, δεν υπάρχουν διαθέσιμα πακέτα δυαδικών RPM για crosscroads, ο μόνος τρόπος εγκατάστασης XR crossroads από το source tarball.

Για να μεταγλωττίσετε το XR, πρέπει να έχετε εγκατεστημένα στο σύστημα βοηθητικά προγράμματα C++ μεταγλωττιστή και Gnu make για να συνεχίσετε χωρίς σφάλματα εγκατάστασης.

yum install gcc gcc-c++ make

Στη συνέχεια, πραγματοποιήστε λήψη του προέλευσης tarball μεταβαίνοντας στον επίσημο ιστότοπο (https://crossroads.e-tunity.com) και πάρτε το αρχειοθετημένο πακέτο (δηλ. crossroads-stable.tar.gz).

Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το ακόλουθο βοηθητικό πρόγραμμα wget για να κατεβάσετε το πακέτο και να το εξαγάγετε σε οποιαδήποτε τοποθεσία (π.χ.: /usr/src/), μεταβείτε στον μη συσκευασμένο κατάλογο και εκδώστε το "< εντολή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

Μετά την ολοκλήρωση της εγκατάστασης, τα δυαδικά αρχεία δημιουργούνται υπό διαμόρφωση /usr/sbin/ και XR μέσα στο /etc και συγκεκριμένα στο “xrctl.xml ”.

2. Ως τελευταία προϋπόθεση, χρειάζεστε δύο διακομιστές ιστού. Για ευκολία στη χρήση, έχω δημιουργήσει δύο παρουσίες python SimpleHTTPServer σε έναν διακομιστή.

Για να δείτε πώς να ρυθμίσετε έναν python SimpleHTTPServer, διαβάστε το άρθρο μας στο Create Two Web Servers Easily Using SimpleHTTPServer.

Όπως είπα, χρησιμοποιούμε δύο διακομιστές ιστού και αυτοί είναι webserver01 που εκτελούνται σε 172.16.1.222 μέσω της θύρας 8888 και webserver02 που εκτελείται σε 192.168.1.161 μέσω της θύρας 5555.

Βήμα 2: Διαμορφώστε το XR Crossroads Load Balancer

3. Όλα τα απαιτούμενα είναι διαθέσιμα. Τώρα αυτό που πρέπει να κάνουμε είναι να διαμορφώσουμε το αρχείο xrctl.xml ώστε να διανέμει το φορτίο μεταξύ των διακομιστών ιστού που λαμβάνει ο διακομιστής XR από το Διαδίκτυο.

Τώρα ανοίξτε το αρχείο xrctl.xml με το πρόγραμμα επεξεργασίας vi/vim.

vim /etc/xrctl.xml

και κάντε τις αλλαγές όπως προτείνεται παρακάτω.

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

Εδώ, μπορείτε να δείτε μια πολύ βασική διαμόρφωση XR που έχει γίνει μέσα στο xrctl.xml. Έχω ορίσει τι είναι ο διακομιστής XR, ποιοι είναι οι διακομιστές υποστήριξης και οι θύρες τους και η θύρα διασύνδεσης ιστού για το XR.

4. Τώρα πρέπει να ξεκινήσετε τον δαίμονα XR εκδίδοντας τις παρακάτω εντολές.

xrctl start
xrctl status

5. Ωραία. Τώρα ήρθε η ώρα να ελέγξετε εάν οι ρυθμίσεις παραμέτρων λειτουργούν καλά. Ανοίξτε δύο προγράμματα περιήγησης ιστού και εισαγάγετε τη διεύθυνση IP του διακομιστή XR με θύρα και δείτε την έξοδο.

Φανταστικός. Λειτουργεί μια χαρά. τώρα ήρθε η ώρα να παίξετε με το XR.

6. Τώρα είναι ώρα να συνδεθείτε στον πίνακα ελέγχου του XR Crossroads και να δείτε τη θύρα που έχουμε διαμορφώσει για διεπαφή ιστού. Εισαγάγετε τη διεύθυνση IP του διακομιστή XR σας με τον αριθμό θύρας για τη διεπαφή ιστού που έχετε διαμορφώσει στο xrctl.xml.

http://172.16.1.204:8010

Έτσι φαίνεται. Είναι εύκολο στην κατανόηση, φιλικό προς το χρήστη και εύκολο στη χρήση. Δείχνει πόσες συνδέσεις έλαβε κάθε διακομιστής υποστήριξης στην επάνω δεξιά γωνία μαζί με τις πρόσθετες λεπτομέρειες σχετικά με τα αιτήματα που έλαβε. Ακόμη μπορείτε να ορίσετε το βάρος φόρτωσης κάθε διακομιστή που πρέπει να αντέχει, τον μέγιστο αριθμό συνδέσεων και τον μέσο όρο φόρτωσης κ.λπ.

Το καλύτερο μέρος είναι ότι μπορείτε πραγματικά να το κάνετε αυτό ακόμη και χωρίς να διαμορφώσετε το xrctl.xml. Το μόνο που έχετε να κάνετε είναι να εκδώσετε την εντολή με την ακόλουθη σύνταξη και θα κάνει τη δουλειά.

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

Αναλυτική επεξήγηση της παραπάνω σύνταξης:

  1. Το –verbose θα δείξει τι συμβαίνει όταν εκτελεστεί η εντολή.
  2. Ο –διακομιστής ορίζει τον διακομιστή XR στον οποίο έχετε εγκαταστήσει το πακέτο.
  3. Το –backend ορίζει τους διακομιστές ιστού στους οποίους χρειάζεστε για να εξισορροπήσετε την επισκεψιμότητα.
  4. Το Tcp ορίζει ότι χρησιμοποιεί υπηρεσίες tcp.

Για περισσότερες λεπτομέρειες, σχετικά με την τεκμηρίωση και τη διαμόρφωση του CROSSROADS, επισκεφτείτε τον επίσημο ιστότοπο τους στη διεύθυνση: https://crossroads.e-tunity.com/.

Το XR Corssroads επιτρέπει πολλούς τρόπους για να βελτιώσετε την απόδοση του διακομιστή σας, να προστατεύσετε τους χρόνους διακοπής λειτουργίας και να κάνετε τις εργασίες διαχειριστή σας ευκολότερες και πιο εύχρηστες. Ελπίζουμε να σας άρεσε ο οδηγός και μην διστάσετε να σχολιάσετε παρακάτω για τις προτάσεις και τις διευκρινίσεις. Μείνετε σε επαφή με την Tecmint για εύχρηστα How To's.

Διαβάστε επίσης: Εγκατάσταση του Pound Load Balancer για τον έλεγχο του φόρτου του διακομιστή Web