Первоначально я просто хотел синхронизировать некоторые выбранные файлы моего 1 ТБ OneDrive с моим SSD ноутбука, а все мои файлы - с внешним HDD. Программы облачного хранения (dropbox, gdrive, onedrive, resilio, syncthing ...), похоже, не любят две синхронизированные папки с одинаковым содержимым на одном устройстве, поэтому либо одна из них должна обмануть их с помощью виртуальной машины, либо искать другую решение.
Я немного больше подумал об окончательном решении для хранения данных (по крайней мере, в моем случае), и оно стало немного сложнее, но в настоящее время это довольно нормальная установка для многих людей:
- ноутбуки с маленькими дисками
- смартфоны и планшеты
- внешние жесткие диски
- (NAS),
- (облачное хранилище)
- SD-карта (например, с камеры)
Агрегация (виртуальный диск всех доступных данных)
На каждом устройстве хранения я хочу иметь виртуальный домашний диск, на котором агрегируются все мои файлы со всех устройств. Текущие, активные документы, фотографии, видео обычно доступны синхронизированными на всех устройствах для организации, редактирования, удаления и т.д. Старые файлы, большие видеофайлы, резервные копии могут находиться только в одном или двух местах с достаточным пространством для хранения (NAS, exHDD), но все еще отображаются на моем домашнем диске и легко доступны, если подключение достаточно. Такой уровень абстракции, который объединяет данные из нескольких мест в одно, возможно, может быть реализован с помощью символических ссылок (mklink), но я предполагаю, что для этого потребуются некоторые административные издержки.
Синхронизация (децентрализованная, выборочная)
Далее, необходимо синхронизировать различные источники данных (таблица файлов всегда, файлы / папки выборочно), как только два устройства смогут обмениваться данными (SSD <-USB-> exHDD // смартфон <-WiFi-> NAS // exHDD <-USB & Интернет-> облако). Я думаю, что это может быть достигнуто с помощью синхронизации, или, возможно, даже начать с git (для дополнительного контроля версий). Другим вариантом будет nextcloud или seafile, но оба они являются централизованными подходами, которых я хотел бы избежать. Я мог бы представить, что блокчейн-хранилища, такие как Sia или Storj, также являются хорошими соперниками, но хотелось бы услышать, что скажет сообщество. Resilio Sync идеально подходит для децентрализованной части синхронизации, но, поскольку она является закрытым исходным кодом, я думаю, что будет сложно объединить ее с частью агрегации.
TL; DR
- объединить все доступное хранилище (SSD, exHDD, NAS, облако, смартфон, ...) в одну виртуальную папку (symlink, mklink)
- синхронизировать децентрализованный между местоположениями (синхронизация, мерзавец)
- другими словами, я хочу сетевую папку с автономными файлами Windows и возможностями медленного соединения, но в децентрализованной сетевой инфраструктуре
Что такое статус-кво? Я наблюдал за жизнеспособными решениями? Я спрашиваю о невозможном?