Я хочу реплицировать в районе 10 Тб данных (лоты небольших файлов, низкий уровень оттока) через глобальную сеть с минимальным влиянием на доступную инфраструктуру.
Хотя я мог бы просто использовать rsync, это означает поиск изменений и сравнение локальных и удаленных данных (дисковый ввод-вывод, пропускная способность сети и затраты ЦП), хотя rsync делает это эффективно, мне интересно, есть ли более эффективное решение, которое может отслеживать изменения и распространять их (желательно двунаправленно).
Само хранилище - это iSCSI на устройствах HP NAS. Ранее мы рассматривали возможность использования встроенных возможностей репликации, но обнаружили, что они медленные и ненадежные.
Зеркала DRBD потребуют дополнительного оборудования на обоих концах. Что было бы довольно дорого. В прошлом меня тоже мучили сбои репликации DRBD.
Будет ли glusterfs более эффективным? Было бы действительно глупо использовать установку с двумя узлами? Есть ли лучшее решение?
На уровне блоков синхронизацию можно выполнить с помощью Starwind, который создает зеркальные диски на обоих концах. Он может работать через iSCSI LUN, делая хранилище "активным-активным". Никакого дополнительного оборудования не требуется. https://www.starwindsoftware.com/blog/storage-ha-on-the-cheap-fixing-synology-diskstation-flaky-performance-with-starwind-free-part-3-failover-duration
На уровне файлов lsyncd и rsync выполняют зеркальную синхронизацию файлов между серверами. Эти инструменты могут потребовать настройки файлов конфигурации, чтобы гарантировать, что механизм блокировки файлов работает должным образом, и не произойдет разделение мозга. https://linoxide.com/tools/setup-lsyncd-sync-directories/
Вы могли бы использовать lsyncd
иметь постоянную синхронизацию файлов между системами. lsyncd
устанавливает часы inotify в каталоги, которые синхронизируются. Всякий раз, когда файлы меняются в каталогах, он передает изменения на удаленный сервер, используя rsync
.
Вы могли бы использовать ionice для ограничения нагрузки io и bwlimit аргумент в rsync для ограничения io сети. Есть и другие способы: Rsync огромный набор данных небольших файлов 5 ТБ, + M небольших файлов
Если вы хотите попробовать что-то новое, то IPFS может стать отличным инструментом для экспериментов.
Использование частного кластера IPFS может дать вам отличные результаты в зависимости от ваших потребностей в репликации файлов.
Однако имейте в виду, что это довольно новый материал, но он очень быстро созревает.