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

df сообщает о неправильном свободном пространстве для файловой системы (ext4)

У меня проблема с неправильным пространством fs, о котором сообщает df.

Речь идет о сервере Ubuntu 14.04 без операционной системы, с / раздел, управляемый LVM.

Размер сообщил df отличается от размера, сообщаемого суперблоком fs. Также рассчитываем размер от du -skh (в каталогах, относящихся к / перегородка) доказывает, что df показывает неверные результаты.

Об этом сообщает df:

Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/rootvg-lv_root   20G   16G  2.8G  86% /

Вот что сообщает суперблок (3616906*4096/1024**2=14128 MB free):

Last mounted on:          /
Filesystem magic number:  0xEF53
Filesystem state:         clean
Filesystem OS type:       Linux
Inode count:              1290240
Block count:              5242880 << exactly 20 GB
Reserved block count:     227170
Free blocks:              3616906 << around 14 GB free
Free inodes:              1201391
First block:              0
Block size:               4096
Fragment size:            4096

Я сделал strace для df и обнаружил, что он использует statfs syscall для получения информации о конкретной фс (962132*4096/1024**2=3758 MB free):

statfs("/", {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=5129119, f_bfree=**962132**, f_bavail=730866, f_files=1290240, f_ffree=1091851, f_fsid={-456623966, 1549023591}, f_namelen=255, f_frsize=4096}) = 0

Наверное проблема с statfs или со способом получения информации fs.

Чтобы решить эту проблему, я попытался перемонтировать / раздел (mount / -orw,remount), но это не помогло.

Мой вопрос - как исправить df информацию без перезагрузки или нарушения нормальной работы этого сервера?

P.S.

ради парней, которые столкнулись с той же проблемой:

Я решил это, выпустив unmount /dev/mapper/rootvg-lv_root. это дало мне ошибку, но после df сообщил правильно.

выглядит как umount обновил некоторые внутренние структуры.

надеюсь, это кому-то поможет.