Ok, mi sto cimentando oggi in una prova che non avevo mai fatto, configurare master slave in mysql per la replicazione, ora la configurazione sembra andare, che test consigliate eventualmente di fare per cominciare ad avere padronanza della cosa?
Io pensavo di cominciare con una serie di query massiva sul master e guardare se lo slave accumulava ritardi. Però sono completamente all'oscuro di tutto questo mondo, qualcosa di fondamentale da sapere?
- OverflowSith
Da sapere: ogni tanto la replicazione si rompe, per i piu' svariati motivi, e devi ripristinarla.
- Hiraedd
ok, quindi da googlare se si rompe lo slave e se si rompe il master cosa fare per ripristinare :)
- OverflowSith
La replicazione e' fatta da due thread separati, uno, IO, copia i binlog files dal master allo slave. L'altro, SQL, esegue le query dei binlog sullo slave. I due thread possono essere avviati separatamente e in alcuni casi e' utile lasciare l'IO attivo, che continui a copiare i file, e disattivare l'SQL.
- Hiraedd
Queste le due cose piu' utili IMO (si rompe nel senso che lo slave smette di replicare, e devi capire perche' e ripristinare la replica).
- Hiraedd
thanks ora faccio un po' di prove tipo mentre faccio query sul master riavviare mysql sullo slave ecc ecc per capire un po' il giro
- OverflowSith
I computer sono uguali? Se lo slave è parecchio meno potente potrebbe soffrire. Considera che, ovviamente, solo le query in scrittura mettono in crisi lo slave. Se vuoi scrivere uno stress test fai massiccio uso di lock, accoda query su tabelle loccate. Nel mio caso sono le cose che rompono più spesso la replica. Fai swappare il server master e anche lo slave (non contemporaneamente). Esercitati a rompere la sincronia e vedi se riesci a ripristinarla senza dover spegnere tutto, copiare i file e riaccendere. Mentre lo slave si riallinea fai lavorare pesantemente il master.
- Minciaroni™
sto testando su due virtualmachine identiche, cosa che poi eventualmente sarà in produzione, ora sto scrivendomi uno script per lo stress test simulando più o meno il lavoro dell'unico server di produzione che anche se il 96% sono select, alcune sono pesantine (4 o 5 secondi), quindi aggiungo anche qualche lock. Vi ringrazio tanto.
- OverflowSith
Visto che siamo qui che ne parliamo, a me un paio di volte lo slave e` andato fuori sincro. qual'e`, posto che il master e` OK e che NON posso spegnerlo, il modo corretto per riportare lo slave allineato al master senza interrompere il funzionamento del master? (io conosco pochissimo mysql)
- L'Uomo con la Papera
Innanzitutto verifica che lo slave sia fuori sincrono. Lancia un "SHOW SLAVE STATUS \G" e verifica che almeno uno fra Slave_IO_Running: o Slave_SQL_Running: sia No. Spesso la replica è fallita per una query andata male. Segui le istruzioni su come far skippare la query allo slave e riallinearsi http://www.supertom.com/code... (sezione Troubleshooting )
- Minciaroni™