I have three drives that have a lot of overlap. If I setup the union mount as a "FF" (or just use the default) it will get the file from the first mount point it finds. My question is suppose that mount point returns an error for some reason (quota, or whatever). Is it possible to have it try the next mount point?
For example suppose
Union of Mount 1 and Mount 2 with FF.
If I try to read A it would read from Mount 1. But suppose Mount 1 gives a quote error. Is it possible to fail to try to read from Mount 2 instead of just ... dying?
I support this, when using the union it would be perfect to see each remote caused the error at INFO level, and with debug it would be nice to see what remoted is being used for each file...if that doesn't add lots of overheard of course
I'm looking at providing at least read level "failover" in mergerfs for that particular usecase. It's been in my backlog for a while but recently more have asked for it. rclone has greater access to the backend and knowledge of the situation but my solution should help in more heterogeneous filesystem situations. I have a working prototype but I need to confirm the filesystem errors rclone returns when these situations occur.
Whilst quotas is not a problem for me at the moment I would love to do the same with multiple (own encrypted each) remotes all mostly identical in content in a merged-union'd remote of sorts to create a semi-redundant array of sorts.
Outside of the issue of marking a 'faulty' remote and timings around it (rc/health!), it would appear prudent to be able to list the underlying remotes in some order of try-priority whilst also opting to only make one underlying remote writable for obvious reasons...
In production I don't use any vfs cache on my union yet...
I think the union should have built-in failover yeah...otherwise what's the point?
It should work like this: file is opened, it will follow the union policy, in my case it's random...so it will randomly pick a remote and try to open a file, if that fails for whatever reason, it should call another random remote, and only give up if all remotes fail...
It would be sensible to mark failed files in the remotes as "dead" for 24 hours. I'm still having lots of 403 errors, mostly because rclone is not load-balancing between my remotes, so I would be able to test any branch and tell if it's working as intended or not quickly...