Ahoi,
Hier das Video zum Vortrag auf der FrOSCon. Wie
man sein MySQL mit Galera HA tauglich macht :) Gibt keine Slides,
da ich gerade aus dem Urlaub kam. Ansible kam arg kurz:/ Naja ich
brauch wohl eher 2h :)
Viel Spaß Erkan :)
Wer GTID nutzt um einen asynchronen Slave an einen Galera Cluster anzuschließen sollte wissen, dass die Integration von GTID und Galera je nach GTID Implementierung anders aussieht.
GTID@MariaDB
Jeder Node erhöht für sich seine Seqno. Solange alle Transaktionen via Galera erhöht werden, welches sich um die Commit Order der Daten kümmert, gibt es auch keine Probleme und die GTID (Seqno) sind überall identisch. (Wenn die ursprüngliche Seqno auch identisch war ;)
node1> show global variables like 'gtid_binlog_pos';
+-----------------+---------+
| Variable_name | Value |
+-----------------+---------+
| gtid_binlog_pos | 0-1-504 |
+-----------------+---------+
node2> show global variables like 'gtid_binlog_pos';
+-----------------+---------+
| Variable_name | Value |
+-----------------+---------+
| gtid_binlog_pos | 0-1-504 |
+-----------------+---------+
node3> …
[Mehr]
Galera Replikation wie sie in Percona XtraDB Cluster, MariaDB
Galera Cluster oder auch direkt in MySQL gepatcht zu finden ist,
ist gegenüber der traditionellen MySQL Replikation (Master,
Slave) agnostisch. Soll ein Node eines Galera Clusters als Master
herhalten, reicht es auf diesem log_bin
,
log_slave_updates
und eine server_id
zu
setzen und einen Slave ran zu hängen.
GTID von MariaDB verwenden
Bei der Replikation besteht die Auswahl zwischen der klassischen (Fileoffset) Replikation und Replikation unter Verwendung von GTID (Global Transaction ID). Da mit Verwendung der GTID die Fileoffsets nicht mehr gebraucht werden, verspricht die Verwendung von GTIDs einen einfachen Failover von einem Node als Master zu dem nächsten.
Nun gibt es je nach verwendetem MySQL(Fork) zwei verschiedene Implementierungen der GTID.
Die GTID bei MySQL/Percona und die GTID bei MariaDB.
…
[Mehr]Ahoi hier die Vorträge für das nächste Halbjahr:
MySQL Hochverfügbar mit Galera
Wo: FrOSCon
Was: Galera wird erklärt und mit LXC und Ansible aufgebaut :)
LBaaS-Loadbalancer as a Service
Wo: GUUG Frühjahrsgespräche
Was: Mit Jan Walzer und Jörg Jungermann gibt es einen Workshop zu in LXC gekapselten Loadbalancer Instanzen. Hier werden nur die Loadbalancer virturalisiert.
Medley der Containertechniken
Wo: GUUG Frühjahrsgespräche
Was: Wie schauen uns die Basics der Containertechniken im Kernel an (Namespaces, Cgroups und Chroot). Darauf hin schauen wir uns LXC, Libvrit, systemd-nspawn und Docker an.
MySQL Replikation: Von den Anfängen in die Zukunft
Wo: DOAG 2014
Was: Es wird einen Überblick über die Evolution der Replikation in MySQL und MariaDB geben.
Hands on Docker
Wo: CommitterConf.de Was: In dem …
[Mehr]Ahoi,
Es gab die letzte Zeit Blogposts, welche zwei Themen vereinten, die mich interessieren: Docker und Galera. Und offensichtlich finden diese auch in der MySQL Community viel Anklang.
Vorweg ich halte dies für keine gute Kombination. Ganz im Gegenteil um dies halbwegs sauber hinzubekommen ist (noch) viel Aufwand notwendig.
Galera wird als bekannt vorausgesetzt.
Docker nicht einfach eine neue Virtualisierung
Docker ist nicht nur eine Technik, sondern auch ein anderes Paradigma wie Deployments/Container verstanden werden sollen. Das scheinen die bisherigen Blogposts (planetmysql.com) nicht gerafft zu haben.
Was macht Docker?
Mit Docker werden Applikationskontainer - Container aus nur einer Applikation bestehend - erstellt. Als Technik ist schon von LXC bekannt. Auch hier konnte lediglich eine Applikation virtualisiert werden.
Ein paar Punkte
-
…
Tag der Arbeit: Mal eben einen Galera Cluster upgraden
Gegeben ein Galera Cluster für welches im Repository neue Pakete vorhanden sind.
> yum info galera
Installed Packages
Name : galera
Arch : x86_64
Version : 25.3.2
Release : 1.rhel6
Size : 29 M
Repo : installed
From repo : mariadb
Available Packages
Name : galera
Arch : x86_64
Version : 25.3.5
Release : 1.rhel6
Size : 7.6 M
Repo : mariadb
> yum info MariaDB-Galera-server
Installed Packages
Name : MariaDB-Galera-server
Arch : x86_64
Version : 5.5.36
Release : 1.el6
Size : 102 M
Repo : installed
From repo : mariadb
Available Packages
Name : MariaDB-Galera-server
Arch : x86_64
Version : 5.5.37
Release : 1.el6
Size : 25 M
Repo : mariadb
Rolling Upgrade
Einer der tollen Features von Galera ist die Möglichkeit des …
[Mehr]
Galera ist die synchrone Multi Master Lösung für
MySQL.
Auch wenn wir bei PXC oder MariaDB Galera Cluster immer von
Galera sprechen,
ist Galera nur ein Provider.
Provider? Was meinst Du damit?
Bei der Konfiguration von “Galera” gibt
es zwei Optionen
wsrep_provider und wsrep_provider_options
Bei ersterem wird der Provider eben Galera definiert.
Die bei der zweiten Option handelt es sich um die Konfiguration
eben diese Providers.
Die restlichen wsrep_ Optionen sind für wsrep.
https://launchpad.net/wsrep
wsrep API defines a set of application callbacks and replication library calls necessary to implement synchronous writeset replication of transactional databases and similar applications. It aims to abstract and isolate replication implementation from application details. Although the main target of this interface is a certification-based …
[Mehr]Was machst Du da?
Ich will wieder anfangen MySQL (besonders) Galera Setups zu ‘benchmarken’. Angefangen wird mit einem einfachen Setup. Die Applikation (sysbench) greift nur auf einen Node des Galera Clusters zu. Das entspricht z.B. einen VIP Setup.
Setup
3 Galera Nodes
- Virtual Machines (OpenStack) provided by teuto.net
- VCPU: 4
- RAM: 4GB
- OS: Centos 6.4-x86_64
- MySQL-server-5.6.14wsrep25.1-1.rhel6.x86_64
- galera-25.3.2-1.rhel6.x86_64
Separater sysbench node
- Gleiche Specs
- sysbench 0.5
- oltp test auf 5 Tabellen a 1000000 Rows (ca. 1.2GB)
- Jeweils 60 Sekunden Gauss-Verteilter Zugriff.
MySQL Config
[mysqld]
user = mysql
binlog_format = ROW
default-storage-engine = innodb …
[Mehr]
Zu Galera gibt es viel zu sagen.
Hier möchte ich zwei Begriffe/Phrasen vorstellen, die ich
mittlerweile Kunden und Interessierten
aufdrücke.
Galera ist:
- One Cluster
- Replication
Hier geht es darum nicht unnötig Werbung für Galera zu machen. Ziel der Schlagworte ist “Limitierungen” zu verdeutlichen. Was meinen diese Schlagworte?
One Cluster
Galera ist ein Cluster. Nodes attachen den Cluster.
Anders formuliert: Der langsamste Node führt. Klingt geschwollen,
meint aber nur der Cluster ist nicht schneller, als der
langsamste Node.
(Alles wird synchron durchgeführt.)
Dies kann auch auf das Netz angewandt werden. Meint: Die langsamste Verbindung führt ;)
Replication
-
Galera bedarf der selben Aufmerksamkeit wie (ROW based) Replication. Vor allem sollten alle Tabellen einen PK haben. …
Galera ist imho die derzeit beste Möglichkeit MySQL HA zu betreiben. Während Galera sich um die synchrone Replikation der Daten kümmert, muss der Admin sich noch Gedanken machen, wie der Zugriff auf den Cluster hochverfügbar gestaltet wird.
Die Klassichen Lösungen sind eine VIP, welche immer an einen laufenden Clusternode gebunden ist mit Pacemaker verwaltet, oder einen Proxy vor den Cluster zu setzen. Am meisten verwendet wird der Proxyansatz. Hier bietet sich HAProxy an. Codership - die Entwickler von Galera - liefern mit dem GaleraLoadBalancer (glb) einen eigenen Proxy mit. Oli hat schon über den glb berichtet. Das will ich hier nicht wiederholen. Glb - welches hier heruntergeladen werden sollte - ist nicht nur ein (stand …
[Mehr]