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

Квота диска и индексного дескриптора превышена; не могу ничего удалить

(Я использую файловую систему UFS на сервере Solaris. У меня есть права суперпользователя на машине, но не на машине, содержащей рассматриваемый диск.)

Я получаю сообщение об ошибке «Превышена квота диска», когда пытаюсь что-либо сделать (записать в файл, удалить файл и т. Д.). Система плохо управляется, и многие старые файлы резервных копий просто болтаются; Я могу их очистить, но у меня проблемы даже с созданием некоторой передышки.

И мое дисковое пространство, и счетчик inode заполнены:

#> df -hk
Filesystem          1K-blocks     Used Available Use% Mounted on
server.com:/storage  52231997 52231997         0 100% /opt/files

#> df -i
Filesystem             INodes    IUsed   IFree IUse% Mounted on
server.com:/storage    169224   169224       0  100% /opt/files

Все найденные мною решения включают в себя написание /dev/null или "" в файл, чтобы обнулить его размер, а затем удалить файл. Однако ни одно из этих решений не работает:

#> ls -l September22014.tgz
-rw-r--r-- 1 userA groupA 283443184 Sep  2  2014 September22014.tgz

#> cp /dev/null September22014.tgz
cp: cannot create regular file `September22014.tgz': Disc quota exceeded

#> echo "" > September22014.tgz
bash: September22014.tgz: Disc quota exceeded

#> > September22014.tgz
bash: September22014.tgz: Disc quota exceeded

Во-первых, вы не отметили используемую версию Solaris или то, что такое сервер / устройство NFS (если известно).

Вместо того, чтобы пытаться обнулить файл, вы бы захотели его удалить.

Для справки в будущем: с UFS у вас могут закончиться inodes, несмотря на то, что осталось «свободное» место. Единственный способ решить эту проблему - это переопределить newfs с опциями для большего количества inodes или использовать FS без этого ограничения. то есть: ZFS в новых версиях Solaris.