linux – rsync(和scp)失败,XFS设备上没有剩余空间

前端之家收集整理的这篇文章主要介绍了linux – rsync(和scp)失败,XFS设备上没有剩余空间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个全新安装的CentOS 7,主要分区为400GB,格式为XFS.目前使用的标准不到1 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

即使是root用户,我也无法创建任何新文件或目录.

编辑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 mount-option.如果你仍然有怀疑,noquota作为一个选项将告诉一切停止配额.
>装载选项.你应该在mount选项中有inode64,这是mount-flag,告诉内核使用64位inode分配.如果你没有它,在尝试创建新文件和目录时,内核可能会抛出ENOSPC(空间不足).你的分区不够大,不足以让它成为一件事,但是我们现在还不容易检查.

在XFS之外还有另外一件事要检查.

>打开文件句柄Ulimit这可能是rsync遇到的问题.如果是内存,您会看到不同的错误.

猜你在找的Linux相关文章