Децентрализованное, агрегированное, выборочно синхронизированное решение для хранения


0

Первоначально я просто хотел синхронизировать некоторые выбранные файлы моего 1 ТБ OneDrive с моим SSD ноутбука и все мои файлы с моим внешним жестким диском . Программы облачного хранения (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 и возможностями медленного соединения, но в децентрализованной сетевой инфраструктуре

Что такое статус-кво? Я наблюдал за жизнеспособными решениями? Я спрашиваю о невозможном?


Я не думаю, что есть статус-кво. Я думаю, что вы найдете и используете набор или инструменты, которые работают для ваших нужд, и придерживайтесь их. Я использую Resilio Sync, Linux с MDADM, Samba, NFS и синхронизацию папок, и она работает, чтобы обеспечить все, что вы просите. Но ваши настройки и навыки отличаются, поэтому решение для вас может выглядеть иначе. Есть много способов «скинуть» вещи, вы просто должны найти СВОЙ путь.
Деймон

@ Damon спасибо за то, что вы указали мне в правильном направлении. Есть ли у вас какие-либо учебные пособия или другие ресурсы, которые помогут в настройке? У вас есть этот процесс автоматизирован? И у вас есть смешанные папки (P: \ folder1 на SSD (самый быстрый), NAS и облако, P: \ folder2 \ на NAS (самый быстрый) и облако, P: \ folder3 \ на облаке, P: \ folder4 \ на exHDD ( Быстрее) и NAS) Resilio, к сожалению, не может синхронизировать два местоположения на одном устройстве.
aXeL-HH

Единственные проприетарные вещи, которые я использую, - это Resilio & Folder Sync, остальное - ванильные вещи. Синхронизация папок запланирована и автоматизирована, Resilio просто работает как служба и всегда включена. Я не уверен, что вы подразумеваете под Resilio, не может синхронизировать два местоположения; У меня есть это синхронизировать все виды вещей; личные папки, папки приложений с пользовательскими настройками, мобильные папки и т. д. По общему признанию, я запускаю виртуальные машины, поэтому у меня есть два разных экземпляра Resilio, которые можно привязать к бизнесу и дому. Я скоро запусту Resiio в VPS, чтобы обеспечить лучшую загрузку. Я запускаю дешевый старый RAID10 на жестком диске; только SSD для ОС на рабочих станциях.
Деймон

Я бы сказал, нарисуйте свою инфраструктуру на бумаге, включая информацию о том, какие службы будут работать, и просто заполните приложения и службы по мере необходимости. У меня нет ни одного учебника. Просто гуглите каждый отдельный кусок. Все, что я использую, является «бесплатным», хотя я заплатил за Resilio Sync pro и синхронизацию папок, но это не обязательно. Это заняло у меня годы, но я начал с плана на бумаге и просто обновил его, изучая новые вещи. Просто начните с чего-то и придерживайтесь этого!
Деймон

рег. синхронизация двух локальных папок: Resilio, Dropbox, OneDrive и т. д. не синхронизируется c: \ folder1 и d: \ folder1 (SSD и exHDD или NAS). Я понимаю, что их протокол неэффективен из-за коммуникационных издержек для безопасной интернет-синхронизации, и синхронизация с Dropbox LAN на самом деле довольно быстрая! Но у меня очень плохое предчувствие, когда я использую разные инструменты, выполняющие практически одну и ту же задачу, особенно. автоматическая синхронизация, которая обычно приводит к хаосу, если не выполняется в очень точном порядке. Я не вижу системы пользователя как сущности, а устройства хранения пользователя, которые должны быть (выборочно) синхронизированы.
aXeL-HH
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.