Juju Charm - Percona XtraDB Cluster
Go to file
Billy Olsen 2df091144b Add hardening support
Add charmhelpers.contrib.hardening and calls to install,
config-changed, upgrade-charm and update-status hooks. Also
add new config option to allow one or more hardening
modules to be applied at runtime.

Change-Id: I59afd73eace559f17f8a905da3c5d441942b6e95
2016-03-24 18:40:04 +00:00
actions Add backup action 2016-03-04 10:13:53 +00:00
charmhelpers Add hardening support 2016-03-24 18:40:04 +00:00
hooks Add hardening support 2016-03-24 18:40:04 +00:00
keys Initial charm 2013-09-03 17:52:02 +01:00
ocf/percona mysql_monitor: Apply patch available in upstream PR #52 2015-04-07 12:51:43 -03:00
templates Drop workaround for pxc 5.6 - not required 2015-09-29 12:03:48 +01:00
tests Add hardening support 2016-03-24 18:40:04 +00:00
unit_tests Add hardening support 2016-03-24 18:40:04 +00:00
.coveragerc Tweak coverage settings 2015-04-20 11:55:40 +01:00
.gitignore Add tox support for check/gate 2016-03-02 10:20:07 +00:00
.gitreview Add gitreview prior to migration to openstack 2016-02-24 21:53:36 +00:00
.testr.conf Add tox support for check/gate 2016-03-02 10:20:07 +00:00
Makefile Use tox in Makefile targets 2016-03-16 22:15:56 +00:00
README.md Add README 2013-09-19 16:57:31 +01:00
actions.yaml Add backup action 2016-03-04 10:13:53 +00:00
charm-helpers-hooks.yaml Add hardening support 2016-03-24 18:40:04 +00:00
charm-helpers-tests.yaml sync charmhelpers 2015-09-02 11:32:16 +02:00
config.yaml Add hardening support 2016-03-24 18:40:04 +00:00
copyright [freyes,r=james-page] Ensure VIP is tied to a good mysqld instance. 2015-04-20 11:53:43 +01:00
hardening.yaml Add hardening support 2016-03-24 18:40:04 +00:00
metadata.yaml Update maintainer 2015-11-18 10:47:58 +00:00
requirements.txt Add tox support for check/gate 2016-03-02 10:20:07 +00:00
revision Rationalize configuration for percona/galera, add generic helpers for parsing mysql configuration options, use mysqlhelper for creation of SST user 2013-09-23 09:37:07 +01:00
setup.cfg Add unit tests for ha-relation-joined hook 2015-03-17 11:37:44 -03:00
test-requirements.txt Update to charm-tools >= 2.0.0 2016-03-23 09:30:17 +00:00
tox.ini Update to charm-tools >= 2.0.0 2016-03-23 09:30:17 +00:00

README.md

Overview

Percona XtraDB Cluster is a high availability and high scalability solution for MySQL clustering. Percona XtraDB Cluster integrates Percona Server with the Galera library of MySQL high availability solutions in a single product package which enables you to create a cost-effective MySQL cluster.

This charm deploys Percona XtraDB Cluster onto Ubuntu.

Usage

WARNING: Its critical that you follow the bootstrap process detailed in this document in order to end up with a running Active/Active Percona Cluster.

Proxy Configuration

If you are deploying this charm on MAAS or in an environment without direct access to the internet, you will need to allow access to repo.percona.com as the charm installs packages direct from the Percona respositories. If you are using squid-deb-proxy, follow the steps below:

echo "repo.percona.com" | sudo tee /etc/squid-deb-proxy/mirror-dstdomain.acl.d/40-percona
sudo service squid-deb-proxy restart

Deployment

The first service unit deployed acts as the seed node for the rest of the cluster; in order for the cluster to function correctly, the same MySQL passwords must be used across all nodes:

cat > percona.yaml << EOF
percona-cluster:
    root-password: my-root-password
    sst-password: my-sst-password
EOF

Once you have created this file, you can deploy the first seed unit:

juju deploy --config percona.yaml percona-cluster

Once this node is full operational, you can add extra units one at a time to the deployment:

juju add-unit percona-cluster

A minimium cluster size of three units is recommended.

In order to access the cluster, use the hacluster charm to provide a single IP address:

juju set percona-cluster vip=10.0.3.200
juju deploy hacluster
juju add-relation hacluster percona-cluster

Clients can then access using the vip provided. This vip will be passed to related services:

juju add-relation keystone percona-cluster

Limitiations

Note that Percona XtraDB Cluster is not a 'scale-out' MySQL solution; reads and writes are channelled through a single service unit and synchronously replicated to other nodes in the cluster; reads/writes are as slow as the slowest node you have in your deployment.