Next week, we are about to create our new Veeam Backup Repos. (Moving from MS DPM to Veeam)
Should we go with REFS and disable block clones (does this work?) to be prepared for the fix or should we go with NTFS.
We are about to implement 2 x 150TB usable disk RAID60 repos for about 1000 VM backups.
MS Dev suggested to us 10GB ram for every 1TB of space used in the REFS repo. If you have enough RAM to spare, go REFS, but follow the best practice guide
In our case with the REFS deletes (they called this a delete storm), the process of flushing the metadata to disk cannot keep up, so the driver queues the metadata writes in RAM so as not to slow down the process. However, there is no check to ensure that all available RAM is not used up, and has caused our repo to lock.
Prior to increasing ram on our repo, MS had us test a plethora of registry changes, some of which haven't been mentioned in this forum. However, these registry changes disable certain optimizations that REFS provides, and could heavily affect the performance of REFS that we have come to appreciate. In the end, none of the registry tweaks fixed our issue. Only by quadrupling our RAM on the repo, with the registry tweaks in place, were we able to get the delete storm to finish.
We have an 18 TB repo, and had only 16GB ram. With private rix refs.sys, and registry tweaks enabled, and RAM increased to 64 GB, the delete storm finished and climaxed at 44GB RAM used, then fell back to normal expected levels.
RAM is expensive. I would rather there be healthier memory management without crippling REFS optimizations. I'm not a dev, so I'm sure it's easier said than done.