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

Синхронизация файлов в реальном времени на нескольких серверах Linux с миллионами файлов и каталогов

Как лучше всего синхронизировать огромные данные работающего производственного сервера?

На нашем сервере хранится более 20 миллионов файлов (небольшие файлы размером 10 КБ и больше размером до 50 МБ) в 1 миллионе каталогов. Размер всех данных составляет около 5 ТБ (постоянно увеличивается).

Можно ли синхронизировать данные с lsyncd и каковы ограничения (особенно для inotify)? Сколько дополнительного места нужно lsyncd? Что с нагрузкой (процессор и память) и временем жизни?

Другое решение - GlusterFS. Можно ли использовать GlusterFS на производстве без простоев или с минимальным временем простоя? GlusterFS хранит много волшебных данных в файлах x-атрибутов, а объем хранилища примерно на 15-20% больше, чем в системах без GlusterFS. Похоже на огромное количество отходов ...? А как насчет нагрузки?

По крайней мере, rsync и cronjobs могут с этим справиться. rsync будет работать только на подчиненном сервере ... Таким образом, на основном сервере не требуется дополнительного места, но rsync должен читать полное дерево каталогов каждый раз, когда запускается cron ...

Я серьезно рекомендую использовать для файловой системы что-то вроде ZFS.

Встроенные инструменты, такие как моментальный снимок ZFS и отправка / получение ZFS, позволяют снимать снимки файловой системы на уровне блоков и отправлять их на второй сервер.

Некоторые сторонние инструменты, такие как саноид / синкоид может настроить автоматическое управление / сокращение и синхронизацию вашей файловой системы с одного хоста на другой.

Это делается на уровне блочного устройства, поэтому вы избегаете процесса проверки контрольной суммы / инвентаризации rsync.

Если вы не можете изменить файловую систему на производственном сервере, я бы поместил файлы на другой сервер и смонтировал их с помощью NFS. Я бы использовал Linux и ZFS, если человеко-часы стоят недорого, возможно, какой-то домашний NAS-дистрибутив или, может быть, даже домашний NAS (оба, вероятно, на основе ZFS), если все дорогой и вы можете найти тот, который обеспечивает резервирование на профессиональном уровне, или NetApp или IBM Spectrum Scale, если деньги не являются проблемой по сравнению с надежностью и поддержкой.

Если у вас есть файлы на реальном полнофункциональном файловом сервере с избыточностью профессионального уровня, вы указываете свой резервный сервер либо непосредственно на основной IP-адрес NFS, если вы настроили аварийное переключение, либо на резервный сервер NFS.