Файловая система - Никакое пространство не оставило ошибку, но существует пространство

У меня есть проблема с сервером под управлением Ubuntu 16.04.05. После запущения скрипта Python, кто создал больше чем 65 миллионов файлов, у меня есть сообщение об ошибке, говоря, что я не имею пространства в запасе:

12 zip -r 31.zip 31
zip I/O error: No space left on device
zip error: Could not create output file (31.zip)

Я нашел некоторые подобные проблемы онлайн: Никакое пространство не уехало на устройстве, хотя существует пространство и Никакое пространство, оставленное на устройстве даже при том, что существует, но я думаю, что у меня есть другой. Решения, отправленные в этих двух ответах, не работают на меня.

Следующее является структурой устройства хранения данных:

➜  12 df -k
Filesystem      1K-blocks      Used Available Use% Mounted on
udev             32963768         0  32963768   0% /dev
tmpfs             6597356      9244   6588112   1% /run
/dev/sda1        32895856  26382068   4819736  85% /
tmpfs            32935580        96  32935484   1% /dev/shm
tmpfs                5120         0      5120   0% /run/lock
tmpfs            32935580         0  32935580   0% /sys/fs/cgroup
/dev/sdb       1031992064 664288464 322578204  68% /media/hdd1
tmpfs             6587116        20   6587096   1% /run/user/118
tmpfs             6587116         0   6587116   0% /run/user/1001

Я работаю и пытаюсь архивировать папку в /media/hdd1 который должен иметь много в запасе пространства. Размер папки, которую я пытаюсь архивировать:

➜  12 du -sh 31
49M     31

Править:

➜  12 df -i
Filesystem       Inodes    IUsed   IFree IUse% Mounted on
udev            8240942      478 8240464    1% /dev
tmpfs           8246695      617 8246078    1% /run
/dev/sda1       2097152   500872 1596280   24% /
tmpfs           8233895        5 8233890    1% /dev/shm
tmpfs           8233895        6 8233889    1% /run/lock
tmpfs           8233895       16 8233879    1% /sys/fs/cgroup
/dev/sdb       65536000 65536000       0  100% /media/hdd1
tmpfs           8246695       15 8246680    1% /run/user/118
tmpfs           8246695        4 8246691    1% /run/user/1001
1
задан 13 February 2019 в 02:30

2 ответа

Как ByteCommander объяснил, у Вас есть проблема с inodes.

Другой способ заняться этой проблемой состоит в том, чтобы искать миллионы небольших файлов, которые используют inodes.

sudo du -a -x -d 1 --inodes /media/hdd1 | sort -nr | head -20

покажет Вам каталоги, использующие большую часть inodes на/media/hdd1 - можно затем путешествовать вниз через каталоги, пока Вы не находите тот заполненным набором файлов.

0
ответ дан 3 December 2019 в 07:21

"После запущения скрипта Python, кто создал больше чем 65 миллионов файлов" вот, Ваша проблема.

ext4 использование Ubuntu файловой системы имеет только ограниченное количество так называемого "inodes", который определяется, когда Вы форматируете раздел. Вам нужен по крайней мере один inode на файл или каталог в файловой системе.

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

Необходимо будет избавиться от тех тонн крошечных файлов и например, поместить их на другой диск, в zip-файле, или удалить их в целом.

К сожалению, количество inodes не может быть изменено динамично, насколько я знаю. При реальной необходимости в больше на текущем разделе необходимо будет, вероятно, создать резервную копию данных и переформатировать все.

Похожие страницы:

3
ответ дан 3 December 2019 в 07:21

Другие вопросы по тегам:

Похожие вопросы: