Есть в определении Ext4 два замечательных момента:
Ext4 — журналируемая файловая система, предлагаемая для использования по умолчанию во многих дистрибутивах Linux.
Количество индексных дескрипторов (i-node) задается только при создании ФС и в дальнейшем может быть только уменьшено.
При создании ФС приблизительно 1,8% объёма диска занимается служебными структурами ФС, в дальнейшем размер этих данных увеличиваться будет только на размер каталогов файлов.
Кроме того еще 5% (по умолчанию) резервируется для root.
Если «количество индексных дескрипторов» явно занимает определенный процент места в зависимости от объема раздела при создании, кстати объем надо учитывать на очень больших разделах, с 10Tb потери могут быть до 300Gb, то «5% под root» могут преподнести сюрприз в процессе эксплуатации.
Например так:
# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup-lv_root 10508540 7722600 2245476 78% / tmpfs 1962156 0 1962156 0% /dev/shm /dev/sda1 487652 143058 318994 31% /boot /dev/sdb1 335439716 328048232 0 100% /mnt/repo |
Утилита df неверно отображает свободное место «Use% = 100%». Фактически на «/dev/sdb1» место есть, но мониторинг и «df» упорно утверждают об обратном.
Решение достаточно простое: при помощи утилиты tune2fs изменить заранее предустановленное значение.
Параметр Reserved block count * block size = резервируемому месту, в моем случае в резерве около 4G.
# tune2fs -l /dev/sdb1 | grep cou Inode count: 21299200 Block count: 85196703 Reserved block count: 4259473 Mount count: 1 Maximum mount count: 26 # tune2fs -l /dev/sda1 | grep -i "block size" Block size: 1024 |
Количество резервируемых блоков можно задать «на лету»: в процентах (ключ -m) или в блоках (ключ -r)
# tune2fs -r 0 /dev/sdb1 tune2fs 1.41.12 (17-May-2010) Setting reserved blocks count to 0 |
В результате получаем назад наше место.
# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup-lv_root 10508540 7722684 2245392 78% / tmpfs 1962156 0 1962156 0% /dev/shm /dev/sda1 487652 143058 318994 31% /boot /dev/sdb1 335439716 328048232 7391484 98% /mnt/repo |
Данные действия рекомендуются делать на системных дисках с пониманием ситуации и последствий.