Назад | Перейти на главную страницу

Эффективная репликация хранилища

Я хочу реплицировать в районе 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 может стать отличным инструментом для экспериментов.

https://ipfs.io/

Использование частного кластера IPFS может дать вам отличные результаты в зависимости от ваших потребностей в репликации файлов.

https://cluster.ipfs.io/

Однако имейте в виду, что это довольно новый материал, но он очень быстро созревает.