In the
first part of this series, we deployed a 3-node MariaDB Galera Cluster on Ubuntu 24.04.
While a 3-node topology provides the best fault tolerance, sometimes you need a simpler setup – for example, a two-node cluster with a lightweight arbitrator to maintain quorum without running a full third MariaDB instance.
At Vettabase, we often use this pattern in small or resource-limited environments, where running three full database nodes would be overkill.
In this guide, we’ll convert the third database node (Galera3) into a Garbd (Galera Arbitrator Daemon) instance – a tiny yet essential component that helps maintain cluster quorum efficiently.
Installing garbd
sudo apt update
sudo apt install galera-arbitrator-4 -y
Configure garbd
Create /etc/default/garb
GALERA_NODES="172.31.2.197:4567,172.31.3.237:4567"
GALERA_GROUP="vettabase_galera"
Stop MariaDB and Start garbd
sudo systemctl stop mariadb
sudo systemctl start garb
Verify garbd’ Cluster Membership
Once you start the arbitrator service, check its status:
sudo systemctl status garb
You should see output similar to:
INFO: 1.0 (galera1): State transfer to 0.0 (garb) complete.
INFO: Member 1.0 (galera1) synced with group.
This confirms that garb has successfully joined the cluster and synchronized with the group.
Check from a Galera Node
On either database node, verify that the cluster size increased to 3:
mariadb -u root -p -S /run/mysqld/mysqld.sock \
-e "SHOW GLOBAL STATUS LIKE 'wsrep_cluster_size';"
Expected output:
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 3 |
+--------------------+-------+
You can also check the cluster view in the logs – it should show garb alongside your data nodes:
[Note] WSREP: ================================================
View:
id:8bb99c56-be58-11f0-b57c-7e793e9a515a:518
status:primary
protocol_version:4
capabilities:MULTI-MASTER,CERTIFICATION,PARALLEL_APPLYING,REPLAY,ISOLATION,PAUSE,CAUSAL_READ,INCREMENTAL_WS,UNORDERED,PREORDERED,STREAMING,NBO
final:no
own_index:1
members(3):
0:370d8f1e-be6c-11f0-81ee-6ad9baf05d85,garb
1:52a0c379-be67-11f0-b8ae-3201eb641669,galera1
2:c66106d9-be64-11f0-a06a-33bd45771681,galera2
=================================================
The arbitrator node (garb) is now part of the Galera group and maintains quorum without storing any data or running a full MariaDB instance.
Summary
The Galera cluster now runs with two full data nodes and one lightweight arbitrator. The garbd daemon ensures quorum and availability while consuming minimal resources – ideal for cost-sensitive or resource-constrained environments.
Mykhaylo Rykmas
Vettabase is a MariaDB Foundation sponsor!
All content in this blog is distributed under the CreativeCommons Attribution-ShareAlike 4.0 International license. You can use it for your needs and even modify it, but please refer to Vettabase and the author of the original post. Read more about the terms and conditions: https://creativecommons.org/licenses/by-sa/4.0/
0 Comments