Dne 11. 12. 20 v 15:10 Andrei Borzenkov napsal(a):
11.12.2020 16:13, Raphael Laguerre пишет:
Hello,
I'm trying to setup a 2 nodes cluster with 2 galera instances. I use the ocf:heartbeat:galera
resource agent, however, after I create the resource, only one node appears to be in master role,
the other one can't be promoted and stays in slave role. I expect to have both nodes with a mysqld
instance running and synchronized in a galera cluster. Could you help me please ? When I do a
debug-promote, it seems that mysqld is started on node-01 and shutdowned juste after, but I don't
understand why. If I launch the galera cluster manually by doing on one node
"galera_new_cluster" and on the second node "systemctl start mariadb", it works
properly (I can't write on both nodes and they are synchronized)
Here is the scenario that led to the current situation:
I did :
pcs resource create r_galera ocf:heartbeat:galera enable_creation=true
wsrep_cluster_address="gcomm://192.168.0.1,192.168.0.2"
cluster_host_map="node-01:192.168.0.1;node-02:192.168.0.2" promotable meta master-max=2
promoted-max=2
Try it like this:
pcs resource create r_galera ocf:heartbeat:galera enable_creation=true
wsrep_cluster_address="gcomm://192.168.0.1,192.168.0.2"
cluster_host_map="node-01:192.168.0.1;node-02:192.168.0.2" promotable
master-max=2 promoted-max=2
i.e. drop "meta" after "promotable"
Options written after "meta" go to the primitive resource, options
written after "promotable" (or "clone") go to the promotable (or clone)
resource.
Promotable, promoted-max must be set on clone, not on primitive. From logs
<clone id="r_galera-clone">
<primitive class="ocf" id="r_galera" provider="heartbeat"
type="galera">
...
<meta_attributes id="r_galera-meta_attributes">
<nvpair id="r_galera-meta_attributes-master-max"
name="master-max" value="2"/>
<nvpair id="r_galera-meta_attributes-promoted-max"
name="promoted-max" value="2"/>
</meta_attributes>
Those are resource (primitive) attributes
...
</primitive>
<meta_attributes id="r_galera-clone-meta_attributes">
<nvpair id="r_galera-clone-meta_attributes-promotable"
name="promotable" value="true"/>
</meta_attributes>
</clone>
And clone attributes are default (1 master) so pacemaker promotes only
one, the first, node.
Dec 11 11:35:23 node-02 pacemaker-schedulerd[5304] (color_promotable)
info: r_galera-clone: Promoted 1 instances of a possible 1 to master
Resource on second node correctly sets master score, but pacemaker
cannot promote more than one node.
Your pcs invocation lacks --master switch (and it in general looks
strange, I am not sure how you managed to create clone with this
command, but I am not familiar with pcs enough):
pcs resource create r_galera ocf:heartbeat:galera ... --master meta
master-max=2 promoted-max=2
I guess Raphael is using pcs-0.10.x which brings a new syntax. There is
no --master in pcs-0.10.x.
Regards,
Tomas
and I got:
============================================================================================
root@node-01:~# pcs status
Cluster name: cluster-ha-mariadb
Stack: corosync
Current DC: node-02 (version 2.0.1-9e909a5bdd) - partition with quorum
Last updated: Fri Dec 11 11:38:12 2020
Last change: Fri Dec 11 11:35:18 2020 by root via cibadmin on node-01
2 nodes configured
3 resources configured
Online: [ node-01 node-02 ]
Full list of resources:
r_vip (ocf::heartbeat:IPaddr2): Started node-01
Clone Set: r_galera-clone [r_galera] (promotable)
Masters: [ node-02 ]
Slaves: [ node-01 ]
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
============================================================================================
Please find attached the cib.xml, the pacemaker logs, the syslog logs and the
mysql logs from the time of the creation of the resource for node-01 and
node-02. There is no mysql logs generated after the resource creation on
node-01.
Here are info about my environment and configuration (except for IP and
hostname, both nodes are identical) :
============================================================================================
root@node-01:~# cat /etc/debian_version
10.7
root@node-01:~# uname -a
Linux node-01 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64
GNU/Linux
root@node-01:~# dpkg -l corosync pacemaker pcs pacemaker-cli-utils
mariadb-server
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
|
État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=attend-traitement-déclenchements
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom Version Architecture Description
+++-===================-===================-============-=====================================================================
ii corosync 3.0.1-2+deb10u1 amd64 cluster engine daemon and utilities
ii mariadb-server 1:10.3.27-0+deb10u1 all MariaDB database server (metapackage
depending on the latest version)
ii pacemaker 2.0.1-5+deb10u1 amd64 cluster resource manager
ii pacemaker-cli-utils 2.0.1-5+deb10u1 amd64 cluster resource manager command
line utilities
ii pcs 0.10.1-2 all Pacemaker Configuration System
root@node-01:~# cat /etc/mysql/mariadb.conf.d/50-galera.cnf
[galera]
wsrep_provider = /usr/lib/libgalera_smm.so
wsrep_cluster_address = gcomm://192.168.0.1,192.168.0.2
#wsrep_cluster_address = dummy://192.168.0.1,192.168.0.2
binlog_format = ROW
innodb_autoinc_lock_mode = 2
innodb_doublewrite = 1
wsrep_on = ON
default-storage-engine = innodb
wsrep_node_address = 192.168.0.1
wsrep-debug = 1
wsrep_cluster_name="ha-cluster"
wsrep_node_name="node-01"
wsrep_provider_options='pc.ignore_sb=TRUE;gcs.fc_limit=256;gcs.fc_factor=0.99;gcs.fc_master_slave=YES;'
root@node-01:~# grep -Ev '^#.*' /etc/mysql/mariadb.conf.d/50-server.cnf
[server]
[mysqld]
user = mysql
pid-file = /run/mysqld/mysqld.pid
socket = /run/mysqld/mysqld.sock
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
bind-address = 0.0.0.0
query_cache_size = 16M
log_error = /var/log/mysql/error.log
expire_logs_days = 10
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
============================================================================================
Thank you,
Best regards,
Raphaël Laguerre
_______________________________________________
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users
ClusterLabs home: https://www.clusterlabs.org/
_______________________________________________
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users
ClusterLabs home: https://www.clusterlabs.org/
_______________________________________________
Manage your subscription:
https://lists.clusterlabs.org/mailman/listinfo/users
ClusterLabs home: https://www.clusterlabs.org/