Když uslyšíte termín „vysoká dostupnost“, možná si vybavíte velká, složitá prostředí s tajemnými technologiemi, která jsou mimo dosah průměrného správce systému. Základní HA však nemusí být složité:v této sérii se dozvíte o implementaci základních, vysoce dostupných služeb pomocí Keepalived
. Provedu vás jednoduchými situacemi přepnutí při selhání i složitější konfigurací používanou k reakci na externí události a spouštění přepnutí při selhání. Nejprve začneme se základy Keepalived
a Virtual Router Redundancy Protocol
(VRRP).
Tento článek je prvním ze série tří článků, které pokrývají vše od základního nastavení až po pokročilé koncepty Linux HA.
Základy Keepalived a VRRP
Symboly sítě v diagramech dostupné prostřednictvím VRT Network Equipment Extension, CC BY-SA 3.0.
Pokud jste si přečetli některé články o aktivaci sítě Sysadmin, pak víte, že všichni správci systému mohou těžit z pevného porozumění základům sítě. Znalost Keepalived
není jiné. Protokol, který podporuje převzetí služeb při selhání HA, je Virtual Router Redundancy Protocol
(VRRP) a Keepalived
poskytuje implementaci tohoto protokolu ve verzi 2 i verzi 3.
Může to znít divně, že na našich serverech používáme protokol vytvořený pro směrovače. Ukazuje se, že stejná síťová technologie používaná pro poskytování redundance síťovým zařízením může také poskytovat redundanci v serverových prostředích. Směrovače jsou často nasazovány ve dvojicích, kdy jeden směrovač je aktivní a druhý je v pohotovostním režimu, připraven k použití v případě, že aktivní směrovač selže. Stejné koncepty lze aplikovat na servery.
VRRP
používá koncept virtuální IP adresy (VIP). Jeden nebo více hostitelů (směrovače, servery atd.) se účastní voleb, které určí hostitele, který bude ovládat daný VIP. Pouze jeden hostitel (master) ovládá VIP současně. Pokud hlavní server selže, VRRP
poskytuje mechanismy pro detekci tohoto selhání a rychlé přepnutí na záložní hostitele. Ve výše uvedené topologii je server1 hlavní a je zodpovědný za IP adresu 192.168.122.200. Pokud selže server1, převezme tuto IP adresu server2.
Také stojí za to si uvědomit, že Keepalived
poskytuje více než jen VRRP
implementace. Keepalived
má také schopnost konfigurovat Linux IP virtuální servery pro vyrovnávání zátěže. Konfigurace IPVS je mimo rozsah této řady, ale je dobré vědět, že můžete použít Keepalived
pro konfiguraci redundantního nástroje pro vyrovnávání zátěže typu vše v jednom pro vaše prostředí.
Provoz protokolu VRRP
VRRP
Chování uživatele je specifikováno RFC 3768 (verze 2) a RFC 5798 (verze 3). V této sérii článků budu používat verzi 2. Zatímco kontrola RFC je nejlepší způsob, jak plně porozumět chování protokolu, nemusíte být odborníkem, abyste mohli začít používat Keepalived
implementace ve vašem prostředí. Základní znalost VRRP
Chování uživatele vám umožní lépe jej provozovat a odstraňovat problémy ve vašem prostředí.
První krok v VRRP
operacemi je volba hlavního serveru, který určí, který server (nebo router ve specifikaci protokolu) bude držet sdílenou IP adresu. VRRP
servery jsou konfigurovány s hodnotou priority, kterou lze považovat za váhu. Server s nejvyšší prioritou bude vlastníkem VRRP
adresa. Specifikace uvádí, že priorita hlavního serveru by měla být 255
, přičemž všechny záložní servery mají hodnotu nižší než 255
. V praxi priorita 255
není nezbytně nutné, protože protokol vybere server s nejvyšší prioritou, i když to není 255.
Jakmile je master ustaven, všechny ostatní servery naslouchají periodickým zprávám zasílaným masterem, aby indikovaly, že je stále naživu. Master rozesílá tyto inzeráty v pravidelných intervalech. Dokud je master naživu, bude obsluhovat provoz pro VIP a odesílat reklamy. Pokud master z nějakého důvodu přejde do režimu offline, převezme zálohovací server s nejvyšší prioritou. Podobně může funkce zvaná preempce umožnit jakémukoli serveru, který má vyšší prioritu, aby se stal automaticky master, když je online.
Když se master poprvé objeví online a převezme IP adresu, vyšle bezplatnou ARP. Tato zpráva informuje ostatní servery v síti o MAC adrese přidružené k VIP, aby mohly správně adresovat svůj provoz na vrstvě 2. Rovněž zrychluje převzetí služeb při selhání VIP:hostitelé nemusí čekat na vypršení jejich časovačů ARP a mohou jednoduše aktualizujte jejich tabulky ARP správnou MAC adresou hostitele, který vlastní VIP.
Formát paketu
Ponořit se do teoretických aspektů fungování protokolu může být trochu nudné, ale je důležité pro pochopení toho, jak technologie funguje (a pro řešení problémů, když se porouchá). Pokud se podíváte na strukturu paketů VRRP
reklamy pomocí Wireshark, několik věcí bude jasnějších.
Nejprve si všimnete, že ethernetové i IP cílové adresy jsou multicast
adresy. Provoz vícesměrového vysílání, jak název napovídá, je odesílán více hostitelům v síti, kteří „poslouchají“ tuto adresu vícesměrového vysílání. Většina sítí se vyhýbá složité konfiguraci vícesměrového vysílání, takže provoz vícesměrového vysílání pro VRRP
se stane vysílaným provozem v segmentu místní sítě a půjde ke všem hostitelům.
Můžete také vidět, že VRRP
není ani TCP ani UDP. VRRP
používá pro svůj provoz IP protokol číslo 112. Znalost tohoto čísla protokolu může být důležitá, protože možná budete muset nakonfigurovat svůj hostitelský firewall tak, aby povoloval tento provoz z VRRP
servery ve vašem prostředí.
Jakmile se začnete dívat na VRRP
části paketu, všimnete si, že obsahuje všechny informace potřebné k výběru hlavního serveru a informování ostatních serverů o aktuálním hlavním serveru:
- ID virtuálního směrovače (VRID) je jedinečný identifikátor pro
VRRP
instance a její IP adresy (může jich být více) v síti. Měli byste se vyhnout opětovnému použití VRID ve stejné síti LAN, ale lze je bezpečně znovu použít v různých sítích vrstvy 2. - Priorita je prioritou hostitele odesílajícího reklamu. Jakmile je pán zvolen, je to jakákoliv priorita definovaná velitelem. Přísné dodržování specifikace by mělo používat
255
pro hlavní prioritu, ale mnoho konfigurací volí jinou hodnotu. - Typ ověření a autentizační řetězec obsahují jednoduché textové heslo k ověření členů
VRRP
seskupit mezi sebou. - Interval reklamy udává, jak často bude hlavní server rozesílat reklamy. V tomto případě bude master posílat reklamu každou sekundu.
- Adresa IP obsahuje jednu nebo více adres IP, za které je odpovědný hlavní server. Zatímco tato řada bude pokrývat pouze převzetí služeb při selhání jedné IP adresy, je možné mít
VRRP
spravovat více IP adres.
Závěr
Tento článek vás provede základním protokolem, který je základem Keepalived
, softwarová implementace VRRP
na Linuxu. I když se kontrola specifik protokolů může zdát nudná, je důležité porozumět síťovým protokolům fungujícím ve vašem prostředí, abyste je mohli efektivně konfigurovat a odstraňovat problémy. V dalším článku se dozvíte, jak nainstalovat a nakonfigurovat Keepalived
.
[ Potřebujete se dozvědět více o správě systému Linux? Zvažte absolvování kurzu správy systému Red Hat. ]