On Wed, 20 Dec 2023 09:33:50 -0300 Thiago De Moraes Teixeira <teixeira.thiago@luizalabs.com> wrote:
... I'm doing some crazy tests with SAIO and multiples storage nodes, based in build a new ring with part power 20 and just swap the old files (account/container.ring.gz) with the new ones and let the replicators do their jobs, moving *.db files to their new home partition.
I don't see a show-stopper if you do it while cluster is not available to the client requests, in a maintenance window. Normally Swift is intended to be run with total zero downtime for the lifetime of a cluster. The observable problem is a window when your rings are switched over, but the container DBs are not yet moved. Proxy cannot find them at the new place and gives a 404. The same is true for updaters, I believe. You're risking losing track of container and account stats. If you quescent the cluster wrt the updaters, expirers, and clients, then remaking rings outright ought to become possible. However, I never tried what you're doing. I suggest you get engage attention of people who thought about all issues with the partition power changes - Christian Schwede, Clay Gerrard, maybe Alistair too. There may be something that we're not considering. -- Pete