53
Galera Replication Release 1.0 Seppo Jaakola, Codership Alexey Yurchenko, Codership

Galera Replication PLL 2011

Embed Size (px)

Citation preview

Page 1: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 1/53

Galera Replication

Release 1.0

Seppo Jaakola, CodershipAlexey Yurchenko, Codership

Page 2: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 2/53

10/27/11 Codership @ PerconaLive London 2011 2

Contents1.Galera Cluster

2.Advanced Features

3.Release 1.0

4.Benchmarking

5.Installation & Management

6.Summary

Page 3: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 3/53

10/27/11 Codership @ PerconaLive London 2011 3

Galera Cluster

c l i e n t s

G a l e r a R e p l i c a t i o n

MySQL

wsrep

MySQL

wsrep

MySQL

wsrep

Page 4: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 4/53

10/27/11 Codership @ PerconaLive London 2011 4

Galera Cluster

c l i e n t s

Transparentconnections

G a l e r a R e p l i c a t i o n

MySQL

wsrep

MySQL

wsrep

MySQL

wsrep

Page 5: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 5/53

10/27/11 Codership @ PerconaLive London 2011 5

Galera Cluster

c l i e n t s

Transparentconnections

Multi-master

G a l e r a R e p l i c a t i o n

MySQL

wsrep

MySQL

wsrep

MySQL

wsrep

Page 6: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 6/53

10/27/11 Codership @ PerconaLive London 2011 6

Galera Cluster

c l i e n t s

Transparentconnections

Multi-master

Reads

&Writes

Reads

&Writes

Reads

&Writes

G a l e r a R e p l i c a t i o n

MySQL

wsrep

MySQL

wsrep

MySQL

wsrep

Page 7: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 7/53

10/27/11 Codership @ PerconaLive London 2011 7

Galera Cluster

c l i e n t s

Transparentconnections

Multi-master

Synchronousreplication

G a l e r a R e p l i c a t i o n

MySQL

wsrep

MySQL

wsrep

MySQL

wsrep

Page 8: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 8/53

10/27/11 Codership @ PerconaLive London 2011 8

Galera Replication

● Synchronous multi-master replication➔ High Availability

● No middle-ware, direct DBMS connections➔ Transparency

● Row events, row level locking● Parallel Applying

➔ Write scalability

Page 9: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 9/53

10/27/11 Codership @ PerconaLive London 2011 9

Galera Replication

● Global Transaction ID

● Failure Detection● Automatic node join/provisioning➔ Simple cluster management

Certification based replication method● Group Communication System

Page 10: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 10/53

Codership @ PerconaLive London 2011

Advanced Features

Page 11: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 11/53

10/27/11 Codership @ PerconaLive London 2011 11

G a l e r a R e p l i c a t i o n

Client

Synchronous Replication

 wsrep wsrep wsrep

trx

commit

Page 12: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 12/53

10/27/11 Codership @ PerconaLive London 2011 12

G a l e r a R e p l i c a t i o n

Client

Synchronous Replication

 wsrep wsrep wsrep

trx

WS

commit

Transaction is replicated

in all nodes => HA

WS

Page 13: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 13/53

10/27/11 Codership @ PerconaLive London 2011 13

G a l e r a R e p l i c a t i o n

Client

Synchronous Replication

 wsrep wsrep wsrep

trx trx

Transaction is applied at later time

=> virtually synchronous

Page 14: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 14/53

10/27/11 Codership @ PerconaLive London 2011 14

Certification Based Replication

● Transactions process independently ineach cluster node

● Transaction write sets will be replicatedat commit time

● Cluster wide conflicts resolved bycertification test

Page 15: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 15/53

10/27/11 Codership @ PerconaLive London 2011 15

Parallel Applying

● Galera assigns non-conflicting WS tasksto parallel appliers

● Applier threads launched at MySQLstartup

Any number of appliers can be launched● Optimal applier count depends on work

load

Page 16: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 16/53

10/27/11 Codership @ PerconaLive London 2011 16

Parallel Applying

Slave queue

Applier control certification

test

Replication

Pre-configured

applier threads

WS

applier applier

MySQL

WS WS WS

Group Communication

Page 17: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 17/53

10/27/11 Codership @ PerconaLive London 2011 17

Global Transaction ID

● Galera assigns Global Transaction ID forall replicated transactions

➔ Transactions can be uniquely referencedin any node

➔ Helps in provisioning new nodes

Page 18: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 18/53

10/27/11 Codership @ PerconaLive London 2011 18

Node Provisioning

● Automatic node joining

Cluster chooses 'donor' for the 'joiner'● State Snapshot Transfer

● Scriptable interface, currently implemented:

• mysqldump• rsync• Xtrabackup by Percona

Page 19: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 19/53

10/27/11 Codership @ PerconaLive London 2011 19

G a l e r a R e p l i c a t i o n

Joining New Nodes

Clients

MySQL MySQL MySQL

A c t i v e c l u s t e r

10.0.0.1 10.0.0.210.0.0.3

Install Galera

Page 20: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 20/53

