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

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

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

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

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

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

4
задан 20 July 2016 в 00:44
2 ответа

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

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

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

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

5
ответ дан 3 December 2019 в 02:49

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

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

3
ответ дан 3 December 2019 в 02:49

Теги

Похожие вопросы