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

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

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

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

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

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

2 ответа

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

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

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

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

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

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

Другие вопросы по тегам