Я использую RHEL4 с LVM2 на нем. Иногда даже после удаления больших файлов размером более ГБ размер раздела не обновляется при использовании df
команды.
-bash-3.00$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/sys-root 3.9G 1.4G 2.3G 39% /
/dev/cciss/c0d0p1 251M 19M 219M 8% /boot
/dev/mapper/sys-home 250G 125G 113G 53% /home
/dev/mapper/sys-tmp 3.9G 41M 3.7G 2% /tmp
/dev/mapper/sys-var 3.9G 3.6G 98M 98% /var
Но когда я проверяю с помощью du, он показывает правильный размер
-bash-3.00$ sudo du -sh /var/
179M /var/
вы можете видеть, что в выводе df указано, что раздел / var будет использовать 3,6 ГБ, но du показывает, что он занимает всего 179 МБ.
Теперь проблема в том, что ни sync, ни partprobe не обновляют информацию. Но, безусловно, перезагрузка хоста решит проблему. Но так как это рабочий сервер, я не могу перезагрузить его. Можно ли как-нибудь обновить информацию о диске вручную, не перезагружая хост?
rhel
partition
disk-usage
lvm
deleted-files
Каннан Мохан
источник
источник
lsof
узнать. Используется / не хранится в таблице разделов, partprobe (или любой тип перечитанного раздела) не поможет вообще.Ответы:
Когда файл удаляется / удаляется / не связывается, если он все еще остается открытым каким-либо процессом, тогда удаляется только запись каталога для файла, а не данные файла. Когда файл полностью закрыт всеми процессами, данные возвращаются в пул свободного пространства. Это особенность, так как вы можете иметь анонимные файлы таким образом.
Чтобы увидеть, есть ли у вас открытый удаленный файл в файловой системе, выполните одну из следующих команд, где
/mount/point
находится точка монтирования (/var
в вашем случае):Эта статья об открытых, несвязанных файлах должна помочь объяснить это еще немного.
источник
df
не показывал свободного места, пока не перезапустил процессы сервера. Благодарность!