sql >> Databáze >  >> RDS >> Mysql

Vysoká dostupnost při nízkém rozpočtu – nasazení minimálního klastru MySQL Galera se dvěma uzly

Pravidelně dostáváme dotazy, jak nastavit cluster Galera s pouhými 2 uzly.

Dokumentace jasně uvádí, že byste měli mít alespoň 3 uzly Galera, abyste se vyhnuli rozdělení sítě. Existuje však několik oprávněných důvodů pro zvážení nasazení 2 uzlů, například pokud chcete dosáhnout vysoké dostupnosti databáze, ale máte omezený rozpočet na utracení třetího databázového uzlu. Nebo možná používáte Galeru ve vývojovém/sandboxovém prostředí a dáváte přednost minimálnímu nastavení.

Galera implementuje algoritmus založený na kvoru pro výběr primární komponenty, jejímž prostřednictvím vynucuje konzistenci. Primární složka musí mít většinu hlasů, takže v systému 2 uzlů by neexistovala žádná většina, což by vedlo k rozdělení mozku. Naštěstí je možné přidat garbd (Galera Arbitrator Daemon), což je lehký bezstavový démon, který může fungovat jako lichý uzel. Selhání arbitra nemá vliv na operace clusteru a nová instance může být ke clusteru kdykoli znovu připojena. V clusteru může být několik rozhodců.

ClusterControl má podporu pro nasazení garbd na nedatabázové hostitele.

Klastr Galera normálně potřebuje alespoň tři hostitele, aby byl plně funkční, nicméně v době nasazení by dva uzly stačily k vytvoření primární komponenty. Zde jsou kroky:

  1. Nasaďte shluk Galera se dvěma uzly,
  2. Po nasazení clusteru pomocí ClusterControl přidejte garbd do uzlu ClusterControl.

Měli byste skončit s níže uvedeným nastavením:

Nasazení Galera Cluster

Přejděte do části ClusterControl Deploy a nasaďte cluster.

Po výběru technologie, kterou chceme nasadit, musíme zadat uživatele, klíč nebo heslo a port pro připojení pomocí SSH k našim hostitelům. Potřebujeme také název našeho nového clusteru a pokud chceme, aby ClusterControl nainstaloval odpovídající software a konfigurace za nás.

Po nastavení přístupových informací SSH musíme vybrat dodavatele/verzi a musíme definovat heslo správce databáze, datadir a port. Můžeme také určit, které úložiště použít.

I když vás ClusterControl varuje, že cluster Galera potřebuje lichý počet uzlů, přidejte do clusteru pouze dva uzly.

Nasazení clusteru Galera spustí úlohu ClusterControl, kterou lze sledovat na stránce Úlohy.

Nainstalovat Garbd

Po dokončení nasazení nainstalujte garbd na hostitele ClusterControl. Máme možnost nasadit garbd z ClusterControl, ale tato možnost nebude fungovat, pokud jej chceme nasadit na stejný server ClusterControl. Je to proto, aby se předešlo problémům souvisejícím s verzemi databáze a závislostmi balíčků.

Musíme jej tedy nainstalovat ručně a poté importovat garbd do ClusterControl.

Podívejme se na ruční instalaci Percona Garbd na CentOS 7.

Vytvořte soubor úložiště Percona:

$ vi /etc/yum.repos.d/percona.repo
[percona-release-$basearch]
name = Percona-Release YUM repository - $basearch
baseurl = http://repo.percona.com/release/$releasever/RPMS/$basearch
enabled = 1
gpgcheck = 0
[percona-release-noarch]
name = Percona-Release YUM repository - noarch
baseurl = http://repo.percona.com/release/$releasever/RPMS/noarch
enabled = 1
gpgcheck = 0
[percona-release-source]
name = Percona-Release YUM repository - Source packages
baseurl = http://repo.percona.com/release/$releasever/SRPMS
enabled = 0
gpgcheck = 0

Poté nainstalujte balíček Percona XtraDB Cluster garbd:

$ yum install Percona-XtraDB-Cluster-garbd-57

Nyní musíme nakonfigurovat garbd. K tomu potřebujeme upravit soubor /etc/sysconfig/garb:

$ vi /etc/sysconfig/garb
# Copyright (C) 2012 Codership Oy
# This config file is to be sourced by garb service script.
# A comma-separated list of node addresses (address[:port]) in the cluster
GALERA_NODES="192.168.100.192:4567,192.168.100.193:4567"
# Galera cluster name, should be the same as on the rest of the nodes.
GALERA_GROUP="Galera1"
# Optional Galera internal options string (e.g. SSL settings)
# see http://galeracluster.com/documentation-webpages/galeraparameters.html
# GALERA_OPTIONS=""
# Log file for garbd. Optional, by default logs to syslog
# Deprecated for CentOS7, use journalctl to query the log for garbd
# LOG_FILE=""

Změňte parametry GALERA_NODES a GALERA_GROUP podle konfigurace uzlů Galera. Před spuštěním služby také musíme odstranit řádek # REMOVE THIS AFTER CONFIGURATION.

A nyní můžeme spustit službu garb:

$ service garb start
Redirecting to /bin/systemctl start garb.service

Nyní můžeme importovat nový garbd do ClusterControl.

Přejděte do ClusterControl -> Vybrat Cluster -> Přidat Load Balancer.

Poté vyberte sekci Garbd a importovat Garbd.

Zde potřebujeme pouze zadat název hostitele nebo IP adresu a port nového Garbd.

Import garbd spustí úlohu ClusterControl, kterou lze sledovat na stránce Úlohy. Po dokončení můžete ověřit, že garbd běží, pomocí zelené ikony zaškrtnutí v horní liště:

To je ono!

Náš minimální dvouuzlový cluster Galera je nyní připraven!


  1. vybrat * z tabulky vs vybrat colA, colB atd. z tabulky zajímavé chování v SQL Server 2005

  2. Typy SQL příkazů

  3. Aktualizujte statistiky SQL Server pomocí plánu údržby databáze

  4. Ovladač PayPal ODBC