Спасибо всем за отличные ответы и предложения. Я пишу, чтобы ответить на мою конкретную проблему. Просто на случай, если это кому-то поможет (что вполне может не учитывать обстоятельства)
NAS, с которого я получал информацию о своей файловой системе, имеет - если я не ошибаюсь - определенный уровень виртуализации разделов. (HP X9000). Следовательно, df
должен возвращать точную «оценку», если все идет хорошо.
Однако из-за ошибки с NAS, которая с тех пор была исправлена, размер виртуального раздела не обновлялся, и поэтому df
возвращал недопустимое (устаревшее) значение. Показано 270Go вместо действительного правильного значения 320Go (я ошибся в своих комментариях)
Все вышеперечисленные проблемы возникли из-за этого. С тех пор это также происходило иногда, когда NAS работал в деградированном режиме (по какой-либо причине)
Еще раз спасибо, ребята.
du
подсчитывает блоки, используемые файлами с жесткой связью, один раз, а не один раз для каждой жесткой ссылки. Однако есть несколько причин, по которым это дедупликация может не сработать:
Таблица, которую du использует для удаления дублированных файлов с жесткими ссылками, имеет фиксированный размер. Если у вас больше файлов с жесткой связью, чем может хранить таблица, дедупликация может быть неудачной. (Некоторые версии du
имеют таблицу динамического размера и не имеют этой проблемы.)
Дедупликация основана на значениях inode. Если сервер NAS показывает разные номера inode для файлов с жесткой связью, то дедупликация невозможна. Некоторые серверы NAS отлично справляются с представлением inodes, потому что они используют файловую систему с inodes. Другим приходится «подделывать» и плохо работать.
Кстати ...
du
считает только данные файла.
df
подсчитывает количество блоков, используемых для данных файла, плюс все метаданные: каталоги, суперблок, таблица inode, прямые / косвенные / двусторонние блоки и т. Д.
Следовательно, df
должен возвращает меньший «используемый» размер, чем du
. Если происходит обратное, я предполагаю, что дедупликация нарушена или сервер NAS сделал что-то, что заставляет df
отображать недопустимую информацию.