Нет места на устройстве после растущей файловой системы

9

Я использую виртуальную машину в Google Compute Cloud. Я увеличил свой диск с 10G до 200G.

Я выполнил точные шаги здесь: https://cloud.google.com/compute/docs/disks#repartitionrootpd

Обобщить:

  • Я запустил fdisk, удалил единственный раздел, создал новый раздел в полном размере, тот же старт / новый конец, тот же идентификатор устройства
  • Я перезагрузил экземпляр
  • Я изменил размер моей файловой системы, используя sudo xfs_growfs /(я использую CentOS 7)

После этого я untarсоздал архив 3.5G в /optподкаталоге, который через несколько минут закончился:

Cannot mkdir: No space left on device

Я могу проверить, что место здесь и кажется (по крайней мере мне), что оно должно быть доступно везде

# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       200G   13G  188G   7% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  8.3M  1.8G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup

Теперь, с этой точной конфигурацией, простая команда cp в каталоге 50Mb также возвращает:

cp: cannot create regular file ‘toto/conf/server.xml’: No space left on device

У меня в tar было много маленьких файлов, поэтому я подумал об ограничении inode, но:

# df -ih
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sda1        200M  100K  200M    1% /
devtmpfs         462K   285  462K    1% /dev
tmpfs            463K     1  463K    1% /dev/shm
tmpfs            463K   309  463K    1% /run
tmpfs            463K    13  463K    1% /sys/fs/cgroup

Как будто мое новое дисковое пространство не доступно. Потому что у меня такое ощущение, что это примерно остановилось на моем прежнем ограничении 10G диска.

Я понятия не имею, что делать сейчас.

Кристоф Фондачи
источник
3
Это звучит как старая проблема inode32. Попробуйте изменить параметры монтирования для использования inode64. xfs.org/index.php/...
austinian

Ответы:

12

Мне удалось заставить это работать через команду:

mount -o remount,inode64 /

По-видимому, это регрессия в ядре CentOS 3.7 до 3.17, а я в 3.10.

Вот соответствующая ссылка: http://xfs.org/index.php/XFS_FAQ#Q:_Why_do_I_receive_No_space_left_on_device_after_xfs_growfs.3F

Кристоф Фондачи
источник
1
Вы также можете принять свой собственный ответ, и это то, что я предлагаю вам (не позволять открывать этот вопрос до вечности).
Петер - Восстановить Монику
1

Измените параметры монтирования для использования inode64.

Эта проблема похожа на проблему из XFS FAQ

http://xfs.org/index.php/XFS_FAQ#Q:_Why_do_I_receive_No_space_left_on_device_after_xfs_growfs.3F

austinian
источник
Ответ на комментарий ранее, потому что я не был уверен, что это был правильный ответ, поскольку inode64 является значением по умолчанию для XFS в ядре, включенном в CentOS 7
австрийский
Я думаю, что это связано с «облаком вычислений Google», так как именно инфраструктура Google соединяет диск с моей виртуальной машиной. Я не использовал ничего другого, кроме значений по умолчанию
Кристоф Фондачи