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

XFS: на устройстве не осталось места (но у меня доступно 850 ГБ!)

Я использую комбинацию mdadm, lvm2 и XFS на Amazon EC2.

Пока что мне удалось запустить том RAID 5, состоящий из нескольких томов EBS. Тома EBS подключены и используются с mdadm для создания RAID 5. Затем я использую LVM, чтобы представить получившийся RAID как один физический том и один логический том.

В прошлом мне удавалось расширить файловую систему, добавив новый том EBS, подключив его, а затем запустив следующий процесс.


mdadm --add /dev/md0 /dev/xvdi

# grow the raid... (could take a while for a large disk!)
mdadm --grow /dev/md0 --raid-devices=4

# grow the LVM physical volume
pvresize /dev/md0

# grow the LVM logical volume ... fairly certain
# -l100%PVS will make the extents use as much space
# as possible on physical disks (and hopefully won't overwrite anything)
lvresize -l100%PVS /dev/data_vg/data_lv

# resize the file system, too!
xfs_growfs /dev/data_vg/data_lv

# yay!
df -h

Моя последняя попытка сделать это якобы сработала отлично. Запуск df -ih / fh показывает, что у меня есть смонтированная файловая система с дополнительным доступным терабайтом, как и ожидалось. Кроме того, общее количество используемых inodes составляет ТОЛЬКО 1%. Кроме того, pvdisplay и lvdisplay также показывают правильные размеры тома.

Я даже смог добавить некоторые данные (около 150 ГБ) в том после его увеличения. Однако сегодня я пытаюсь создать каталог и получить

mkdir: no space left on device

Почему я должен столкнуться с этой проблемой, если у меня якобы есть много доступных inode?

Я отключил диск и запустил xfs_check, но он не сообщает о каких-либо проблемах.

Спасибо!

Мне удалось решить проблему следующим образом:

umount [the mountpoint]
mount /dev/data_vg/data_lv -o inode64 [the mountpoint]

По-видимому, по умолчанию (32-битные inodes?) Xfs будет хранить все inodes в первой части диска размером 1 ТБ. Это означает, что если первый 1 ТБ заполнен, вы столкнетесь с ошибками отсутствия места на диске, даже если окажется, что у вас много свободного места / inodes. Добавив опцию inode64, узлы можно хранить где угодно на диске, если я правильно понимаю.

Источник: FAQ по XFS.