【问题标题】:XFS No space left on deviceXFS 设备上没有剩余空间
【发布时间】:2014-11-20 02:02:57
【问题描述】:

我在 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)。

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

谢谢

【问题讨论】:

    标签: linux inode lvm xfs


    【解决方案1】:

    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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我在 Foreman Smartproxy 上经常发生这种情况:[root@smartproxy ~]# lsof -nP +L1 | grep deleted | wc -l 41
      猜你喜欢
      • 1970-01-01
      • 2012-12-29
      • 2012-01-14
      • 2012-05-15
      • 2018-11-22
      • 2015-07-21
      • 2020-12-16
      • 2018-12-27
      • 2015-09-25
      相关资源
      最近更新 更多