Hlavní navigace

High Availability a Linux (4)

Věroš Kaplan 12. 1. 2004

V tomto závěrečném dílu seriálu si rozebreme některé problémy teoretické i praktické a blíže se podíváme na živá realizovaná řešení.

Problémy

Problémy teoretické

Jak říká klasik, každá kladná věc má i svou stinnou stránku, je zřejmé, že i řešení s heartbeatem budou nějakým způsobem omezená.

  • Je zřejmé, že pokud se najednou porouchají dva počítače, nepomůže nám ani heartbeat. Dá se však ukázat, že porucha dvou počítačů najednou je (při předpokladech nezávislosti) méně pravděpodobná než porucha jednoho. (Že by úloha do nových skript z pravděpodob­nosti?)
  • Heartbeat umožňuje clusterovat pouze dva počítače. V manuálu se tvrdí, že je rozšiřitelný i nad dva počítače, nezkoušel jsem to. I kdyby rozšiřitelný nebyl, neměl by být problém monitorovat například tři počítače čtvrtým, stačí vhodně nakonfigurovat tři instance heartbeatu na záložním počítači. V praxi jsem toto řešení nezkoušel.
  • Pokud spadne heartbeatová linka, démon může být zmaten. Je proto lepší do obou počítačů přidat jednu síťovou kartu s vyhrazenou IP adresou, která bude zajišťovat propojení obou počítačů přes křížený kabel. Používáte-li drbd, je možné tuto druhou linku použít i pro synchronizaci obsahu disků (rekord asi 8.5MiB/s). Praktickou realizaci ponechávám jako domácí úkol laskavému čtenáři.

Problémy praktické (tedy caveats)

Jak praví Murphy: „I tam, kde není žádný problém, je jeden malý, který by rád ven.“ Při reálném nasazení heartbeatu můžete narazit na problémy, které jsou skryty v počátečním nadšení pro HA:

  • Nevýhodou clusteringu je fakt, že všechno musí být zdvojené. V praxi to řeším tak, že dva stroje s rezervou výkonu spáruji. Například mail server a HTTP proxy server hlídají navzájem jeden druhého. Když vypadne mailer, proxy server začne přijímat a odesílat maily, v případě výpadku proxy serveru jeho služby dočasně zastane mailer. Ve většině času je každý jeden počítač zatížen pouze jednou službou.
  • Aby služby byly opravdu identické, je potřeba udržovat stejné konfigurační soubory na obou strojích. Zatím to řeším pomocí scp, další možnost je rsync či sup. Zajímavou možností, která mne napadla, je použít User Mode Linux (UML) pro běh clusterovaného počítače. Velmi by se tím mohla zjednodušit správa konfiguračních souborů. S UML zatím nemám žádné zkušenosti, takže myšlenky jsou pouze v teoretické rovině.
  • Je zřejmé, že heartbeat je možné nasadit pouze pro některé démony – zejména pro služby, které jsou založené pouze na krátkodobých spojeních a démoni svůj stav ukládají na disk. I přesto však jde o dobrou možnost, jak zvýšit odolnost vašich serverů a služeb, neboť většina síťových služeb této podmínce vyhovuje. Je možné nasadit heartbeat relativně jednoduše pro mail server, sambu, LDAP. Pokud chcete ale zálohovat například freeciv server, musíte vynaložit větší množství úsilí.
  • Budete-li clusterovat mailserver, nezapomeňte, že některé programy (cron) mají ve zvyku posílat maily správci systému. Je proto velmi vhodné, aby i na neaktivním počítači byl /usr/bin/sendmail, který bude i v případě neaktivity přeposílat maily na druhý stroj. V praxi jsem to vyřešil vhodně sestavenými skripty, které mění konfiguraci qmailu a pak jej restartují.

Vyzkoušená řešení

Mail a web

Tabulka č. 531
První stroj Druhý stroj
Mailer Webserver, mailing list, databáze
qmail Apache, Mailman
Courier IMAP MySQL

