Hello Marko,
We have done these minor upgrades on Percona Managed Services and I would say that this is feasible to be done. Take out of the cluster one node at a time, remove or update (yum update package_name) all old binaries, setup new ones in case you choose to remove packages, start mysqld back up online. You don't need to run mysql_upgrade in this case and when you start mysqld having newer binaries in place, depending on the size of configured gcache, it's going to perform an IST or even, a SST. As you're going to take the node out of rotation and out of cluster, you don't need to worry about configuring it as read_only.
** if you do that in a window maintenance where no one is writing data, it's the best yet scenario as you don't need to SST in any case it's needed, considering that, in most cases, data is too big (TB++) and SST time can be some hours.
So, a sequence of actions to summarize this will be, considering a three nodes cluster:
1-) take out node03 form rotation, run the update packages, start mysqld back, check if it's going to SST or IST, wait for it to finish;
2-) take out node02 form rotation, run the update packages, start mysqld back, check if it's going to SST or IST, wait for it to finish;
3-) take out node01 form rotation, run the update packages, start mysqld back, check if it's going to SST or IST, wait for it to finish;
I would like to use the below as an example:
#: three nodes cluster
#: servers are...
#: packages currently installed
[vagrant@node02 ~]$ sudo rpm -qa | grep Percona
Percona-XtraDB-Cluster-client-56-5.6.28-25.14.1.el6.x86_64
Percona-XtraDB-Cluster-server-56-5.6.28-25.14.1.el6.x86_64
Percona-XtraDB-Cluster-galera-3-3.15-1.rhel6.x86_64
Percona-XtraDB-Cluster-shared-56-5.6.28-25.14.1.el6.x86_64
Percona-XtraDB-Cluster-devel-56-5.6.28-25.14.1.el6.x86_64
#: let's take out node02 to update packages
[vagrant@node02 ~]$ sudo /etc/init.d/mysql stop
Shutting down MySQL (Percona XtraDB Cluster).... SUCCESS!
[vagrant@node02 ~]$ sudo yum update Percona-XtraDB-Cluster-client-56-5.6.28-25.14.1.el6.x86_64 Percona-XtraDB-Cluster-server-56-5.6.28-25.14.1.el6.x86_64 Percona-XtraDB-Cluster-galera-3-3.15-1.rhel6.x86_64 Percona-XtraDB-Cluster-shared-56-5.6.28-25.14.1.el6.x86_64 Percona-XtraDB-Cluster-devel-56-5.6.28-25.14.1.el6.x86_64
...
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package Percona-XtraDB-Cluster-client-56.x86_64 1:5.6.28-25.14.1.el6 will be updated
---> Package Percona-XtraDB-Cluster-client-56.x86_64 1:5.6.32-25.17.1.el6 will be an update
---> Package Percona-XtraDB-Cluster-devel-56.x86_64 1:5.6.28-25.14.1.el6 will be updated
---> Package Percona-XtraDB-Cluster-devel-56.x86_64 1:5.6.32-25.17.1.el6 will be an update
---> Package Percona-XtraDB-Cluster-galera-3.x86_64 0:3.15-1.rhel6 will be updated
---> Package Percona-XtraDB-Cluster-galera-3.x86_64 0:3.17-1.rhel6 will be an update
---> Package Percona-XtraDB-Cluster-server-56.x86_64 1:5.6.28-25.14.1.el6 will be updated
---> Package Percona-XtraDB-Cluster-server-56.x86_64 1:5.6.32-25.17.1.el6 will be an update
---> Package Percona-XtraDB-Cluster-shared-56.x86_64 1:5.6.28-25.14.1.el6 will be updated
---> Package Percona-XtraDB-Cluster-shared-56.x86_64 1:5.6.32-25.17.1.el6 will be an update
...
#: new packages in place after yum update - here, make sure you run yum clean all before yum update
[root@node02 ~]# rpm -qa | grep Percona
Percona-XtraDB-Cluster-shared-56-5.6.32-25.17.1.el6.x86_64
Percona-XtraDB-Cluster-galera-3-3.17-1.rhel6.x86_64
Percona-XtraDB-Cluster-devel-56-5.6.32-25.17.1.el6.x86_64
Percona-XtraDB-Cluster-client-56-5.6.32-25.17.1.el6.x86_64
Percona-XtraDB-Cluster-server-56-5.6.32-25.17.1.el6.x86_64
[root@node02 ~]# mysqld --version
mysqld Ver 5.6.32-78.1-56 for Linux on x86_64 (Percona XtraDB Cluster (GPL), Release rel78.1, Revision 979409a, WSREP version 25.17, wsrep_25.17)
#: let's start it
[root@node02 ~]# /etc/init.d/mysql start
Starting MySQL (Percona XtraDB Cluster).. SUCCESS!
Let us know please if you have any other questions, cheers.
Bianchi