[MDEV-31536] Galera mariadb-backup to work as SST between major versions Created: 2023-06-25 Updated: 2024-01-17 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Galera SST |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major |
| Reporter: | Daniel Black | Assignee: | Daniel Black |
| Resolution: | Unresolved | Votes: | 2 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||
| Description |
|
For a HA solution like galera to require downtime to perform an upgrade inconvenience for the users. A traditional async replication based upgrade can be done without downtime, so our HA product Galera should be able to as well/ Problem: ( The mariadb-backup sst doesn't work between major version as the donor streams the result to the joiner. This stream and the saved version afterwards has not had its redo log applied and is effectively crashed. The joiner mariadb-backup being a newer version won't apply the changes in the prepare stage. Fix: The mariadb-backup prepare part of the SST could be performed by the donor using a sshfs mount SSHFS exported by the JOINER. This enables the mariadb-backup of the right version to apply the redo log without error. tested (out of a sst context) with:
The xtrabackup_info info file contains the donor server version so this can be made conditional. Donor:
Note, not socat -u - bidirection is needed Alternate untested modification for the sst script on the joiner side:
--defaults-file=/var/lib/mysql/backup-my.cnf might be needed as the first arg on mariadb-backup if non-standard innodb options related to storage are used. |