You are on page 1of 43

Intelligens rendszerfelügyelet

Fürtözés és replikáció

Micskei Zoltán
(részben Medgyesi Zoltán munkája alapján)

Budapesti Műszaki és Gazdaságtudományi Egyetem


Méréstechnika és Információs Rendszerek Tanszék 1
Bevezető

 Cél: hibatűrés
o számítógép hibák tolerálása

 Mikor éri meg:


o Egy géppel elérhető: ~99%-os rendelkezésre állás
(évi max 3,5 nap kiesés)
o Ha ennél jobbat akarunk

 Redundancia beépítése

2
Tartalom

 Fürtök
o Fürtök csoportosítása
o Terheléselosztó fürtök
o Feladatátvételi fürtök

 Replikáció
o Elsődleges – másodlagos séma
o Multimaster

3
A számítógépfürt

Fürt (cluster): különálló számítógépek együttese,


amelyek egymással együttműködve és azonos
szolgáltatásokat, alkalmazásokat futtatva egyetlen
rendszerként, virtuális kiszolgálóként jelennek
meg az ügyfelek számára.

4
Fürtök (egy lehetséges) csoportosítása

Fürt

Nagy
Terhelés-
Számítási célú rendelkezésre
elosztási
állású

5
Fürtök (egy lehetséges) csoportosítása
Fürt
High Performance Computing (HPC)
• Szétosztható, párhuzamosítható
feladatok
Nagy
Terhelés-
Számítási célú rendelkezésre
elosztási
állású
• Elosztott, lazán csatolt
• Nincs teljes központi adminisztráció
• Nyílt szabványok
Grid

• Szorosabban csatolt
Számítási
fürt
6
Számítási fürt példa: IBM Roadrunner
 12,960 IBM PowerXCell 8i
CPU
 6,480 AMD Opteron dual-
core CPU
 Összesen: 130 464 mag

7
Fürtök (egy lehetséges) csoportosítása
Load balance cluster
Fürt • Ügyfélkérések szétosztása
a fürttagok között
• Lokális erőforrások
Nagy
• Tipikusan állapotmentes
Terhelés-
Számítási célú rendelkezésre
szolgáltatások
elosztási
állású

• Kérések szétosztása a
Hálózati szintű hálózati rétegben
• Alkalmazás elől rejtve

• Alkalmazás-specifikus
Alkalmazási megoldás
szintű • Hasonló pl. az adatbázisok
partícionálásához
8
Fürtök (egy lehetséges) csoportosítása

HA cluster Fürt
• Szolgáltatás egyik fürttagon
fut, többi tartalék
• Feladatátvétel (failover) Nagy
Terhelés-
Számítási célú rendelkezésre
elosztási
állású
• Egy erőforrást egyszerre
többen használhatnak
Megosztott
• Alkalmazás szintű zárolás
lemezes

• Erőforrás birtoklása
Megosztott
kizárólagos
elem nélküli

9
Tartalom

 Fürtök
o Fürtök csoportosítása
o Terheléselosztó fürtök
o Feladatátvételi fürtök

 Replikáció
o Elsődleges – másodlagos séma
o Multimaster

10
A terheléselosztás dilemmája
Egyenletes elosztás
• csomópontok terhelésének
figyelése
• bonyolultabb elosztó
algoritmusok

Egyszerűség
• kevesebb meghibásodási
lehetőség
• kisebb overhead

11
Hálózati terheléselosztó fürtök fajtái

 Round-robin DNS

 Teljesen elosztott

 Központi elemre épülő

12
Round-robin DNS
 DNS szerver más-más címet
ad vissza kérésenként
 Pl.: nslookup www.cnn.com

 Előny:
o egyszerű
o független fürttagok
 Hátrány:
o statikus

13
Teljesen elosztott NLB fürt
 Közös IP, MAC cím a fürtnek
 Kéréseket mindenki
megkapja
 Egy csomópont válaszol
 Pl. Microsoft NLB

 Előny:
o nincs SPOF szétosztó
 Hátrány:
o Korlátos méret
14
Központi elemre épülő
 Központi elosztó (dispatcher)
 Dedikált HW-es megoldások is
 Kifinomult terhelésfigyelés
és elosztás

 Előny
o Elosztóban egyéb szolgáltatások
(cache, SSL offload…)
 Hátrány
o Elosztó SPOF lehet

15
Probléma: munkamenet megőrzése
 Ügyfél munkamenete tipikusan a webszerver
memóriájában tárolódik
o De: ügyfél egymás utáni kéréseit különböző
webszerver szolgálja ki
 Terheléselosztó szintű megoldás:
o Affinitás: adott ügyfél kéréseit mindig ugyanaz a
szerver szolgálja ki
 Alkalmazás szintű megoldás:
o Munkamenet tárolása központi gépen / adatbázisban
o Munkamenet tárolása a kliensen, elküldése minden
kérésben
16
Példák: Hálózati terheléselosztók
 RRDNS:
o majd minden DNS kiszolgáló (bind, MS DNS…)
 Elosztott megoldások:
o Microsoft Network Load Balancing
 Központi elosztót használó:
o HW (Cisco, BigIP, Foundry ServerIron, Nortel…)
o Linux Virtual Server

17
Linux Virtual Server
 Elterjedt (Siemens,
sourceforge.net,
linux.com…)
 Elosztó: aktív-passzív
 Layer 4 és 7 elosztás

18
 Microsoft NLB
 maximum 32 csomópont
 kieső kiszolgálók detektálása 10 sec alatt
 Speciális szűrő hálózati meghajtó
 Portszabályok, affinitás

19
Tartalom

 Fürtök
o Fürtök csoportosítása
o Terheléselosztó fürtök
o Feladatátvételi fürtök

 Replikáció
o Elsődleges – másodlagos séma
o Multimaster

20
HA fürtök csoportosítása
 (Klasszikus csoportosítás*)
 Megosztott lemezes (shared disk)
o Szolgáltatás több csomóponton fut(hat)
o Közös erőforrást egyszerre írhatják-olvashatják
o De: fizikai szinten sorosítás, zárolás használata
o Pl.: Oracle RAC
 Megosztott elem nélküli (shared nothing)
o Szolgáltatás egyszerre egy csomóponton fut
o Egy erőforrást egyszerre egy csomópont birtokol
o De: fizikai szinten lehet közös elérésű erőforrás
*M. Stonebraker, The Case for Shared Nothing, 1985, http://db.cs.berkeley.edu/papers/hpts85-nothing.pdf

21
HA fürtök - alapfogalmak
 Csomópont (node)
Ügyfelek
 Szívverés (heartbeat)
Nyilvános
hálózat  Feladatátvétel
Feladatátvétel
(failover)
 Feladat-visszavétel
Szolgáltatás
Szívverés

(failback)
A közös adattároló
elérése  Átkapcsolás
(switchover)

22
HA fürtök - erőforrások
 Minden erőforrás (lemez, IP cím, Apache…)
 Erőforráscsoport: olyan erőforrások, amiket együtt
kell mozgatni

Fájlmegosztás  Függőségi fa
 Erőforrások
Hálózati név leállításának és
indításának
sorrendje
IP-cím Fizikai lemez

23
Feladatátvételi topológiák (1)
 Feladatátvételi pár (aktív-aktív)

1. szolgáltatás, 1. szolgáltatás,
elsődleges másodlagos

2. szolgáltatás, 2. szolgáltatás,
másodlagos elsődleges

24
Feladatátvételi topológiák (2)
 Forró tartalék (N+1)
 Több tartalék (N+M)

1. szolgáltatás,
másodlagos

1. szolgáltatás,
elsődleges

2. szolgáltatás,
2. szolgáltatás, elsődleges
másodlagos

25
Feladatátvételi topológiák (3)
 Feladatátvételi gyűrű

4. szolgáltatás, 1. szolgáltatás, 1. szolgáltatás, 2. szolgáltatás, 2. szolgáltatás, 3. szolgáltatás, 3. szolgáltatás, 4. szolgáltatás,


másodlagos elsődleges másodlagos elsődleges másodlagos elsődleges másodlagos elsődleges

26
Feladatok, problémák a fürtökben
 Tagsági kép fenntartása (group membership): ki
működik a csomópontok közül
 Csoportkommunikáció (group communication):
üzenetek eljuttatása a többieknek hibák esetén is
 Tudathasadás (split brain): fürt több, független
részre szakad
 Amnézia: kiesés után újrainduló csomópontot
