我有一个全新安装的CentOS 7,主要分区为400GB格式的XFS。 目前使用的GB不足一个。 我试图rsync 65GB的文件,复制开始14GB和26GB之间的失败。 (我已经尝试过多次了。)
我有足够的空间:
# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 400G 919M 400G 1% / devtmpfs 7.3G 0 7.3G 0% /dev tmpfs 7.2G 0 7.2G 0% /dev/shm tmpfs 7.2G 41M 7.2G 1% /run tmpfs 7.2G 0 7.2G 0% /sys/fs/cgroup /dev/xvdb 37G 49M 35G 1% /mnt
我有很多的inode:
# df -ih Filesystem Inodes IUsed IFree IUse% Mounted on /dev/xvda1 400M 24K 400M 1% / devtmpfs 1.9M 289 1.9M 1% /dev tmpfs 1.8M 1 1.8M 1% /dev/shm tmpfs 1.8M 280 1.8M 1% /run tmpfs 1.8M 13 1.8M 1% /sys/fs/cgroup /dev/xvdb 2.4M 11 2.4M 1% /mnt
我不知道这是什么意思,但我已经看到了在其他地方引用它,所以我认为这将有助于诊断:
# xfs_db -r "-c freesp -s" /dev/xvda1 from to extents blocks pct 1 1 82 82 0.00 2 3 14 30 0.00 4 7 12 63 0.00 8 15 13 131 0.00 16 31 17 369 0.00 32 63 9 408 0.00 64 127 8 774 0.00 128 255 9 1702 0.00 256 511 4 1605 0.00 512 1023 6 4267 0.00 1024 2047 1 1664 0.00 2048 4095 2 7446 0.01 8192 16383 2 24221 0.02 32768 65535 1 33389 0.03 131072 262143 1 205592 0.20 262144 524224 200 104345607 99.73 total free extents 381 total free blocks 104627350 average free extent size 274612
我不知道还有什么要检查,或者为什么一直没有通过。 上面引用的部分来自副本之前。 拷贝之后,inode在47K。
预先感谢您提供的任何帮助。
编辑:使用CentOS 7,而不是CentOS 6.7。 另外,内核版本:
# uname -r 3.10.0-123.8.1.el7.x86_64
编辑2:
以下是另一次尝试(22GB / 65GB失败之前完成)的结果:
# touch test touch: cannot touch 'test': No space left on device # df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 400G 22G 379G 6% / devtmpfs 7.3G 0 7.3G 0% /dev tmpfs 7.2G 0 7.2G 0% /dev/shm tmpfs 7.2G 41M 7.2G 1% /run tmpfs 7.2G 0 7.2G 0% /sys/fs/cgroup /dev/xvdb 37G 49M 35G 1% /mnt # df -ih Filesystem Inodes IUsed IFree IUse% Mounted on /dev/xvda1 400M 47K 400M 1% / devtmpfs 1.9M 289 1.9M 1% /dev tmpfs 1.8M 1 1.8M 1% /dev/shm tmpfs 1.8M 280 1.8M 1% /run tmpfs 1.8M 13 1.8M 1% /sys/fs/cgroup /dev/xvdb 2.4M 11 2.4M 1% /mnt # xfs_db -r "-c freesp -s" /dev/xvda1 from to extents blocks pct 1 1 60 60 0.00 64 127 1 81 0.00 128 255 1 186 0.00 512 1023 3 2317 0.00 1024 2047 2 2538 0.00 2048 4095 1 2310 0.00 4096 8191 1 8001 0.01 8192 16383 2 25782 0.03 262144 524224 189 99059740 99.96 total free extents 260 total free blocks 99101015 average free extent size 381158
即使作为根,我无法创build任何新的文件或目录。
编辑3:其他要求的信息:
# xfs_info /dev/xvda1 meta-data=/dev/xvda1 isize=256 agcount=201, agsize=524224 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 data = bsize=4096 blocks=104855999, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=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
鉴于你发布的内容,XFS中只有几个地方会导致这个问题。 这里有两个:
uquota安装选项。 如果你仍然有怀疑, noquota作为一个选项会告诉一切停止quotaing。 inode64 ,这是mount-flag来告诉内核使用64位的inode分配。 如果你没有它,当尝试创build新的文件和目录时,内核可能会抛出ENOSPC (空间不足)。 你的分区不够大,因为这是一件事情,但在这一点上,我们没有简单的事情来检查。 在XFS之外还有一件事要检查。