"Keepalived" programinė įranga daugiausia įgyvendina didelio prieinamumo funkcijas per VRRP protokolą. VRRP yra virtualaus maršrutizatoriaus redundancy protokolo santrumpa, VRRP skirta išspręsti statinių maršrutų vieno gedimo taško problemą, kuri gali užtikrinti, kad sugedus atskiriems mazgams, visas tinklas galėtų veikti nepertraukiamai. Todėl "Keepalived" turi LVS konfigūravimo ir valdymo funkciją, taip pat turi LVS mazgų būklės tikrinimo funkciją, kita vertus, ji taip pat gali realizuoti aukšto sistemos tinklo paslaugų prieinamumo funkciją.
Keepalived didelio prieinamumo perjungimo principas
Keepalived perjungimas tarp didelio prieinamumo paslaugų porų įgyvendinamas naudojant VRRP (Virtual Router Redundancy Protocol).
Kai "Keepalived" paslauga veikia normaliai, pagrindinis mazgas nuolat siunčia širdies plakimo pranešimus į budėjimo mazgą (multicast), kad praneštų atsarginiam mazgui, kad jis vis dar gyvas, o kai pagrindinis mazgas sugenda, jis negali siųsti širdies plakimo pranešimų, todėl budėjimo mazgas nebegali aptikti širdies plakimo iš pagrindinio mazgo, todėl jis iškviečia savo perėmimo programą, kad perimtų pagrindinio mazgo IP išteklius ir paslaugas. Atkūrus pirminį pagrindinį mazgą, atsarginis mazgas išleidžia pagrindinio mazgo perimtus IP išteklius ir paslaugas ir atkuria pradinį budėjimo režimą.
Keepalived didelio prieinamumo poros bendrauja tarpusavyje per VRRP
1) VRRP, pilnas virtualaus maršrutizatoriaus pertekliaus protokolo pavadinimas, kiniškas pavadinimas yra virtualaus maršruto pertekliaus protokolas, VRRP atsirado siekiant išspręsti vieną statinių maršrutų gedimo tašką. 2) VRRP yra kampanijos protokolo mechanizmas, suteikiantis maršrutizavimo užduotis VRRP maršrutizatoriui. 3) VRRP naudoja IP daugiaadresį perdavimą (Numatytasis daugiaadresis adresas (224.0.0.18)) sudaro sąlygas palaikyti ryšį tarp labai prieinamų porų. 4) Kai pagrindinis mazgas siunčia paketus, o budėjimo mazgas gauna paketus, kai budėjimo mazgas negali priimti pagrindinio mazgo siunčiamų duomenų paketų, perėmimo programa pradedama perimti pagrindinio mazgo išteklius. Gali būti keli budėjimo režimo mazgai, kurie pasirenkami prioritetinio konkurso būdu, tačiau paprastai Keepaled sistemos veikime ir priežiūroje yra pora. 5) VRRP naudoja šifravimo protokolą duomenims užšifruoti, tačiau "Keepalive" pareigūnai vis tiek rekomenduoja naudoti paprastą tekstą autentifikavimo tipui ir slaptažodžiui konfigūruoti.
Kaip veikia "Keepalived" paslauga
1) Keepalived didelio prieinamumo poros bendrauja per VRRP, VRRP nustatomas per kampanijos mechanizmą, pagrindinio prioritetas yra didesnis nei budėjimo režimas, todėl dirbdamas meistras teiks pirmenybę gauti visus išteklius, budėjimo mazgas yra laukimo būsenoje, kai pagrindinis pakimba, budėjimo mazgas perims pagrindinio mazgo išteklius, o tada pakeis pagrindinį mazgą, kad teiktų paslaugas išoriniam pasauliui.
2) tarp Keepalived paslaugų porų,Visą laiką siųs tik serveris, kuris yra pagrindinisVRRPTransliacijos paketasKai pagrindinis nepasiekiamas, tai yra, kai šeimininkas negali klausytis pagrindinio atsiųsto transliacijos paketo, atitinkama paslauga bus pradėta perimti išteklius, kad būtų užtikrintas verslo tęstinumas. Greičiausias perėmimo greitis gali būti mažesnis nei 1 sekundė.
Bandymo aplinka
Sistema: CentOS 8
| IP adresas | Iliustruoti | | 192.168.50.222 | VIP adresas | | 192.168.50.227 | Pagrindinis mazgas MASTER | | 192.168.50.131 | BACKUP budėjimo režimo mazgai |
Pažvelkime į užbaigtus atvaizdus taip:
Įdiekite "Nginx" paslaugą
Naudokite yum tiesiai įPagrindinis mazgasirAlternatyvūs mazgaiServeris įdiegia nginx su šia komanda:
Redaguokite pirminio ir budėjimo mazgų nginx konfigūracijos failus atskirai, kelias:/etc/nginx/nginx.confKonfigūracija yra tokia:
Paleista naudojant komandą nginx, patikrinkite prieigą prie 8055 prievado per naršyklę, kaip parodyta šiame paveikslėlyje:
Įdiekite "Keepalived" Norėdami įdiegti tiek pirminiame, tiek budėjimo režimo mazge, komanda yra tokia:
Profilio adresas:/etc/keepalived/keepalived.conf
Čia reikia sukonfigūruoti būklės patikrinimo scenarijų ir sukurti naująchk_nginx.shfailas, kodas yra toks:
Įkelkite scenarijų į /etc/keepalived katalogą. ir suteikti vykdymo teises taip:
192.168.50.227 pirminio mazgo keepalived.conf konfigūracijaTaip:
192.168.50.133 Alternatyvaus mazgo keepalived.conf konfigūracijaTaip:
Nustatykite įkrovą ir įkrovą abiejuose serveriuose atskirai
ŠiolKonfigūracija baigta (žr. straipsnio viršuje apie atvaizdavimą), galima išbandyti naudojant NGINX paslaugą naudojant šią komandą:
(Pabaiga)
|