Mariadb Server
What we really want to set up is a galera cluster. We will use 3 systems for this.
- 192.168.1.50 mariadb (virtual IP)
- 192.168.1.51 mariadb01
- 192.168.1.52 mariadb02
- 192.168.1.53 mariadb03
Software
apt-get install mariadb-server rsync
Configuration
Set the mariadb root password.
mysql_secure_installation
Stop mariadb on all nodes.
service mariadb stop
Configure mariadb to listen on all interfaces by commenting in /etc/mysql/mariadb.conf.d/50-server.cnf.
#bind-address = 127.0.0.1
Add the configuration for galera to /etc/mysql/conf.d/galera.cnf. Replace names so they fit the current node. For some reason this has to contain the IP-addresses of the hosts instead of the hostnames.
[galera] wsrep_on=ON wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_cluster_address=gcomm://mariadb01,mariadb02,mariadb03 wsrep_node_address=192.168.1.51 wsrep_node_name=mariadb01.kallenberg.dk binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 wsrep_cluster_name="mariadb_galera" wsrep_sst_method=rsync bind-address=0.0.0.0
On the first node the cluster is started.
galera_new_cluster
On additional nodes the service is started.
service mariadb start
Health Checks
To enable HA-proxy to be able to perform health checks, we have to create a haproxy user on the galera cluster. Requests can come from both haproxy01 and haproxy02.
create user 'haproxy'@'192.168.1.45'; create user 'haproxy'@'192.168.1.46';
Checkmk Checks
To enable checkmk monitoring, we have to create a checkmk user on the galera cluster.
create user 'checkmk' identified by 'checkmkpassword';