Skip to content

Instantly share code, notes, and snippets.

@odyssey4me
Last active November 11, 2015 10:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save odyssey4me/548fe9a76a3540125d17 to your computer and use it in GitHub Desktop.
Save odyssey4me/548fe9a76a3540125d17 to your computer and use it in GitHub Desktop.
Global clustering with Galera in openstack-ansible
---
# This is only a partial configuration of openstack_user_config.yml for illustrative purposes
# It would probably be better to implement this configuration through the new config_template
# method which wasn't available at the time this was being worked out.
# The test design was to use three AIO's with 3 Galera containers on each AIO to simulate a
# global cluster. Each AIO had the management/container network tunneled through vxlan to
# ensure that the Galera containers could communicate with each other.
# references of note:
# - https://www.percona.com/blog/2013/12/19/automatic-replication-relaying-galera-3/
# - https://www.percona.com/blog/2013/06/05/multicast-replication-in-percona-xtradb-cluster-pxc-and-galera/
# - http://galeracluster.com/documentation-webpages/configurationtips.html
# - http://www.severalnines.com/blog/5-performance-tips-running-galera-cluster-mysql-mariadb-aws-cloud
# - http://www.slideshare.net/MariaDB/synchronous-multimaster-clusters-in-wan
# - https://www.percona.com/live/mysql-conference-2013/sites/default/files/slides/PLUC_2013_GCBP.pdf
shared-infra_hosts:
infra1:
affinity:
galera_container: 3
ip: 172.29.236.1
container_vars:
limit_container_types: galera
galera_wsrep_provider_options:
- { option: "gmcast.segment", value: "0" }
- { option: "gcache.size", value: "32M" }
- { option: "evs.keepalive_period", value: "PT3S" }
- { option: "evs.suspect_timeout", value: "PT30S" }
- { option: "evs.inactive_timeout", value: "PT1M" }
- { option: "evs.install_timeout", value: "PT1M" }
infra2:
affinity:
galera_container: 3
ip: 172.29.236.2
container_vars:
limit_container_types: galera
galera_wsrep_provider_options:
- { option: "gmcast.segment", value: "1" }
- { option: "gcache.size", value: "32M" }
- { option: "evs.keepalive_period", value: "PT3S" }
- { option: "evs.suspect_timeout", value: "PT30S" }
- { option: "evs.inactive_timeout", value: "PT1M" }
- { option: "evs.install_timeout", value: "PT1M" }
infra3:
affinity:
galera_container: 3
ip: 172.29.236.3
container_vars:
limit_container_types: galera
galera_wsrep_provider_options:
- { option: "gmcast.segment", value: "2" }
- { option: "gcache.size", value: "32M" }
- { option: "evs.keepalive_period", value: "PT3S" }
- { option: "evs.suspect_timeout", value: "PT30S" }
- { option: "evs.inactive_timeout", value: "PT1M" }
- { option: "evs.install_timeout", value: "PT1M" }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment