Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

migracija plus upgrade

[es] :: MySQL :: migracija plus upgrade

[ Pregleda: 2599 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

farmaceut
Apoteka
Banja Luka

Član broj: 182739
Poruke: 55
*.teol.net.



+30 Profil

icon migracija plus upgrade28.09.2016. u 15:47 - pre 91 meseci
Pozdrav,

Imam setup, replikacija, 1 master + 2 slave servera, sve kod razlicitih hosting provajdera.

Treba da zamjenim "master" hosting provajdera i sam server, i usput bih da updatujem mysql sa 5.6 na poslednji 5.7. Podataka (baze u datadir) je oko 200GB.

Bitno mi je sto manji off-time, mogu tolerisati ~1h kasno nocu. Interkonekcija izmedju servera je 100Mbit, u praksi prevuce 7-8 MByte po sekundi.

E sad, razmisljao sam o dvije opcije:

1.) stopirati replikaciju, dump na masteru, pigz kompresija, pa dump poslati na novi master i sve "slave" masine, svugdje staviti 5.7, te restorovati dump u 5.7 instalaciju. Ovo ce vjerovatno raditi, ali nisam siguran da li cu uspjeti unutar 1h, mysqldump/restore znaju biti spori... (a moram osposobiti master + 1 slave unutar ~1h)

2.) napraviti 5.6 replikaciju na novom serveru, onda jedan po jedan "slave" dizati na 5.7 sa mysql_upgrade. Na kraju, novi server cu proglasiti za master, te rekonfigurisati ostale slave servere. Ovo mi je brza varijanta, jer novu replikaciju mogu podesiti "live". Samo ne znam kako ce raditi replikacija sa visestrukim verzijama (5.6 master > 5.7 slave), nemam iskustva.... Replikacija je u "statement" modu.

Do sada sam obicno radio mysqldump/restore, np. kada sam dizao sa 5.5 na 5.6... ali mi se baza sada prilicno uvecala...

Neko misljenje, komentar ili sl. ?
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: migracija plus upgrade28.09.2016. u 18:53 - pre 91 meseci
nes zavrsiti to ako ti je 1h max prozor za rad, nadji nacin da povecas
prozor

najkraci downtime imas sa

1. dignes novi server (koji ce da postane novi master) sa novim mysql-om
(5.7, on moze da bude slave starom 5.6 ili 5.5)
2. replikujes sve na njega
3. namestis nove robove da se kace na njega
4. kad on stigne stari master i usinkuje se startujes svoj maintainance
window
5. ugasis stari master i promovises novi master
6. prebacis aplikacije da gadjaju novi master
7. zatvoris maint. window

nadam se da si probal aplikaciju sa 5.7 posto postoje nekompatibilne promene
 
Odgovor na temu

farmaceut
Apoteka
Banja Luka

Član broj: 182739
Poruke: 55
62.68.101.*



+30 Profil

icon Re: migracija plus upgrade09.10.2016. u 23:09 - pre 91 meseci
Nakon par dana pipreme, uspjesno migrirano. Prekid je bio 30-tak min, moglo je i manje, ali nije bilo potrebe. Otprilike po je islo po Bogdanovom scenariju, ukratko iskustva, mozda nekome moze biti od pomoci:

Nekoliko dana ranije Percona ExtraBackup sa mastera (jesam mogao pokupiti datu i sa slave, ali mi ovo bi nekako sigurnije, imao sam par upozorenja "unsafe statements" u replikaciji... )

Tu je bio (ne)kontrolisani prekid - read lock prilikom skeniranja loga, trajao oko 5-6min na kraju kopiranja date sa ExtraBackup, a ja nisam ocekivao vise od par desetaka sekundi.... (sto ce reci Percona hot-backup nije 100% hot.... srecom sam to radio u gluvo doba nocu, a ne u radno vrijeme :) .

Podataka 195GB, tar + pigz kompresuje na ~20GB... onda se vec moglo lakse manipulisati preko 100mbit/s :)

Dignem na novi server na 5.7, updatujem datu, par dana dodatno testirao aplikaciju, osvjezim sve replikacije sa novom datom, te podignem sve slave servere na 5.7.

Problemi sa 5.7 - ONLY_FULL_GROUP_BY (rjeseno sa sql-mode, dok ne zakrpamo upite),
te meni neobican problem sa View meta data i JDBC drajverom, kada se koristi "MERGE" algoritam. I to sam na nekoliko view-a, bez nekog vidljivog pravila... Privremeno rijeseno sa optimizer_switch="derived_merge=off", ali ostaje da se istrazi....

Subota navece, ugasio tomcat app (koji se isto migrira), izmjena zapisa na DNS serverima, promovisem novi server u mastera, rekonfigurisem slave servere, te sa iptables preusmjerim saobracaj sa starog na novi server (jer se lokalni provajderi izgleda vjencavaju za dns zapise te im treba vjecnost za propagaciju). Startam novi tomcat app, i ponvo smo u igri.
Ovdje se izgubilo najvise vremena na managmentu ip adresa, dns zapisa i forwardu sa iptables, te testiranju novog setupa... samo promovisanje novog mastera i rekonfiguracija slave servera je bilo zavrseno za par minuta.

 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: migracija plus upgrade10.10.2016. u 02:56 - pre 91 meseci
:thumbsup:

XtraBekap je super alatka (mysql backup je naravno bolji ali naravno
nije niti free niti open source :( ) .. ima nacin da se skrati taj
problematican period, malo "prisredis bazu" pre nego krenes bekap,
spustis max dirty pages na 0 pustis mysql da malo krlja po disku da
dumpne sto vise, takodje pre nego sto krenes sa bekapom tuknes jedan
flush logs i onda krenes sa bekapom .. ume da bude znacajno krace ..
takodje --throttle opcija usporava ceo proces treba je koristiti samo
kad mora ...

sto se dns-a tice, nisu samo nasi provajderi :( .. ali zato ja vec
godinama koristim iskljucivo reverse proxy ispred svake aplikacije...
promena dns-a traje citavu vecnost, promena konfiguracije reverse
proxy-a (abitno dal nesto kesira ili ne) traje par sekundi :D

sve u svemu super je proslo :D
 
Odgovor na temu

[es] :: MySQL :: migracija plus upgrade

[ Pregleda: 2599 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.