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

XFS: на устройстве не осталось места

Я использую XFS на небольшом жестком диске (/ dev / sdb1, менее 150 ГБ) и храню много небольших файлов (-32 КБ). df -h и -i показывают, что у него есть доступное место.

# df -hv
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             127G   19G  102G  16% /
tmpfs                  16G     0   16G   0% /lib/init/rw
udev                   16G  168K   16G   1% /dev
tmpfs                  16G     0   16G   0% /dev/shm
/dev/sda1              99M   20M   75M  21% /boot
/dev/sdb1             136G  123G   14G  91% /mnt/sdb1
# df -iv
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda3            8421376   36199 8385177    1% /
tmpfs                4126158       5 4126153    1% /lib/init/rw
udev                 4124934     671 4124263    1% /dev
tmpfs                4126158       1 4126157    1% /dev/shm
/dev/sda1              26112     222   25890    1% /boot
/dev/sdb1            24905120 11076608 13828512   45% /mnt/sdb1

Однако у меня не осталось места при ошибке устройства.

# touch /mnt/sdb1/test
touch: cannot touch `/mnt/sdb1/test': No space left on device

Я думаю, что проблема с inode64 не связана с этим случаем, потому что диск меньше 1 ТБ, а df -i показывает, что есть свободные inodes. Я размонтировал и смонтировал с помощью -o inode64, но получил ту же ошибку.

xfs_repair не сообщает о проблемах. xfs_info показывает информацию о диске следующим образом.

# xfs_info /dev/sdb1
meta-data=/dev/sdb1              isize=1024   agcount=16, agsize=2227764 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=35644210, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal               bsize=4096   blocks=17404, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

Любые идеи? Спасибо!

-

Я обнаружил, что это та же проблема, что описана в следующем обсуждении.

[http://comments.gmane.org/gmane.comp.file-systems.xfs.general/41031 impression[1]

На моем жестком диске нет свободного места для inode.

# xfs_db -r "-c freesp -s" /dev/sdb1
   from      to extents  blocks    pct
      1       1 1105980 1105980  32.01
      2       3  528180 1195803  34.61
      4       7  203982 1153467  33.38

Вы уверены, что это проблема с индексным дескриптором? Я замечаю, что занимаемая площадь превышает 90%. Это заставляет меня задаться вопросом, является ли это одним из этих «корневых» зарезервированных пространств (я знаю, что у ext2 / 3/4 это есть), или для работы файловой системы XFS по какой-то причине необходимо 10% свободного пространства.

Вы пробовали запустить fsck чтобы увидеть, освобождает ли он доступные inodes.

Если вы прервете mv или rm тогда он может делать то, что вы описываете.