Plan A:
I don't have a solution to your Question, but contemplate the following alternative.
- Toss the test nodes.
- Take one of the production nodes out of the production cluster.
- Turn that node into the first test node.
- Then, as you are doing currently, populate the other 4 test nodes.
Meanwhile, use SST to rebuild the stolen production node. (I don't know whether to do this first, last, or in parallel.)
Plan B:
Another thought... Use LVM. But this probably means having separate disk partitions (or physical drives) for production and test. Or maybe a single partition, but with 2 live snapshots!
If you could snapshot all the nodes simultaneously, you could get an identical copy of production into test in a minute or two. Unfortunately, this would require a complex, coordinated, very brief, outage.
Back to a hybrid.
- Take one node out of the production cluster.
- Perform LVM snapshot (a minute or so)
- Put that node back into production. (IST will quickly resync.)
- Now use the snapshot as the first node of Test. (If you need to anonymize names, etc, this would be the most efficient step to do it.)
- SST to get rest of Test.