Professional Documents
Culture Documents
com
High-availability with
Galera Cluster
for MySQL
LinuxTag 2014
10. Mai 2014, Berlin
by oli.sennhauser@fromdual.com
www.fromdual.com
1 / 22
www.fromdual.com
MySQL Training
www.fromdual.com
2 / 22
High-Availability :-(
www.fromdual.com
www.fromdual.com
4 / 22
Maintenance time...
www.fromdual.com
App
5 / 22
Advantages / Disadvantages
www.fromdual.com
Based on InnoDB SE
Synchronous replication No lost transaction
Active-active multi-master Cluster
Read and write to any cluster node (no r/w split any more!)
Read scalability and higher write throughput (Flash-Cache?)
Automatic node membership control
Rolling Restart (Upgrade of Hardware, O/S, DB release, etc.)
True parallel replication, on row level
No slave lag
A bit more complicated than normal MySQL, but similar complexity
as M/S Replication!
No original MySQL binaries Codership MySQL binaries
Be aware of Hot Spots on rows: Higher probability of deadlocks
6 / 22
Split-brain bad!
www.fromdual.com
Quorum: FLOOR(n/2+1)
more than half! 3-node Cluster (or 2+1)
7 / 22
Quorum
www.fromdual.com
8 / 22
www.fromdual.com
9 / 22
Installation
www.fromdual.com
Ways of installation
Binary tar-ball
Download http://galeracluster.com/downloads/
10 / 22
MySQL Configuration
www.fromdual.com
my.cnf
[mysqld]
default_storage_engine=InnoDB
binlog_format=row
innodb_autoinc_lock_mode=2#parallelapplying
innodb_flush_log_at_trx_commit=0#performanceonly!
query_cache_size=0#Galera3experimental
query_cache_type=0#Mutex!Consistency!
11 / 22
Galera Configuration
www.fromdual.com
my.cnf (conf.d/wsrep.cnf)
[mysqld]
# wsrep_provider
wsrep_provider
= none
= /lib/plugin/libgalera_smm.so
# wsrep_cluster_address
wsrep_cluster_address
= "gcomm://"
= "gcomm://ip_node2,ip_node3"
wsrep_cluster_name
wsrep_node_name
= 'Galera Cluster'
= 'Node A'
wsrep_sst_method
wsrep_sst_auth
= mysqldump
= sst:secret
12 / 22
www.fromdual.com
Operations
13 / 22
www.fromdual.com
14 / 22
Rolling Restart
www.fromdual.com
Scenario:
Rolling Restart
Load Balancing
Connectors
Connector/J
PHP: MySQLnd replication and load balancing
plug-in
SW Load Balancer
www.fromdual.com
HW Load Balancer
16 / 22
www.fromdual.com
17 / 22
www.fromdual.com
Demo?
18 / 22
www.fromdual.com
Change DB structure
Non transactional
2 Methods:
wsrep_osu_method={TOI|RSU}
19 / 22
www.fromdual.com
- Locking operation
After DDL completion, delayed write sets are applied (similar to IST).
- potentially unsafe and may fail if new and old schema are
incompatible
Good for slow DDL operations
20 / 22
www.fromdual.com
Datenbank Enthusiast/in fr
Support / remote-DBA / Beratung
21 / 22
Q&A
www.fromdual.com
Questions ?
Discussion?
We have time for some face-to-face talks...
Consulting
Remote-DBA
Training
www.fromdual.com
22 / 22