Promjena „master“ servera

  • 6 min čitanja

Rating

Prije ili kasnije, trebat će postaviti „slave“ server na novi „master“ server. Možda se rotiraju serveri za nadogradnju, možda je došlo do greške i treba postaviti „slave“ server za „master“ server ili se samo premještaju kapaciteti. Bez obzira na ove razloge potrebno je informirati „slave“ server o novom „master“ serveru.  Kada je proces planiran lakše je napraviti zamjenu nego u kriznim situacijama. Jednostavno je potrebno izdati naredbu „CHANGE MASTER TO“ na „slave“ serveru, korištenjem odgovarajućih vrijednosti. „Slave“ server će odbaciti svoju trenutnu konfiguraciju i povezni dnevnik i početi replicirati s novog „master“ servera. Isto će obnoviti datoteku „master.info“ s novim parametrima, tako će se promjene na „slave“ serveru zadržati i nakon ponovnog pokretanja.   Najteži dio ovog procesa je odrediti poziciju na „master“ serveru, tako da „slave“ server počinje replicirati s iste logičke točke na kojoj je zaustavljen na starom „master“ serveru.   Postaviti „slave“ server za „master“ server je malo teže. Postoje dva osnovna scenarija za zamjenu „master“ servera s jednim od njegovih „slave“ servera. Prvi je kada je planirano postavljanje, a drugi kada je neplanirano.   8.5.1. Planirano postavljanje Postaviti „slave“ server za „master“ server je konceptualno jednostavno. Koraci za postavljanje su:   I) Zaustaviti zapisivanja na stari „master“ server.   II) Opcionalno pustiti neka „slave“ server ulovi kašnjenja (ovo čini sljedeće korake jednostavnijima).   III) Konfigurirati „slave“ server za novi „master“ server.   IV)Preusmjeriti „slave“ servere i pisanje prometa na novi „master“ server, potom omogućiti zapisivanja na novi „master“ server.   Moguće je nekoliko scenarija, ovisno o replikacijskoj topologiji. Na primjer, koraci su malo drugačiji u „master¬master“ nego u „master¬slave“ postavci. Mnogo detaljnije, ovdje su koraci koji će biti potrebni za većinu postavaka:   I) Zaustaviti sve zapise na trenutnom „master“ serveru. Ako je moguće, može se forsirati sve klijentske programe (ne konekcije replikacije) na prekidanje. To pomaže ako su klijentski programi napravljeni s „do not run“ (hrv. ne pokreći) zastavicom koju možemo postavljati. Ako se koristi virtualna IP adresa, može se jednostavno ugasiti virtualni IP i tada prekinuti sve klijentske konekcije za zatvaranje njihovih otvorenih transakcija.   II) Opcijski zaustaviti sve aktivnosti zapisivanja na „master“ serveru s „FLUSH TABLES WITH READ LOCK“. S „read¬only“ opcijom se može isto postaviti „master“ server na kojemu se podaci mogu samo čitati. Od ove točke nadalje, trebalo bi zabraniti sve zapise koji će se kasnije replicirati na „master“ serveru, jer jednom kada prestane biti „master“ server, podaci će biti izgubljeni.   III) Izabirati jedan „slave“ server za novi „master“ server i provjeriti je li potpuno zahvaćen replikacijom (tj. treba pustiti neka završi sve povezne dnevnike koje je dohvatio s „master“ servera).   IV) Opcionalno se provjeri je li novi „master“ server ima iste podatke kao stari.   V) Izvrši se „STOP SLAVE;“ naredba na novom „master“ serveru.   VI) Izvrši se naredba „CHANGE MASTER TO MASTER HOST='';“ koju prati „RESET SLAVE;“ na novom „master“ serveru, za prekid konekcije sa starim „master“ serverom i odbacivanje podataka konekcije iz „master.info“ datoteke (ovo neće raditi ispravno ako su informacije konekcije zapisane u „my.ini“, što je jedan od razloga zašto se preporuča ne postavljati ih tamo).   VII) Zabilježiti nove koordinate binarnog dnevnika sa „SHOW MASTER STATUSG“.   VIII) Uvjeriti se jesu li svi ostali „slave“ serveri usklađeni u replikaciji.   IX) Isključiti stari „master“ server.   X) U MySQL¬u 5.1 i novijim verzijama, aktiviranje događaja na novom „master“ serveru ako je potrebno.   XI) Pustiti konekciju klijenata na novi „master“ server.   XII) Izvesti naredbu „CHANGE MASTER TO“ na svakom „slave“ serveru, postavljajući ih na novi „master“ server. Korištenje koordinata binarnog dnevnika koje su se dobile sa „SHOW MASTER STATUSG“.   (Treba paziti jesu li maknute sve opcije koje su postavljene na „slave“ serveru samo za „slave“ server, isto tako ako je degradiran „master“ server jesu li mu maknute sve postavke „master“ servera i dodane postavke „slave“ servera. Ako su konfiguracije simetrične tada neće biti nikakvih dodatnih promjena.)

STVORIMO NEŠTO NEVJEROJATNO ZAJEDNO!

Koliko je ovaj post bio koristan?

Kliknite na zvjezdicu da biste je ocijenili!

Prosječna ocjena / 5. Broj glasova:

Podijelite članak:

PRIJAVITE SE NA NAŠ Newsletter

Preporučeni