Bonjour,

Je te recommande d'activer les dépôts MariaDB pour Debian et de faire une première migration pour avoir les paquets officiels MariaDB.

Ensuite de monter en 10.5 en Debian 10, ça se fait en choisisant la version dans l'url du dépôt.

De là migration Galera 4 en Debian 10.

Et seulement à la fin Debian 11 en gardant les repo en 10.5.

Voilà comment je ferais l'évolution.

Bonne journée

Le 24/02/2022 à 11:17, BASSAGET Cédric a écrit :
Bonjour,

Nous avons un cluster de 3 machines debian 10 / mariadb 10.3 / galera3

J'ai voulu upgrader un des noeuds du cluster en debian 11, et par conséquent mariadb 10.5 et alera 4.

Les docs mariadb (https://mariadb.com/kb/en/upgrading-galera-cluster/) ne parlent pas d'upgrade vers 10.5, mais uniquement 10.3 -> 10.4. ma principale inquiétude était le passage de galera3 a galera4, mais la donc est plutot rassurante là dessus :
"Galera 3 and Galera 4 should be compatible for the purposes of a rolling upgrade, as long as you are using Galera 26.4.2 or later"
ce qui est le cas en debian 11 ( galera 26.4.44)

debian ne fournissant pas de paquets mariadb 10.4, je me suis dit que ça se pourrait marcher, de 10.3 a 10.5

Sauf que non.
les 2 nodes restants voient bien le wsrep_cluster_size à 3, par contre le node upgradé est dans les choux. j'ai des "lock wait timeout" dans tous les sens, par exemple
MariaDB [(none)]> SHOW GLOBAL STATUS LIKE '%wsrep%';
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

les journaux systemd disent : 

Feb 24 11:02:03 c7000-pa2-mysqlcluster2 systemd[1]: Starting MariaDB 10.5.15 database server...
Feb 24 11:02:04 c7000-pa2-mysqlcluster2 sh[52249]: WSREP: Recovered position 8a9a12bd-6240-11eb-803b-a210a81100fb:8208686
Feb 24 11:02:04 c7000-pa2-mysqlcluster2 mariadbd[52379]: 2022-02-24 11:02:04 0 [Note] /usr/sbin/mariadbd (mysqld 10.5.15-MariaDB-1:10.5.15+maria~bullseye-log) starting as process 52379 ...
Feb 24 11:02:05 c7000-pa2-mysqlcluster2 rsyncd[52504]: rsyncd version 3.2.3 starting, listening on port 4444
Feb 24 11:02:05 c7000-pa2-mysqlcluster2 rsyncd[52516]: connect from c7000-pa2-mysqlcluster1 (192.168.155.35)
Feb 24 11:02:05 c7000-pa2-mysqlcluster2 rsyncd[52516]: rsync allowed access on module rsync_sst from c7000-pa2-mysqlcluster1 (192.168.155.35)
Feb 24 11:02:05 c7000-pa2-mysqlcluster2 rsyncd[52516]: rsync to rsync_sst/ from c7000-pa2-mysqlcluster1 (192.168.155.35)
Feb 24 11:02:05 c7000-pa2-mysqlcluster2 rsyncd[52516]: receiving file list
Feb 24 11:02:05 c7000-pa2-mysqlcluster2 rsyncd[52516]: sent 48 bytes  received 199 bytes  total size 47
Feb 24 11:02:07 c7000-pa2-mysqlcluster2 rsyncd[52504]: sent 0 bytes  received 0 bytes  total size 0
Feb 24 11:02:07 c7000-pa2-mysqlcluster2 systemd[1]: Started MariaDB 10.5.15 database server.
Feb 24 11:02:07 c7000-pa2-mysqlcluster2 debian-start[52656]: ERROR 1047 (08S01) at line 1: WSREP has not yet prepared node for application use


et le error.log mysql, se remplit de messages du genre (j'ai activé le debug wsrep) :

2022-02-24 11:11:33 1417 [Note] WSREP: wsrep_commit_empty(1417)
2022-02-24 11:11:33 1417 [Note] WSREP: wsrep_after_statement for 1417 client_state exec  client_mode local trans_state aborted
2022-02-24 11:11:33 1417 [Note] WSREP: wsrep_after_statement for 1417 client_state exec  client_mode local trans_state aborted
2022-02-24 11:11:33 1417 [Note] WSREP: dispatch_command leave
    thd: 1417 thd_ptr: 0x7f4188000c58 client_mode: local client_state: result trx_state: aborted
    next_trx_id: 3289 trx_id: -1 seqno: -1
    is_streaming: 0 fragments: 0
    sql_errno: 1205 message: Lock wait timeout exceeded; try restarting transaction
    command: 0 query: SELECT (SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHER
2022-02-24 11:11:33 1417 [Note] WSREP: assigned new next trx id: 3480


Si quelqu'un a une piste, ou a déjà expérimenté ce genre de problèmes... je prends !

Merci
Cédric

_______________________________________________
Liste de diffusion du %(real_name)s
http://www.frsag.org/