Προαπαιτούμενα
Προετοιμασία του συστήματος
Εγκατάσταση του Keepalived
Κύριος διακομιστής
Εφεδρικός διακομιστής
Χρήση και δοκιμή
συμπέρασμα
Ορισμένες αρχιτεκτονικές υψηλής διαθεσιμότητας απαιτούν μια κινητή διεύθυνση IP. Αυτή η λειτουργία είναι διαθέσιμη στην πλατφόρμα Vultr μόλις ενεργοποιηθεί η ιδιωτική δικτύωση. Το Vultr προσφέρει ένα εύρος IP σε κάθε ιδιωτικό δίκτυο: "Μπορείτε να χρησιμοποιήσετε οποιαδήποτε IP θέλετε στο ιδιωτικό δίκτυο. Εκχωρούμε μία IP από προεπιλογή, αλλά μπορείτε να την αγνοήσετε και να χρησιμοποιήσετε άλλες, αν θέλετε." . Επομένως, μπορούμε να χρησιμοποιήσουμε οποιαδήποτε εικονική IP εντός της περιοχής ιδιωτικής IP. Αυτό το παράδειγμα διαθέτει μια παθητική/ενεργητική εγκατάσταση. Ο κύριος διακομιστής θα διεκδικήσει την κινητή IP εκτός εάν ο διακομιστής πέσει. Εάν ο κύριος διακομιστής είναι εκτός λειτουργίας, η κινητή IP θα διεκδικηθεί από τον εφεδρικό διακομιστή.
Προαπαιτούμενα
Προετοιμασία του συστήματος
Ξεκινήστε ενεργοποιώντας το ιδιωτικό δίκτυο σε κάθε VPS. Αυτό το χαρακτηριστικό έχει τεκμηριωθεί καλά .
Συνδεθείτε σε κάθε σύστημα ως sudoχρήστης και ενημερώστε το σύστημα και τα πακέτα του:
apt-get update && apt-get upgrade
Μόλις γίνει αυτό, είμαστε έτοιμοι να ξεκινήσουμε με την εγκατάσταση και τη διαμόρφωση του Keepalived.
Εγκατάσταση του Keepalived
Τώρα που κάθε σύστημα είναι ενημερωμένο και διαθέτει ιδιωτική IP, μπορείτε να εγκαταστήσετε το Keepalived και στα δύο.
apt-get install keepalived
Αυτό θα εγκαταστήσει τον δαίμονα υψηλής διαθεσιμότητας. Το Keepalived είναι ένα πρόγραμμα που παρέχει υψηλή διαθεσιμότητα και λειτουργικότητα εξισορρόπησης φορτίου με βάση το πρωτόκολλο πλεονασμού του εικονικού δρομολογητή (VRRP).
Κύριος διακομιστής
Στον κύριο διακομιστή, επεξεργαστείτε το αρχείο διαμόρφωσης Keepalived.
nano /etc/keepalived/keepalived.conf
Αυτή virtual_ipaddressείναι η IP που θα αιωρούμε μεταξύ των διακομιστών. Το priorityορίζει σε ποιον θα ανήκει η IP. Για τον κύριο, θα χρησιμοποιήσουμε μια προτεραιότητα του 200. Θα χρησιμοποιήσουμε το 10.99.0.200ως την κινητή εικονική IP μας.
vrrp_instance VI_1 {
state MASTER
interface ens7
virtual_router_id 51
priority 200
advert_int 1
authentication {
auth_type PASS
auth_pass thisismysupersecretpassword
}
virtual_ipaddress {
10.99.0.200
}
}
Εφεδρικός διακομιστής
Στον διακομιστή αντιγράφων ασφαλείας, επεξεργαστείτε το αρχείο διαμόρφωσης Keepalived.
nano /etc/keepalived/keepalived.conf
Εδώ θα ορίσουμε το virtual_ipaddressακριβώς όπως στον κύριο διακομιστή. Η διαφορά εδώ είναι ότι η προτεραιότητα αυτού του διακομιστή είναι χαμηλότερη, επομένως θα διεκδικήσει την IP μόνο όταν ο κύριος δεν είναι συνδεδεμένος.
vrrp_instance VI_1 {
state BACKUP
interface ens7
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass thisismysupersecretpassword
}
virtual_ipaddress {
10.99.0.200
}
}
Χρήση και δοκιμή
Μόλις διαμορφωθούν και οι δύο υπηρεσίες Keepalived, ξεκινήστε κάθε υπηρεσία και ενεργοποιήστε την κατά την εκκίνηση.
systemctl start keepalived
systemctl enable keepalived
Σε έναν τρίτο διακομιστή (ή στον εφεδρικό διακομιστή) ξεκινήστε κάνοντας ping στην κοινόχρηστη IP μας:
ping 10.99.0.200
Τώρα επανεκκινήστε τον κύριο διακομιστή και παρακολουθήστε την IP να μετακινείται στον εφεδρικό διακομιστή. Αυτό συνήθως υποδεικνύεται από μια μικρή αύξηση στην καθυστέρηση του ping.
64 bytes from 10.99.0.200: icmp_seq=80 ttl=64 time=0.384 ms
64 bytes from 10.99.0.200: icmp_seq=81 ttl=64 time=1.33 ms <<< failover has happened
64 bytes from 10.99.0.200: icmp_seq=82 ttl=64 time=0.388 ms
64 bytes from 10.99.0.200: icmp_seq=83 ttl=64 time=0.339 ms
64 bytes from 10.99.0.200: icmp_seq=84 ttl=64 time=0.570 ms
συμπέρασμα
Το Keepalived λειτουργεί χωρίς προβλήματα στο Vultr και είναι έτοιμο για όλα τα σχέδια αρχιτεκτονικής υψηλής διαθεσιμότητας.