Как стать автором
Обновить

Комментарии 11

NAS

… некоторые события с известной компанией на букву «W» и потерянными данными, только подтвердили мою паранойю.


Есть NAS, которые умеют «не торчать в Интернет».

версионирование и контроль количества копий здесь недоступны (поправьте, если ошибаюсь).


На системах с поддержкой BTRFS / ZFS можно делать snapshots.

У меня — Synology.
RAID, BTRFS.
Раз в пару месяцев я вручную делаю backup на внешний диск.
Автоматически делаются снэпшоты. Я могу откатиться к файлам на любую дату в течении прошедшего года.

С Git Annex выглядит интересно, но как по мне, — чересчур замудрённо…

Есть NAS, которые умеют «не торчать в Интернет».

Судя по этой статье, не торчащий в Интернет NAS не помог, возможно, проблема была в обновлении.

Из статьи:

*WD уверяет что это все хакерская атака. Но выглядит сомнительно. У многих людей NAS за фаерволом, отключен от внешних серверов WD, и т.д.

Что касается версий, снэпшоты позволяют версионировать все данные, но не отдельные файлы, если верно понимаю. Хотя сама фича интересная, конечно.

С Git Annex выглядит интересно, но как по мне, — чересчур замудрённо…

Мне показалось релевантно имеющемуся опыту работы с git. Но тут уж на вкус и цвет.

не торчащий в Интернет NAS не помог, возможно, проблема была в обновлении.

Так а обновление он откуда взял, если не из интернета??

rsync, NAS, git ... А где-же Syncthing? Все задачи решает: p2p, разделение по папкам с отдельной синхронизацией, шифрование, версионирование (разного типа), при этом элементарно простая настройка, работает на множестве платформ/ОС, мобильный клиент и т.п. Это специальный инструмент для организации распределенного хранения. Просто работает в фоне годами, сам себя обновляет.

Использовние git выглядит как забивание гвоздей ручкой шуруповерта: тоже можно, но сильно неоптимально и можно сломать:)

Syncthing — очень крутая штука, но как-то прошла мимо меня. Пока полгода на git-annex полёт нормальный, но Syncthing изучу, выглядит очень интересно!

UPD: Изучил инфо. Предварительно, Syncthing хорош для общих случаев, однако в моём кейсе есть пара узких моментов:

  1. Управлять структурой каталогов, переименовывать и удалять файлы не скачивая нельзя. Если я верно понял, в моём кейсе это стоп-фактор.

  2. Обновления фиксируются по сигналам inotify в linux, что может приводить к конфликтам, особенно если файлов много, меняются они часто и с разных клиентов.

  3. Выйти за корпоративный NAT, без настройки файервола, роутера, открытия нужных портов, не выйдет. Опереться на корпоративный ftp сервер — тоже, Syncthing так не умеет.

  4. Использование на съёмных носителях не предусмотрено. Есть обходной путь: запускать портабельную версию с этого носителя.

  5. Гугл-диск не предусмотрен, как вариант — через папку, которую синкает клиент самого гугл-диска.

  6. Большое число файлов серьёзно влияет на производительность.

  7. Разрешение конфликтов по удобству далеко от механизмов git.

В общем, git-annex кажется более гибким для моих задач. Если где ошибся, буду благодарен за комментарий. Если ок, обновлю статью, спасибо за наводку!

Да, если нужно управлять файлами "на сервере" (условно, на удаленных системах) не скачивая локально, syncthing не подойдет. Он работает примерно как старый оригинальный дропбокс или bt sync: просто синхронизируем локальную папку. Т.е. никаких офф-лайновых съемных хранилищ и т.п. С NAT проблем быть не должно, обычно открывать порты не нужно (если только корпоративный firewall реально суров). Обычного UPnP хватает: насколько я знаю, достаточно чтобы одна сторона соединения поддерживала UPnP. В сложных случаях наверное можно relay-ить или тунеллировать через ssh/socks5. По умолчанию syncthing использует публичный трекер. Обновления файлов конфигурируемы, можно inotify (где поддерживается) или по таймингу, это не должно быть проблемой. Большое число файлов... ну это скорее всего зависит от числа. На более-менее современной системе не должно быть проблемой. Могут быть тормоза в мобильном клиенте наверное и в NAS-е со слабым процессором (у меня было такое, на слабом armv5tel сильно выжирал память но работал, подтормаживали другие процессы). Разрешение конфликтов довольно примитивно: просто файлы с суффиксом -conflict-1234567890. на мой взгляд главное достоинство syncthing - легко поставить и настроить, после чего он работает сам не требуя внимания. Но скорее всего в сложных кейсах придется городить что-то нетривиальное.

svn: плюс svn: легко получить доступ к файлам через WebDAV без необходимости использовать svn клиент. Иногда может быть удобно. Ну и интерфейс команд очень прост, не в пример git-у.

У меня со всеми описанными задачами на 100% справляется Syncthing. Если что-то надо удаленно именно в файлах поменять (редко такое нужно) - использую ssh. Ну и консоль syncthing на домашних нодах открываю не из дома по ssh туннель.

Было бы неплохо нарисовать схему перелива информации с устройства на устройство и описать ее. Этакое ТЗ.

Идея интересная, думаю будет логично добавить такую схему в дополнительную статью. Если дойдут руки, хочу описать настройку wanted content для каждого репозитория.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории