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中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...