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

Файловые системы нового поколения: журнал использования дискового пространства?

Время от времени я сталкиваюсь с проблемами, когда жесткие диски сервера (Linux) быстро заполняются множеством небольших файлов. Когда это происходит, я должен попытаться выяснить, сколько места занимает и где находятся файлы, которые занимают это место. Это может быть на удивление неприятной задачей, потому что:

  1. Выполнение простых действий, таких как запуск ls в каталоге с большим количеством файлов, может занять много времени.
  2. df быстрый, но неточный и неточный
  3. du точен и может сказать вам, куда идет все ваше пространство, но для запуска требуется вечность

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

Кажется, что это невозможно с обычными файловыми системами (если нет, я бы хотел услышать об этом)

Мой вопрос в том, есть ли какие-либо из новых файловых систем, доступных в Linux (btrfs, zfs, reiserfs и т. Д.), Супер-умными функциями, которые могут помочь в решении этой проблемы. Например, я могу представить себе какой-то журнал - который постоянно обновляется каждый раз при записи - который содержит запись об объеме пространства, занятого в каждой ветке файловой системы. Тогда задать свой вопрос будет просто вопросом чтения журнала.

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

Спасибо Том

Я все еще использую ncdu с моими файловыми системами ZFS. Сейчас это даже более важно, так как он учитывает разреженные файлы и помогает разобраться в сжатых файловых системах ZFS.

Видеть: Как я могу определить, что занимает так много места?

У меня есть опыт работы с ZFS только из указанного вами списка. С помощью ZFS вы можете создавать иерархические тома, например:

  • танк / категория
  • бак / категория / продукт
  • бак / категория / продукт / а
  • бак / категория / продукт / б

и т.д

С помощью команды «zfs list» вы можете получить используемое, доступное и справочное пространство для каждого тома в течение нескольких секунд. Но это, конечно, работает только тогда, когда вы можете позволить своему приложению правильно разделить его.