linux – XFS:设备上没有空间,(但我有850GB可用!)

前端之家收集整理的这篇文章主要介绍了linux – XFS:设备上没有空间,(但我有850GB可用!)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Amazon EC2上使用mdadm,lvm2和XFS的组合.

到目前为止,我已经成功运行了从许多EBS卷构建的RAID 5卷. 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表明我有一个已安装的文件系统,可以使用额外的TB,正如预期的那样.此外,使用的inode总数仅为1%.此外,pvdisplay和lvdisplay还显示正确的卷大小.

自从增长以来,我甚至能够为该卷添加一些数据(大约150GB).但是,今天我尝试创建一个目录并获取

mkdir: no space left on device

如果我据称有大量的inode可用,为什么我会遇到这个问题?

我已卸载磁盘并运行xfs_check,但这不会报告任何问题.

谢谢!

解决方法

我能够通过以下方式解决问题:
umount [the mountpoint]
mount /dev/data_vg/data_lv -o inode64 [the mountpoint]

显然,默认(32位inode?)xfs将存储磁盘的第一个1TB部分中的所有inode.这意味着如果第一个1TB已满,那么即使看起来你有足够的空间/ inode可用,你也不会在磁盘错误上遇到空间.通过添加inode64选项,如果我理解正确,节点可以存储在磁盘上的任何位置.

资料来源:the XFS FAQ.

猜你在找的Linux相关文章