Change IP subnet of cluster

We would like to move our cluster into a new subnet. What is the best way of doing it?

We can have a downtime and shutdown all servers at the same time. But we shouldn’t loose any data.

I would have shut down all servers and then moved all servers into the new subnet. And then started it like it is a new cluster. And at the end deleted any references to the old IP addresses. But I am not sure if this is the best way.

If both new and old subnet can fully communicate with each other, you could move the nodes one by one, without downtime.
If both subnets can’t coexist, indeed apply all necessary changes in the my.cnf, shutdown all of them, do the network change, verify all the nodes have full connectivity (all the Galera related TCP ports) with each other, and then bootstrap the first node and finally join the others.
There is no reason why you would loose any data unless you consciously allow two separate clusters, in two different subnets working. Galera has cluster split brain and quorum detection to prevent data getting out of sync.

Thank you. I did it exactly like this and it worked. The servers were not in production yet but will go soon. So I could take all of them down.