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

Невозможно отследить файл / каталог большого размера в / root

Операционные системы: RHEL 6.9

Проблема
Моя файловая система /dev/mapper/vg_rayruhsso-lv_root который установлен на / не имеет доступного размера.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_rayruhsso-lv_root
                      148G  145G     0 100% /
tmpfs                  20G     0   20G   0% /dev/shm
/dev/sda1             477M   41M  411M   9% /boot
/dev/mapper/vg_rayruhsso-lv_home
                      270G   54G  202G  22% /home

Что я хочу решить
Выяснение того, что занимало все пространство (я не хочу увеличивать его размер, поскольку на прошлой неделе он был увеличен с 52 до 148 ГБ). Проблема в том, что при отслеживании я обнаружил, что / корень занимает много места (128 ГБ).

# du -sh *
984K
9.3M    bin
39M     boot
4.0K    CdbsMutex
4.0K    cgroup
180K    dev
41M     etc
54G     home
215M    lib
28M     lib64
16K     lost+found
4.0K    media
0       misc
4.0K    mnt
0       net
70M     opt
du: cannot access `proc/4754/task/4754/fd/4': No such file or directory
du: cannot access `proc/4754/task/4754/fdinfo/4': No such file or directory
du: cannot access `proc/4754/fd/4': No such file or directory
du: cannot access `proc/4754/fdinfo/4': No such file or directory
0       proc
128G    root
17M     sbin
0       selinux
4.0K    srv
0       sys
5.5M    tmp
12G     u01
3.2G    usr
2.0G    var

Я проверил его подкаталоги и обнаружил, что самый большой файл / каталог в нем составляет 330M, хотя du -sh отображает 128G.

#du -sh /root/*
4.0K    /root/anaconda-ks.cfg
4.0K    /root/Desktop
4.0K    /root/Documents
4.0K    /root/Downloads
64K     /root/install.log
12K     /root/install.log.syslog
4.0K    /root/Music
4.0K    /root/Pictures
4.0K    /root/Public
4.0K    /root/Templates
330M    /root/veritas
4.0K    /root/Videos

# cd /root/
# du -sh
128G    

В чем дело? Как узнать, какой файл занимает все это пространство?

Я попытался найти открытые файлы, но ничего не вернул:

lsof | grep deleted

Любая идея?

Редактировать:

# du -h --max-depth=1 /root | sort -h
4.0K    /root/Desktop
4.0K    /root/Documents
4.0K    /root/Downloads
4.0K    /root/.gvfs
4.0K    /root/Music
4.0K    /root/.nautilus
4.0K    /root/Pictures
4.0K    /root/Public
4.0K    /root/Templates
4.0K    /root/Videos
8.0K    /root/.abrt
8.0K    /root/.ssh
12K     /root/.dbus
16K     /root/.gnote
16K     /root/.gnupg
16K     /root/.thumbnails
20K     /root/.cache
28K     /root/.gnome2
64K     /root/.config
144K    /root/.pulse
276K    /root/.gconf
364K    /root/.local
396K    /root/.kde
330M    /root/veritas
128G    /root

После небольшого разговора и личного обсуждения ...

Использовать du -h --max-depth=1 /root | sort -h для поиска вещей, занимающих много места.

В настоящий момент вы пропускаете точечные файлы и точечные каталоги из-за расширения глобуса du -sh /root/*.

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

ls -alhSr /root

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

Возможно ли, что вы выполнили команду удаления, но она никогда не завершилась, потому что файлы, которые вы пытались удалить, использовались каким-то приложением?

Попробуйте запустить:

/usr/bin/lsof | grep deleted

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

Если такие файлы существуют, завершите их процесс и снова проверьте емкость.

Пояснение:

В системах Linux или Unix удаление файла через rm или через приложение файлового менеджера приведет к отключению файла от структуры каталогов файловой системы; однако, если файл все еще открыт (используется запущенным процессом), он по-прежнему будет доступен для этого процесса и продолжит занимать место на диске. Следовательно, может потребоваться перезапуск таких процессов до того, как пространство этого файла будет очищено в файловой системе.

Более подробную информацию по этому вопросу можно найти Вот.