Refined Multi-Node Upgrade Sequencing: 6.x to 23.10
These instructions detail the comprehensive upgrade path from MariaDB ColumnStore 6 to MariaDB ColumnStore 23.10 in a Multi-Node topology. To ensure a successful upgrade, it is highly critical to execute package updates simultaneously across all nodes and ensure strict CMAPI synchronization.
1. Pre-Upgrade Preparation
Before making any modifications, prepare your cluster and secure backups of your current state.
Perform Backups: Consider taking a full production backup using
bash mcs_backup_manager.sh backup(note that this will lock out writes during the backup). Determine the primary node by runningmcs cluster statusand take a DBRM backup usingbash mcs_backup_manager.sh dbrm_backup -bl <path> -nb before-shutdown-before-upgrade.Save Configurations: On every node, create a timestamped directory and save backups of
Columnstore.xml,storagemanager.cnf,cmapi_server.conf, andserver.cnf.Set Maintenance Mode: On the MaxScale node, set each replica server to maintenance mode to prevent traffic routing during the upgrade. You can do this using MaxCtrl (e.g.,
maxctrl set server mcs2 maintenance). Verify this by runningmaxctrl list servers; the state should reflectMaintenance.Disable GTID Strict Mode: Temporarily disable the
gtid_strict_modesystem variable on each replica server to reduce the chance of replication issues. Comment outgtid_strict_mode=1in your configuration files (e.g.,/etc/my.cnf.d/server.cnf).
2. Coordinated Service Shutdown
Services must be completely shut down across the cluster prior to upgrading packages.
Stop Cluster: On the primary node, stop the ColumnStore cluster by executing
mcs cluster stop.Stop Node Services: On every node, stop the MariaDB Enterprise Server, MariaDB ColumnStore, and CMAPI services.
sudo systemctl stop mariadb-columnstore-cmapi sudo systemctl stop mariadb-columnstore sudo systemctl stop mariadbTerminate Orphaned Processes: On every node, forcefully kill any remaining ColumnStore processes if needed. Check for processes like
PrimProc,ExeMgr,DMLProc,DDLProc,WriteEngineServer,StorageManager,controllernode,workernode,load_brm, orsave_brm, and executekill -9on their PIDs. Stop all individualmcs-*systemctl services.Final Pre-Upgrade Backup: Take one more DBRM backup on the primary node before proceeding with the installation.
3. Simultaneous Package Upgrades
To prevent version mismatch issues within the cluster configuration, package updates must be executed at the exact same time across all nodes.
Configure Package Manager: On every node, configure the package repository using the MariaDB Enterprise Release Helper script. Pass the target version using the
--mariadb-server-version="11.4"flag (as Enterprise ColumnStore 23.10 is included with MariaDB Enterprise Server 11.4).Execute Update: On every node at the same time, execute the package update.
For YUM (RHEL/CentOS):
sudo yum update "MariaDB-*" "MariaDB-columnstore-engine" "MariaDB-columnstore-cmapi".For APT (Debian/Ubuntu, version 2.0+):
sudo apt install --only-upgrade '?upgradable ?name(mariadb.*)'.
Disable Standalone Service: After the packages are updated, the standalone
mariadb-columnstoreservice must be disabled on each node, as it will now be controlled directly by CMAPI.
4. CMAPI Synchronization and Service Startup
With packages updated, services must be brought back online in a specific order to allow CMAPI to synchronize the cluster state.
Start Services: On every node, start and enable the MariaDB server and CMAPI services.
Verify Status: On the primary node, check the status using
mariadb -e "show status like '%Columnstore%';"andmcs cluster status. Ensure all nodes and dbroots are present. (If there are issues, you may need to restore theColumnstore.xmlbacked up earlier and runclearShm).Start Cluster: On the primary node, start the cluster using
mcs cluster start.
5. Post-Upgrade Finalization
Write Binary Log: On the primary server, run
mariadb-upgrade --write-binlogto upgrade the data directory with binary logging enabled to update system tables.Verify Versions: On each node, query
SHOW GLOBAL STATUS LIKE 'Columnstore_version';to confirm the version reads23.10.0, andSHOW GLOBAL VARIABLES LIKE 'version';to check the ES version.Data Validation: Run data checks (e.g.,
sudo bash table_checker.sh -c 6 -m 1) and compare output counts from before the upgrade. Confirm replication users are connected viashow processlist.Restore Configurations: Re-enable the
gtid_strict_modesystem variable on each replica server. Restart MariaDB to apply the changes.Clear Maintenance Mode: Finally, on the MaxScale node, clear the maintenance mode for each replica using MaxCtrl (e.g.,
maxctrl clear server mcs2 maintenance). Confirm the mode is cleared by checking that the state no longer saysMaintenanceinmaxctrl list servers.
Last updated
Was this helpful?

