Galera Cluster multi-site deployment

Download Markdown

Table of Contents

Pre-requisites:

  1. You already have your one site Galera cluster set up - see my previous guide on how to do so.
  2. Your site 2 is connected to site 1 using a site-to-site VPN (such as by using WireGuard with OPNsense). This tutorial does not cover the setup and troubleshooting of site-to-site VPN communication.
  3. You have set up a load balancer on site 2 (similar to what we did on site 1) such as by using HAProxy on OPNsense.
  4. A site 3 VPS (you can set up a cheap $5 USD/month VPS, or use a free one) that will act as an Arbiter.
  5. Recommended: set up a web server VM (or more) on site 2 to ensure that traffic that comes to your site 2 firewall is distributed to your site 2 local web VM(s) and the local nodes of your galera cluster (that we are yet to deploy) for lower latency.

Desired goal:

Site 1: segment 0

  • galera-A1 (weight: 1) - resides on proxmox1
  • galera-A2 (weight: 1) - resides on proxmox1
  • galera-A3 (weight: 1) - resides on proxmox2
  • galera-A4 (weight: 1) - resides on proxmox2

Site 2: segment 1

  • galera-A5 (weight: 2) - resides on proxmox3
  • galera-A6 (weight: 2) - resides on proxmox3

Site 3: Data center (Hetzner)

  • Arbiter (weight: 1)
  • VPS with another WireGuard S2S
  • Acts as an Arbiter for the Galera cluster