• «No space left on device» и inodes

    Честно говоря, я тоже не знаю. Это был всего лишь термин, который мы начали использовать. Из-за немного необычной структуры файловой системы, при которой информация о доступе к файлам хранится в виде плоского (двумерного) массива на диске, отдельно от всей информации об иерархии каталогов, лучшее, что я могу предположить (для «и») - это «индекс». Таким образом, и-номер являлся индексом в этом массиве, и-нод - выбираемым элементом массива. (Приставка «и-» использовалась в первой версии руководства; со временем дефис перестали употреблять).

    Деннис Ритчи

    Я был очень удивлен, когда получил ошибку следующего содержания при попытке открытия сессии:

    PHP Warning:  Unknown: open(/tmp/sess_e34ad6u6f51gum3htmqkd7ldn6, O_RDWR) failed: No space left on device (28)

    Ведь при этом df -h показывал такую картину, что свободного пространства много:

    df -h
    
    Filesystem          1K-blocks     Used Available Use% Mounted on
    /dev/sda2            19091584  3784332  14314332  21% /
    udev                  8192628        8   8192620   1% /dev
    tmpfs                 3280992      284   3280708   1% /run
    none                     5120        4      5116   1% /run/lock
    none                  8202472       92   8202380   1% /run/shm
    /dev/mapper/vg0-var  47926152 24100456  21368096  54% /var

    Оказалось, кончились файловые дескрипторы (inode), но в сообщении об ошибке этого не указывается. Проверить количество файловых дескрипторов в системе можно такой командой:

    df -i

    Имеет смысл отслеживать эту метрику, как и занятое на диске пространство.