Promjena uloga u „master-master“ konfiguraciji

Jedna od prednosti „master¬master“ replikacije je što se pasivna i aktivna uloga mogu lako zamijeniti, zbog simetrične konfiguracije. U ovom pod¬poglavlju je pokazano kako napraviti zamjenu.
 
Kada se mijenjaju uloge u „master¬master“ konfiguraciji, najvažnija stvar je osigurati neka samo jedan od „master“ servera zapisuje trenutno. Ako se zapisivanje jednog „master“ servera isprepliće sa zapisivanjima drugog, zapisivanja mogu biti u konfliktu. Drugim riječima, pasivni server ne smije primati nikakve događaje binarnih dnevnika s aktivnog servera nakon što su se uloge zamijenile. Možemo biti sigurni da se ovo neće dogoditi ako su dretve pasivnog „slave“ servera u koraku s aktivnim serverom prije početka zapisivanja (tj. svi događaji repliciranja su izvršeni u trenutku kada želimo promijeniti uloge).
 
Sljedeći koraci mijenjaju uloge bez opasnosti od konfliktnih obnova:
I) Zaustavljanje svih zapisivanja na aktivnom serveru.
 
II) Izvršavanje „SET @@global.read_only :=1“ na aktivnom serveru, i postavljanje „read_only“ opcije u njegovoj konfiguracijskoj datoteci za sigurnost u slučaju ponovnog pokretanja. Zapamtimo, ovo neće zaustaviti promjene korisnika sa „SUPER“ privilegijom. Ako se žele zaustaviti promjene od svih korisnika, treba koristiti „FLUSH TABLES WITH READ LOCK“. Ako se ne napravi ovo, potrebno je prekinuti sve klijentske konekcije kako bi osigurali da nema stanja koje se dugo izvodi ili nepočinjenih transakcija.
 
III) Izvršimo „SHOW MASTER STATUSG“ na aktivnom serveru i zabilježimo koordinate binarnog dnevnika.
 
IV)Izvršimo „SELECT MASTER_POS_WAIT()“ na pasivnom serveru s koordinatama binarnog dnevnika aktivnog servera. Ova naredba će biti blokirana sve dok procesi „slave“ servera ne budu u koraku s aktivnim serverom.
V) Izvršimo „SET @@global.read_only :=0“ na pasivnom serveru, stoga ga postavimo za aktivnog servera.
 
VI)Ponovo konfiguriranje vlastitih aplikacija neka zapisuju na novi aktivni server.
 
Ovisno o aplikacijskoj konfiguraciji, trebat će se obaviti još neki poslovi, uključujući promjenu IP adrese na oba servera.
 

Podijelite članak:

Pretplatite se na naš newsletter