10/27/11 Codership @ PerconaLive London 2011 20

G a l e r a R e p l i c a t i o n

Joining New Nodes

Clients

MySQL MySQL MySQL

A c t i v e c l u s t e r Joining node

 wsrep_cluster_address= 10.0.0.2

SST Request

10.0.0.1 10.0.0.210.0.0.3

Page 21: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 21/53

10/27/11 Codership @ PerconaLive London 2011 21

G a l e r a R e p l i c a t i o n

Joining New Nodes

Clients

MySQL MySQL MySQL

Donor node

1. mysqldump

Joiner node

Page 22: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 22/53

10/27/11 Codership @ PerconaLive London 2011 22

G a l e r a R e p l i c a t i o n

Joining New Nodes

Clients

MySQL MySQL MySQL

Donor node

2. load

Joiner node

Page 23: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 23/53

10/27/11 Codership @ PerconaLive London 2011 23

G a l e r a R e p l i c a t i o n

Joining New Nodes

Clients

MySQL MySQL MySQL

A c t i v e c l u s t e r

WS

Catch up

Page 24: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 24/53

10/27/11 Codership @ PerconaLive London 2011 24

G a l e r a R e p l i c a t i o n

Joining New Nodes

Clients

MySQL MySQL MySQL

A c t i v e c l u s t e r

Page 25: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 25/53

Codership @ PerconaLive London 2011

Release 1.0

Page 26: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 26/53

10/27/11 Codership @ PerconaLive London 2011 26

New Features

● MySQL 5.5 Support

On-disk write set caching● Fully synchronous reads

● SSL encrypted replication

● Garbd – lightweight arbitrator daemon

Page 27: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 27/53

10/27/11 Codership @ PerconaLive London 2011 27

MySQL Support

● MySQL 5.5➢ Development head, all new features go here

● MySQL 5.1➢ Still actively maintained➢ Bug fixes

Percona Server➢ Developed by Percona➢ https://code.launchpad.net/~percona-dev/percona-

server/percona-server-galera-5.5.15

Page 28: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 28/53

10/27/11 Codership @ PerconaLive London 2011 28

On-disk Write Set Cache

● All write sets are allocated inmmapped files.

● Full use of OS buffering, negligibleoverhead.

● Used in:➢

Node Provisioning➢ State Transfer➢ Rolling Schema update

Page 29: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 29/53

10/27/11 Codership @ PerconaLive London 2011 29

On-disk Write Set Cache

● Preallocated fixed-size ring buffer:

• KEEPS SOME HISTORY FOR RECOVERY

AFTER SHORT CONNECTIVITY BREAKS OR

GRACEFUL RESTARTS

Additional dynamic pages if ringbuffer is too small:

• DISK SPACE IS THE LIMIT

Page 30: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 30/53

10/27/11 Codership @ PerconaLive London 2011 30

Synchronous Reads

G a l e r a R e p l i c a t i o n

MySQL

wsrep

MySQL

wsrep

Client

WRITE READ

Page 31: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 31/53

10/27/11 Codership @ PerconaLive London 2011 31

Encrypted Replication

● TLS/SSL v3 support added in 0.8.2

release● Whole cluster replicated either in plain

text or through encryption

● VPN tunneling is optimal for data center

linking

Page 32: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 32/53

10/27/11 Codership @ PerconaLive London 2011 32

Split-Brain

MASTER MASTER

SYNCED

BY REPLICATION

Page 33: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 33/53

10/27/11 Codership @ PerconaLive London 2011 33

Split-Brain

? ?X

Page 34: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 34/53

10/27/11 Codership @ PerconaLive London 2011 34

Galera Arbitrator (garbd)

● Resolves split-brain

Stateless● Can be strategically placed to improve

quorum resolution odds.

Page 35: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 35/53

10/27/11 Codership @ PerconaLive London 2011 35

Data Center 1

WAN Replication

Data Center 2

garbd

SSL

Client Client

Page 36: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 36/53

Codership @ PerconaLive London 2011

Benchmarking

Page 37: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 37/53

10/27/11 Codership @ PerconaLive London 2011 37

Benchmarking

● Tested with several benchmarks– Sysbench, dbt2, DOTS, osdb, jmeter,

sqlgen...● Tested with 'physical hardware' and with

Amazon EC2 instances

➔ In general, shows good scalability even with write intensive work loads

Page 38: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 38/53

10/27/11 Codership @ PerconaLive London 2011 38

Scale Out: Throughput

Page 39: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 39/53

Codership @ PerconaLive London 2011

Installation & Management

Page 40: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 40/53

10/27/11 Codership @ PerconaLive London 2011 40

Installing MySQL/Galera 

● Download from www.codership.com

● Distributions choices:1.Pre-built RPM or Debian package2.demo tar distribution3.Source build

Page 41: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 41/53

10/27/11 Codership @ PerconaLive London 2011 41

Demo Distribution

● Pre-built 32/64 bit linux binaries● Installs in one directory path● Contains a sample database

● Good for testing/evaluation

Page 42: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 42/53

10/27/11 Codership @ PerconaLive London 2011 42

 wsrep Variablesmysql> show variables like 'wsrep%';+--------------------------------+-----------------------------------------------------------------------------+| Variable_name | Value |+--------------------------------+-----------------------------------------------------------------------------+| wsrep_auto_increment_control | OFF || wsrep_certify_nonPK | OFF || wsrep_cluster_address | gcomm://?gmcast.listen_addr=tcp://127.0.0.1:4568 || wsrep_cluster_name | my_wsrep_cluster || wsrep_convert_LOCK_to_trx | OFF || wsrep_data_home_dir | /codership/data/galera-node1/ || wsrep_dbug_option | || wsrep_debug | OFF || wsrep_drupal_282555_workaround | OFF || wsrep_local_cache_size | 20971520 || wsrep_max_ws_rows | 65636 || wsrep_max_ws_size | 0 || wsrep_node_incoming_address | 10.1.198.1:3307 || wsrep_node_name | node1 || wsrep_notify_cmd | |

| wsrep_on | ON || wsrep_provider | /codership/node1/mysql-5.1.52/galera/lib/libmmgalera++.so || wsrep_provider_options | || wsrep_retry_autocommit | OFF || wsrep_slave_threads | 1 || wsrep_sst_auth | test:testpass || wsrep_sst_donor | || wsrep_sst_method | mysqldump || wsrep_sst_receive_address | AUTO || wsrep_start_position | 00000000-0000-0000-0000-000000000000:-1 || wsrep_ws_persistency | OFF |

+--------------------------------+-----------------------------------------------------------------------------+

Page 43: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 43/53

10/27/11 Codership @ PerconaLive London 2011 43

 wsrep Status| wsrep_local_state_uuid | a398eaf8-2aba-11e0-0800-432d0098b829 || wsrep_last_committed | 2989366 || wsrep_replicated | 122 || wsrep_replicated_bytes | 161514094 || wsrep_received | 0 || wsrep_received_bytes | 0 || wsrep_local_commits | 110 || wsrep_local_cert_failures | 0 |

| wsrep_local_bf_aborts | 0 || wsrep_local_replays | 0 || wsrep_local_send_queue | 0 || wsrep_local_send_queue_avg | 0.007752 || wsrep_local_recv_queue | 0 || wsrep_local_recv_queue_avg | 0.000000 || wsrep_flow_control_paused | 0.000000 || wsrep_flow_control_sent | 0 || wsrep_flow_control_recv | 0 || wsrep_cert_deps_distance | 1.750000 |

| wsrep_apply_oooe | 0.000000 || wsrep_apply_oool | 0.000000 || wsrep_apply_window | 1.000000 || wsrep_local_state | 4 || wsrep_local_state_comment | Synced (6) || wsrep_cluster_conf_id | 4 || wsrep_cluster_size | 2 || wsrep_cluster_state_uuid | a398eaf8-2aba-11e0-0800-432d0098b829 || wsrep_cluster_status | Primary |

| wsrep_local_index | 1 || wsrep_ready | ON |

Page 44: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 44/53

10/27/11 Codership @ PerconaLive London 2011 44

Severalnines ClusterControl

● Severalnines has developed Galerasupport for the ClusterControl tool for:

➢ Configurator➢ Monitoring➢ Management

Install in a separate management server

Page 45: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 45/53

10/27/11 Codership @ PerconaLive London 2011 45

ClusterControl - Configurator

1.Fill your architecture specs in:http://www.severalnines.com/galera-configurator

➔ You'll get a tarball in mail,

2.Untar and run deploy script

3.Sit back and relax

Page 46: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 46/53

10/27/11 Codership @ PerconaLive London 2011 46

Page 47: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 47/53

10/27/11 Codership @ PerconaLive London 2011 47

Page 48: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 48/53

10/27/11 Codership @ PerconaLive London 2011 48

Page 49: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 49/53

10/27/11 Codership @ PerconaLive London 2011 49

ClusterControl

● Use in management server:➢ Monitor to visualize the cluster state➢ Manage your cluster

● Monitor/manage cluster as a whole

Page 50: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 50/53

Codership @ PerconaLive London 2011

Summary

Page 51: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 51/53

10/27/11 Codership @ PerconaLive London 2011 51

Galera Support

● Codership offers support services forMySQL/Galera users

● We are building support partner network with local support providers – Local timezone

 – Local Language & Culture – Codership on level 3 support to back up

● FromDual starting now

Page 52: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 52/53

10/27/11 Codership @ PerconaLive London 2011 52

Summary

● Galera is Replication Redefined – No slave lag, no lost transactions

 –

Native InnoDB look & feel – Ultimate performance

 – WAN/LAN/Cloud

● Severalnines ClusterControl – ease of use experience

● Support available – FromDual

Page 53: Galera Replication PLL 2011

8/3/2019 Galera Replication PLL 2011

http://slidepdf.com/reader/full/galera-replication-pll-2011 53/53

● R&D consulting services● Galera Support

● Web-site: http://www.codership.com

● Downloads: https://launchpad.net/codership-mysql

● Mailing list: [email protected]