Сервер: Закончилось свободное место на диске
Случаются ситуации, когда место на диске ещё есть, но система выдаёт ошибку "недостаточно свободного места". В этом случае стоит проверить количество свободных айнод (inodes). Айнод - это индексный дескриптор или структура данных для хранения метаинформации о стандартных файлах. На 1 единицу дискового простанства выделяется фиксированное количество inode. При очень большом количестве лёгких файлов может сложиться ситуация, что дисковое пространство ещё останется, а inodes закончатся.
Примеры ошибок:
При попытке создать файл: No Space Left on Device
При sql запросе: Can't create/write to file '/var/tmp/#sql_***_*.MAI' (Errcode: 2)
В логах messages: imjournal: fopen() failed for path: '/var/lib/rsyslog/imjournal state tmp no space left on device try http://www.rsyslog.com/e/2013
# 1. Для начала нужно убедиться, что есть свободное дисковое пространство # https://ru.wikipedia.org/wiki/Du # du - disk usage (считает размер занимаемый текущим каталогом и выводит в удобной для человека форме:) du -sh / # https://ru.wikipedia.org/wiki/Df # disk free - утилита показывает список всех файловых систем по именам устройств, их размер, занятое и свободное пространство и точки монтирования df -h # 2. Если дисковое пространство есть, но ошибки не пропадают, то проверяем утилитой df количество свободных inode df -i / # Если количество свободных inode близко к 0, то в вашей системе будут сбои. # С помощью этой команды можно найти каталог, который использует больше всего inode # Например, это может быть каталог с логами или кэшем (если они вам не нужны и вы уверены в этом, то удалите файлы) for i in /*; do echo $i; find $i |wc -l; done # для углубления уточняем путь, например для /var/www/html/ for i in /var/www/html/*; do echo $i; find $i |wc -l; done # если нет возможности удалить файлы и освободить таким образом inodes, # то вам нужно добавить свободное дисковое пространство. # Вместе с дополнительным дисковым пространством вы получите дополнительную порцию inodes.
Комментарии