8

我在 LVM 上有一个 XFS 分区的服务器设置。将文件复制到主分区时,显示“设备上没有剩余空间”。

df -h 显示足够的空间:

/dev/mapper/prod--vg-home     35G   21G   15G  60% /home

df -i 还显示足够的 inode:

/dev/mapper/prod--vg-home   36700160  379390 36320770    2% /home

我确实验证了更改最大 inode 百分比的影响:

xfs_growfs -m 25 /dev/mapper/prod--vg-home

这个数量可以很容易地减少和增加。

在尝试此设置时,我注意到将其降低到 3% 并再次将其增加到 25%,并删除一些文件,允许我再次添加更多文件。

xfs_info 显示:

meta-data=/dev/mapper/prod--vg-home isize=256    agcount=14, agsize=655360 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=9175040, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

我确实读过 64 位 inode,但它似乎只适用于大型驱动器(超过 1TB)。

是否有任何其他设置可能导致“设备上没有剩余空间”消息。

谢谢

4

2 回答 2

9

xfs_growfs 存在一个错误,导致 inode 无法正确分布在分区中。解决方案是简单地使用 inode64 选项重新安装。例如,如果这是 /dev/vda1,您将执行以下操作:

mount -o remount,inode64 /dev/vda1

您可以在以下链接中找到有关该错误的更多信息:

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

于 2014-10-20T21:48:43.703 回答
1

您还应该检查可能的“已删除”文件并重新启动一些进程: lsof -nP +L1

于 2017-05-29T14:22:44.477 回答