I’ll soon need to migrate some of my nodes to different drives. The usual way would be to just run rsync multiple times, the last time with the node turned off. But this means downtime for the last rsync run, which I recall to take few hours.
I wonder how reasonable would be to first set up mergerfs between the source and target blobs directories, setting the target as the only writable directory (ie. the source directory as «no-create»). Then move older data with mergerfs.consolidate while the node is operating as usual. After this step the target directory would contain an up-to-date version of the blobs directory, so all I would need to do while the node is down is to manually move the database/trash files, which are orders of magnitude smaller to copy.
Maybe you have enough RAM for all that metadata to be cached from one rsync run to another. My box doesn’t, and needs to do millions of IO operations to go over all the files again.