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

Rsync занимает более 8 часов для резервного копирования более 15 миллионов файлов

У меня есть ~ 700 ГБ хранилища, где я храню ~ 15 миллионов файлов, поэтому средний размер файла составляет ~ 50 КБ. Чтобы подкрепить это, за ночь я запускаю простой rsync скрипт со следующим набором флагов:

--archive --update --compress --numeric-ids --human-readable --stats

На это уходит 8+ часов rsync для выполнения своей работы в среднем ежедневно перемещается около 1–4 ГБ данных. Мне это кажется невероятно неэффективным.

Могу я настроить свой rsync скрипт любой как? Я полагаю, что лучше всего перенести данные на MongoDB или что-то подобное, но с этим есть проблема, потому что текущая инфраструктура полагается на файлы, к которым осуществляется доступ, как на posix файловая система, перенос их во что-то совершенно другое может потребовать дополнительной работы, потенциально слишком много работы ... Какая еще может быть лучшая стратегия?

Столько времени требуется rsync, чтобы проанализировать такое количество файлов, даже если передача выполняется эффективно. Он должен выполнять более 15 миллионов операций ввода-вывода плюс-минус кэширование. Вы можете использовать очень быстрое хранилище, но это может быть дорогостоящим.

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

Эти концепции также применимы к lvm, хотя для этого может потребоваться больше сценариев, поскольку удаленные снимки не встроены. См. Что-то вроде lvmsync для идей.