Oba stroje jsou značkové repasované počítače, všechny disky jsou SCSI v RAIDu1. Replikované disky pro mailboxy, webové stránky a databázi jsou řešeny přes drbd. Do počítačů je přidaná další síťová karta, která slouží jako heartbeat a zároveň se používá pro replikaci disků. Původně byl první počítač nainstalován samostatně, po měsíci provozu jsem jej spojil do clusteru s druhým. Toto řešení chodí bez problémů už několik měsíců.

Našli jsme pro něho s kolegou i další uplatnění – při restartech počítačů (třeba kvůli výměně jádra) se koncovým uživatelům neprojeví žádné velké přerušení dostupnosti služby.

Mail a firewall

Tabulka č. 532
První stroj Druhý stroj
Mailer Firewall, proxy server
qmail Squid

Po počátečních problémech (stroje při převozu a havárii proletěly zadním okénkem od auta) a drobných potížích s konfigurací i tento pár také funguje ke spokojenosti jeho uživatelů. Disk pro mailboxy se replikuje pomocí drbd. Squid běží na obou strojí trvale, uživatele ověřuje proti LDAPu.

Jiné reference

V jedné nejmenované české firmě mají na Linuxu postavené dvě replikované databáze. Na dvou velkých serverech běží dva databázové stroje, které sbírají data z výroby. Disky jsou připojeny ze sdíleného diskového pole přes SCSI (nebo FibreChannel). Při poruše jednoho z počítačů se diskové pole přemountuje do druhého, přebere se jeho IP adresa a obě databáze fungují dále. Celé to působí velmi pěkným dojmem.

Informační systém Masarykovy univerzity používá pro distribuci zátěže na farmu linuxových strojů počítač, který přijímá HTTP požadavky a přeposílá je dále (LVS). Tento stroj je také zálohován heartbeatem. (Dle vyjádření Yenyi Kasprzaka.)

Na Internetu je možné najít další reference (Samba, LDAP, apod.), dobrou startovní adresou může být např. www.linux-ha.org či přímo stránky démona heartbeat www.linux-ha.org/heartbeat/

Závěr

I přes popsané nevýhody se domnívám, že nasazení heartbeatu je velmi lákavá a výhodná varianta. V praxi jej již mám nasazen přibližně půl roku a věřím, že mi ušetřil mnoho času i nervů.

Na tomto místě bych rád poděkoval Petrovi „Klokanovi“ Přidalovi za pomoc při psaní článku a korekturách.

Našli jste v článku chybu?

13. 1. 2004 11:27

Michal Kara (neregistrovaný)

Mrknete se nejdriv na nektere moje clanky tady na root.cz a pak posuzujte, jestli jsem BSDckar nebo Windowsar :-)))

Pravdu ma Steve - HA reseni pouzivana v realne praxi se vetsinou staveji na specializovanem HW/SW. Ani na Linuxu, ani na BSD, ani na Woknech.

P.S.: <Rypnuti>Lide jako vy bohuzel nedelaji Linuxove komunite moc dobrou sluzbu :-|</Rypnuti>





13. 1. 2004 9:43

OldFrog (neregistrovaný)

Souhlasim s tim, ze clanku by lepe slusel nazev "Jak jsem rozjizdel HeartBeat", protoze stavajici nazev budi dojem souhrnejsi studie z pera zkuseneho specialisty. Nicmene si nemyslim, ze by zacatecnici nemeli psat clanky. Navic autor clanku je zacatecnikem jen v dane oblasti, ne v linuxu obecne. To je pro psani clanku zvlast prizniva konstalace - takovyto parcialni zacatecnik muze casto lepe porozumet a predvidat dotazy jinych zacatecniku. A priznejme si - vetsina ctenaru clanku v oblastni hi…

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Formičky naší babičky: Jak se zbavit rzi

Formičky naší babičky: Jak se zbavit rzi

Podnikatel.cz: Udávání kvůli EET začalo

Udávání kvůli EET začalo

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Vitalia.cz: I církev dnes vyrábí potraviny

I církev dnes vyrábí potraviny

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Měšec.cz: Golfové pojištění: kde si jej můžete sjednat?

Golfové pojištění: kde si jej můžete sjednat?

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

DigiZone.cz: ČRo rozšiřuje DAB do Berouna

ČRo rozšiřuje DAB do Berouna

120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy