Операционные системы: 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 или через приложение файлового менеджера приведет к отключению файла от структуры каталогов файловой системы; однако, если файл все еще открыт (используется запущенным процессом), он по-прежнему будет доступен для этого процесса и продолжит занимать место на диске. Следовательно, может потребоваться перезапуск таких процессов до того, как пространство этого файла будет очищено в файловой системе.
Более подробную информацию по этому вопросу можно найти Вот.