Originally, I just wanted to synchronize some selected files of my 1TB OneDrive to my Notebook SSD and all my files to my external HDD. Cloud storage programs (dropbox, gdrive, onedrive, resilio, syncthing...) seem to dislike two sync'ed folders with the same content on the same device, so either one has to trick them with a virtual machine, or look for another solution.
I thought a bit more about the ultimate storage solution (at least for my use case) and it got a bit more complicated, but it is a rather normal setup for many people nowadays:
- notebooks with small drives
- smartphones & tablets
- external HDDs
- (NAS)
- (cloud storage)
- SD-card (e.g. from camera)
Aggregation (virtual drive of all available data)
On each storage device, I want to have a virtual home drive where all my files from all devices are aggregated. The current, active documents, photos, videos are usually available synchronized on all devices for organizing, editing, deleting, etc. Old bloat, large video files, backups might only reside in one or two locations with sufficient storage space (NAS, exHDD), but are still shown in my home drive and readily available, if connection is sufficient. Such an abstraction layer that aggregates the data from multiple locations to a single one could be possibly realized with symbolic links (mklink), but I guess it would require quite some administration overhead.
Synchronization (decentralized, selective)
Next, the different data sources need to be synchronized (file table always, files/folders selectively) as soon as two devices can communicate (SSD <-USB-> exHDD // smartphone <-WiFi-> NAS // exHDD <-USB & Internet-> cloud). I guess this could be achieved with syncthing, or maybe even start with git (for added version control). Another option would be nextcloud or seafile, but they are both centralized approaches, which I'd like to avoid. I could imagine blockchain storage like Sia or Storj to be also good contenders, but would like to hear what the community has to say. Resilio Sync is perfect for the decentralized sync part, but since it's closed source, I think it will be hard to combine it with the aggregation part.
TL;DR
- aggregate all available storage (SSD, exHDD, NAS, cloud, smartphone, ...) to one virtual folder (symlink, mklink)
- synchronize decentralized between locations (syncthing, git)
- in other words, I want a network folder with Windows offline-files and slow-link capabilities, but in a decentralized network infrastructure
What is the status quo? Have I overseen viable solutions? Am I asking for the impossible?