У меня есть сервер CentOS 5.2 и запущен df -h
Я получаю это:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
672G -551M 638G 0% /
/dev/hda1 99M 12M 82M 13% /boot
tmpfs 2.0G 0 2.0G 0% /dev/shm
это пространство не использовалось даже на 10%, когда в последний раз показывалось правильное значение. Я не понимаю, что происходит.
Хорошо, поэтому мне пришлось перезагрузить сервер, потому что SSHD завис, я предполагаю, что это было связано с этим.
Некоторая новая информация, после перезагрузки, df -h
показал, что используется 12 ГБ (2%), но если я запустил du -hcs /
он показывает 46 ГБ, здесь большая разница.
Примерно через 15 минут безотказной работы df -h
снова показывает отрицательные значения:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
672G -24G 660G - /
Больше информации, запустил fsck
и это результат:
Checking all file systems.
[/sbin/fsck.ext3 (1) -- /] fsck.ext3 -f -y /dev/VolGroup00/LogVol00
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/VolGroup00/LogVol00: 204158/181633024 files (1.3% non-contiguous), 9224806/181633024 blocks
[/sbin/fsck.ext3 (1) -- /boot] fsck.ext3 -f -y /dev/hda1
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/boot: 34/26104 files (5.9% non-contiguous), 15339/104388 blocks
Я думаю, это может означать, что вы вышли за рамки того, что зарезервировано только как корневое пространство (по умолчанию 5% на ext3, я думаю):
$ sudo tune2fs -l /dev/sda1 | grep -i 'Reserved block count'
Reserved block count: 1877194
Количество зарезервированных блоков - это определенное количество блоков, которое может использовать только пользователь root после того, как диск почти заполнен (это не позволяет обычному пользователю заполнить файловую систему и вызвать поломку). Из man tune2fs
:
-m reserved-blocks-percentage
Установите процент файловой системы, который может быть выделен только привилегированным процессам. Зарезервировано некоторое количество блоков файловой системы для использования привилегированными процессами, чтобы избежать фрагментации файловой системы и позволить системным демонам, таким как syslogd (8), продолжать работать правильно после того, как непривилегированным процессам запрещена запись в файловую систему. Обычно процент зарезервированных блоков по умолчанию составляет 5%.
Так что я думаю, что что-то быстро занимает место как пользователь root. Ты можешь использовать du -hcs /
и развернитесь оттуда, чтобы найти файлы, которые используют пространство. Если вы думаете, что это может быть что-то, создающее большие файлы, вы также можете использовать find
команда.
Я думаю, это повреждение файловой системы. Вы должны размонтировать раздел и запустить fsck.
Также проверьте журналы и консоль на наличие ошибок файловой системы.