Я использую файловые системы XFS в качестве разделов данных / роста в течение почти 10 лет на различных серверах Linux.
Я заметил странное явление в недавних серверах CentOS / RHEL с версией 6.2+.
Стабильное использование файловой системы стало очень изменчивым после перехода на новую версию ОС от EL6.0 и EL6.1. Системы, изначально установленные с EL6.2 +, демонстрируют то же поведение; показаны дикие колебания в использовании диска на разделах XFS (см. синюю линию на графике ниже).
До и после. Обновление с 6.1 до 6.2 произошло в субботу.
График использования диска в той же системе за последний квартал, показывающий колебания за последнюю неделю
Я начал проверять файловые системы на наличие больших файлов и процессов запуска (файлы журнала, может быть?). Я обнаружил, что мои самые большие файлы сообщают разные значения от du
и ls
. Работа du
с --apparent-size
переключателем и без него иллюстрирует разницу.
# du -skh SOD0005.TXT
29G SOD0005.TXT
# du -skh --apparent-size SOD0005.TXT
21G SOD0005.TXT
Быстрая проверка с использованием утилиты ncdu по всей файловой системе дала:
Total disk usage: 436.8GiB Apparent size: 365.2GiB Items: 863258
Файловая система полна разреженных файлов с почти 70 ГБ потерянного пространства по сравнению с предыдущей версией ОС / ядра!
Я просмотрел Red Hat Bugzilla и изменил журналы, чтобы посмотреть, есть ли какие-либо сообщения о том же поведении или новые объявления, касающиеся XFS.
Нада.
Я перешел с версии ядра 2.6.32-131.17.1.el6 на 2.6.32-220.23.1.el6 во время обновления; без изменений в младшем номере версии.
Я проверил фрагментацию файла с помощью filefrag
инструмента. Некоторые из самых больших файлов в разделе XFS имели тысячи экстентов. Работа в режиме онлайн-дефрагментации xfs_fsr -v
в течение медленного периода активности помогла временно сократить использование диска (см. Среду на первом графике выше). Однако использование возобновилось, как только возобновилась активная работа системы.
Что здесь происходит?