Я работаю с кластером серверов Linux, который работает за облачной функцией автоматического масштабирования Amazon ( документация ). Есть файлы, которые накапливаются на каждом сервере, они являются файлами кэша для приложения. Я ищу автоматический способ синхронизации серверов между этими папками.
Rsync
будет работать, если у кого-то есть умный способ сделать обнаружение сверстников.- То же самое и для
Unison
. - Мы также рассмотрели возможность использования SaaS, например Dropbox.
- Gluster кажется излишним, и я не уверен, насколько легко подключить новый компьютер к кластеру.
В идеале, что происходит, когда запускается новый сервер, он обнаруживает своих пиров и начинает синхронизировать папку. С этого момента это новейшая файловая метка выигрывает синхронизацию P2P.
Есть что-нибудь, что делает это?
Ответы:
Вы знаете, как бы странно это ни звучало, но использование rtorrent с включенным DHT в частном диапазоне ec2 может работать
Это даст вам
источник
Rsync upstream обеспечивает поддержку SLP (протокол определения местоположения службы). Он не включен в исходных файлах vanilla rsync, но поддержку SLP можно найти в архиве rsync-patches на домашней странице rsync (slp.diff). Например, пакет SUSE rsync собран с этим патчем; Я не знаю о других дистрибутивах.
Я не уверен, что это то, что вы ищете, и при этом у меня нет опыта работы с SLP.
источник
Может быть, я что-то здесь упускаю, но есть ли какая-то причина, по которой вы не просто настраиваете простой каталог NFS и просто монтируете все машины? Каждый раз, когда приложение записывает новый файл кэша, оно должно просто перезаписывать любые старые.
источник
Я почти уверен, что есть какой-то инструмент управления Amazon, такой как инструменты командной строки , который позволяет вам написать загрузочный скрипт, чтобы узлы обнаруживали друг друга через частные или публичные IP-адреса.
Кстати, rsync и Unison не являются подходящим инструментом, если они должны очень часто распространять изменения в кеше. В этом случае вы должны рассмотреть какую-то действительно распределенную файловую систему.
источник
Может быть, DRBD (распределенное блочное устройство)?
источник