Медленное резервное копирование Borg, чрезмерное время выполнения (не ЦП)

Вопрос или проблема

Я в недоумении, почему резервное копирование Borg требует так много реального времени. Я думал, что это может быть связано с тем, что исходные файлы хранятся в файловой системе btrfs, но создание tar-архива тех же данных не добавляет дополнительных шести часов времени.

/mnt/btrfs/2025-11-05 содержит около 400 Гб, около 300 тыс. файлов. Архив borg предыдущего снимка /mnt/btrfs/2025-11-01 уже был создан, и обновленные файлы составляют около 100 Мб, которые Borg дедуплицирует. Но почему это так медленно? (в терминах реального времени, а не времени ЦП)

time tar cf /dev/null /mnt/btrfs/2025-11-05/

заявляет real: 6m27, user: 14s, sys: 2m15

time borg create /mnt/borg/test/2025-11-05 /mnt/btrfs/2025-11-05/

заявляет real: 8h30, user: 2h30. Я могу понять 2h30, потраченные на дедупликацию, контрольную сумму и расшифровку, но почему еще шесть часов реального времени?

Есть какие-либо предложения, кроме как избавиться от жестких дисков в пользу SSD? (btrfs имеет метаданные на SSD, но данные на жестком диске. /mnt/borg – это жесткий диск, отформатированный в ext4.)

Ответ или решение

Причины медленной работы резервного копирования Borg с повышенным временем ожидания

Ваша проблема с медленным резервным копированием при использовании Borg может быть обусловлена несколькими факторами, которые следует рассмотреть более детально. Основной фокус вашего вопроса касается значительно большего времени "реального" выполнения по сравнению с использованием tar, но важно обозначить, что разница в производительности может корениться как в файловой системе, так и в особенностях работы самого Borg.

1. Файловая система Btrfs и ее влияние

Btrfs – это продвинутая файловая система, предоставляющая такие функции, как дедупликация и снэпшоты. Однако стоит отметить, что Btrfs может демонстрировать более медленную скорость доступа при обработке большого количества мелких файлов, особенно при выполнении операций чтения. В вашем случае наличие 300,000 файлов может являться ограничивающим фактором.

Например, операции метаданных в Btrfs могут занять больше времени, чем в других файловых системах, таких как ext4, особенно при высокой нагрузке на файловую систему. При создании архива с помощью tar, система не выполняет сложных проверок, а просто сканирует пространство. Borg же, в процессе дедупликации и проверки данных, может выполнять множество обращений к метаданным, что увеличивает общее время.

2. Процессы дедупликации и проверки

Эти процессы Borg выполняет параллельно с созданием архива, но стоит учитывать, что дедупликация, особенно при большом количестве мелких файлов, может затруднить работу. Если Borg не находит множество дубликатов среди обновленных файлов, его алгоритмы будут работать дольше, чем необходимо. Также, когда речь идет о резервировании, Borg может создавать внутренние структуры данных для управления версиями, что также требует времени.

3. Проблемы с вводом-выводом

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

4. Параметры конфигурации и оптимизации Borg

Обратите внимание на настройки Borg. Вы можете использовать различные параметры командной строки для оптимизации работы, такие как --compression (для уменьшения объема передаваемых данных) и --info (для получения отчетов о процессе резервного копирования). Также убедитесь, что используются правильные настройки для вашего окружения.

Рекомендации по оптимизации

  1. Используйте SSD для данных: Если возможно, перенесите данные на диск SSD или используйте SSD для размещения метаданных.

  2. Анализируйте файловую систему: Если у вас есть возможность, проведите тестирование на другой файловой системе, чтобы увидеть, как меняется производительность.

  3. Создайте архив класса: Попробуйте разбить операции резервного копирования на более мелкие задачи, которые могут быть выполнены параллельно.

  4. Наблюдайте за производительностью: Используйте инструменты мониторинга, чтобы понять, какие операции занимает больше всего времени, и анализируйте выводы.

  5. Чистка нежелательных данных: Избавьтесь от ненужных мелких файлов, которые могут замедлять процесс.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...