GARBD(8)

πŸ“¦
version 26.4.27 Β· 2 versions
  • 26.4.27 Β· alpine 3.24, centos-stream 10, centos-stream 9, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 25.3.37 Β· debian bookworm, ubuntu jammy, ubuntu noble
, in alpine 3.24, centos-stream 10, centos-stream 9, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’… GARBD(8) β€” the arbitrator daemon for Galera cluster, bestie edition

okay so real quick, the manual name is garbd and it lives in section 8 of the System Administration Utilities, which is just fancy speak for "yeah this is a sysadmin thing, buckle up" πŸŽ€


✨ NAME ✨

garbd β€” the arbitrator daemon for Galera cluster πŸ’–


🌸 SYNOPSIS 🌸

garbd [options] [group address]

like. that's it. that's the whole vibe. options and maybe a group address. slay 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so bestie, listen. garbd joins a Galera cluster as an additional node, and its whole entire job β€” its main character purpose, if you will β€” is establishing quorum in case of network partitioning. that's it. that's the gig. ✨

and it can do that by serving as either:

  • a) an odd node to prevent split-brains 🧠πŸ’₯ (yes that's the real term, no I'm not making it up)
  • b) a reference connection point outside a datacenter

now here's the important part, and I need you to really hear me on this one: the arbitrator node must see all messages that the other nodes of the cluster see, HOWEVER β€” and this is the key β€” it does not process them any further and just discards them. it's giving "I'm here, I'm witnessing, I'm not doing anything with that information." πŸ’…

so as such, it does not store any cluster state and can't be used to bootstrap the cluster. so it only can join an existing cluster. no starting from scratch. it's not that kind of girl. periodt. πŸ‘‘


πŸ’– OPTIONS πŸ’–

πŸŽ€ Configuration:

  • -d, --daemon β€” become daemon. like, actually go be a background process about it. πŸ¦‹
  • -a, --address arg β€” the group address, in Galera format. πŸ“
  • -g, --group arg β€” the group name. 🏷️
  • --sst arg β€” SST request string, and this one carries the SST request that triggers a state snapshot dump (aka a state backup, aka the whole vibe) on one of the other nodes. for the deets, go check the Galera documentation at https://www.galeracluster.com πŸ”₯
  • --donor arg β€” the SST donor name (for that state dump we just talked about). 🫢
  • -o, --options arg β€” GCS/GCOMM option list. and ngl, it's likely to be the same as on the other nodes of the cluster. consistency is iconic. ✨
  • -l, --log arg β€” path to the log file. πŸ“
  • -c, --cfg arg β€” path to the configuration file. and okay so this config file contains garbd options in the form <option>=<value>, one option per line. the hash symbol starts comments. example time, bestie:
# garbd config file
daemon=1
address="gcomm://192.168.90.3:4567"
group="my_cluster"
options="gmcast.segment=4;"
log="/tmp/garb.log"

look at her. beautiful. organized. we love to see it. 🌸

⭐ Other options:

  • -v, --version β€” print the version. 🏷️
  • -h, --help β€” show the help message. πŸ™ˆ

🌈 FILES 🌈

  • /etc/default/garb β€” the system wide configuration file for the system service script on Debian-derived systems. πŸ“
  • /etc/sysconfig/garb β€” the system wide configuration file for the system service script on Red Hat-derived systems. πŸŽ€

πŸ’€ BUGS πŸ’€

found something broken? not me being the one to fix it, but like β€” see the Galera bug tracker at https://github.com/codership/galera and tell them everything. πŸ›


πŸ‘‘ AUTHOR πŸ‘‘

Codership Oy <info at codership dot com> πŸ’œ


okay and for the cute sign-off: this whole thing is garbd, version info INFO: 2.8.r165, dated December 2014 β€” and yes, she's still serving quorum after all this time. ate and left no crumbs. πŸ’…βœ¨πŸ«Ά