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

ускорение du (можно использовать ncdu) для резервных копий с жесткими ссылками

du -hc --max-depth=1 /home/back/tvppclientarea/ | sort -k2

Чтобы показать размер каталогов резервных копий, которые используют rsync и жесткие ссылки. Команда перечисляет каждый каталог и показывает количество, добавленное к предыдущему каталогу, то есть размер каждой резервной копии.

Для справки команда rsync была

rsync --archive --itemize-changes --human-readable --stats --delete --link-dest=/home/back/tvppclientarea/1586563849_Sat_11Apr2020_0110 root@domain.com:/home/tvppclientarea/. /home/back/tvppclientarea/1586565194_Sat_11Apr2020_0133/.

Подумайте, что это каталог 1,5 ТБ, и он требует много времени, минут. Интересно, есть ли способ ускорить это. Я наткнулся на команду ncdu, которая, как мне кажется, может работать (она выполняет кеширование, поэтому при втором запуске она выполняется быстрее), но не могу найти, как заменить ею мою команду.

Более поздние версии ncdu попытаться подсчитать использование пространства жестких ссылок только один раз, подробности см. на странице руководства. Это отличается от du поведение.

Если вы хотите подсчитывать жесткие ссылки только один раз, не избежать сканирования всего дерева резервных копий. Или, по крайней мере, место назначения и --link-dest одной резервной копии. Необходимо найти ссылки на один и тот же inode.

ncdu -o выходные файлы сохраняют каждый файл одного отчета. Не инкрементный кеш, все, что вы можете сделать, это загрузить все это в пользовательский интерфейс ncdu. Так что запуск все равно займет несколько минут

ncdu -1xo- /home/back/tvppclientarea/ | gzip > ncdu_tvppclientarea_$(date "+%Y-%m-%d").gz

но загрузка этого отчета позже будет намного быстрее.

zcat ncdu_tvppclientarea_$(date "+%Y-%m-%d").gz | ncdu -f-

Мог бы спасти ncdu отчет по каждой отдельной резервной копии, а не по всему дереву. Итак, целевой каталог и --link-dest, где находятся жесткие ссылки. Затем для сравнения размера последних резервных копий нужно найти несколько файлов отчетов и запустить ncdu -f на каждой.


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