I'm running a website that uses user-uploaded files heavily. Those files are served to users only after a permission check by a Django application.
Now I need to scale horizontally and spin up another instance of a web server. It needs to have access to the same directory structure that contains uploaded files. What I likely need is some distributed filesystem.
I've been thinking about:
- NFS — done that 15 years ago and even then I felt that standard was quite outdated. Although robust and easy to set up, the lack of transfer encryption and the need of syncing UIDs/GIDs between servers creates more problems than it solves.
- periodic rsync — sounds like a dirty hack and would probably lead to out-of-sync problems. And take N times the storage size for N servers.
- sshfs — well, if it has the same performance as scp, I don't want to hear about it actually.
- LustreFS , Gluster, or other DFS — never used those and have no idea which would suit my needs. Redundancy is not critical (we have frequent backups) but I'd like to have the traffic between servers encrypted.
What would you recommend?