értesíteni a közben történt változásokról
 Gördülő frissítés (rolling upgrade): csomópontok
frissítése egyesével, többi működik közben
27
Megoldások
 Sun Solaris Cluster
 IBM High Availability Cluster Multiprocessing
 Oracle Clusterware
 Linux-HA
 SA Forum AIS
 Windows Server Failover Clustering
 VMware vSphere HA
 …

28
Windows Server Failover Clustering
 Maximum 64 csomópont (Windows 8)
 Fürtözhető szolgáltatások: fájl szerver, DHCP, SQL
Server, Hyper-V, saját alkalmazás…
 Quorum (többség):
o szavazatok többségének meg kell lenni egy partícióban,
hogy az működhessen
o szavazhat: csomópont, tanú lemez, tanú fájlmegosztás
o Többféle quorum modell (csomópontok számától
függően)

29
31
Tartalom

 Fürtök
o Fürtök csoportosítása
o Terheléselosztó fürtök
o Feladatátvételi fürtök

 Replikáció
o Elsődleges – másodlagos séma
o Multimaster

32
Replikáció
 Adatok tárolása több helyen
 Nem fürt: kívülről nem egy számítógépként látszik
 Változások szinkronizálása
o Periodikus / eseményvezérelt átvitel
 Szinkronizáció:
o Pull / Push
 Melyik adatpéldányt lehet írni:
o Primary – secondary (master – slave): egy írható, többi
ennek a másolata, azok csak olvashatóak
o Multimaster: mindegyik példány írható, konzisztencia
fenntartása bonyolultabb
33
Tartalom

 Fürtök
o Fürtök csoportosítása
o Terheléselosztó fürtök
o Feladatátvételi fürtök

 Replikáció
o Elsődleges – másodlagos séma
o Multimaster

34
DEMO Primary – secondary séma: DNS
 BIND9
 Zóna fájl csak az elsődleges szerveren írható
 Zóna fájl verziózva
 Másodlagos szerverek: zone transfer
o induláskor, vagy ha az elsődleges értesíti (notify)
o lehet csak a változásokat (incremental zone transfer)

35
Primary – secondary séma: adatbázisok
 Szinkron:
elsődleges másodlagos
írás

 „Zero data loss”, atomi írás


 Teljesítményveszteség az ára

36
Primary – secondary séma: adatbázisok
 Aszinkron:
elsődleges másodlagos
írás

 Helyi írás befejezése után egyből visszatér


 Mi legyen, ha a másodlagos írása közben hiba lesz?

37
Tartalom

 Fürtök
o Fürtök csoportosítása
o Terheléselosztó fürtök
o Feladatátvételi fürtök

 Replikáció
o Elsődleges – másodlagos séma
o Multimaster

38
Multimaster replikáció: Active Directory
 Multimaster replikáció
o bármelyik DC-n módosíthatunk
 Flexible Single Operations Master (FSMO)
o 5 szerep, amiből egyszerre csak egy lehet
o RID master, Schema master…
 Optimalizációk
o csak a változott attribútum megy át
o store and forward elv: változások továbbterjesztése

39
Replikációs topológia
 Telephely: gyors kapcsolattal összekötött DC-k
o Intra-site: gyakori replikáció, RPC
o Inter-site: ritkábban, IP/SMTP

 Knowledge Consistency Checker


o Topológia automatikus létrehozása és frissítése

40
DEMO Active Directory replikáció

 Változás nyomon követése

 AD Sites and Services


o Replikáció kikényszerítése
o Telephelyek beállítása

 Ütközés feloldása

 Eseménynapló
41
Technikák alkalmazása

42
További információ
 Medgyesi Zoltán:
Nagy rendelkezésre állású kiszolgálófürtök vizsgála
ta
, Diplomamunka, BME, 2007.

 Szolgáltatásbiztonságra tervezés labor, MSc


segédanyagok (terheléselosztás, feladatátvétel)

43
Összefoglalás
 Fürtök, replikációs módszerek

 Többféle technika a számítógép és hálózati utak


kiesésének kivédésére
o Különböző előnyök és hátrányok
o Különböző bonyolultság és költség

 DE: fürt se véd minden ellen


o katasztrófa, adminisztrátor hibája, rongálás…
o Kombinálni kell más módszerekkel

44

You might also like