I use “rsync --inplace -aP” because it preserves all attributes, thus subsequent syncs are as fast as possible. Thus
- rsync
- rsync again (with --delete)
- stop the node
- rsync yet again (with --delete)
- start node with new disk
Frankly anything that does reading and writing in separate processes is a win compared to “cp -r”.
If the node doesn’t have enough RAM to keep all the disk metadata in its cache then unfortunately the subsequent syncs will still take quite some time. On my system “du /mnt/storj/blobs” emits approx three subdirectories per second and there are 5000+ of them. rsync cannot possibly be faster than that.