由于 rsync no space left on device 错误,备份过程花费了很长时间

由于 rsync no space left on device 错误,备份过程花费了很长时间

我试图理解为什么其中一台服务器的备份过程花费如此长的时间并且无法正确复制数据。

这是外部硬盘分区的大小。

df -h /dev/sdb1
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb1             985G  362G  573G  39% /media/backup

我尝试复制的文件夹小于外部 HDD 分区的大小。

df -h /dev/sda4
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda4             3.4T  867G  2.4T  27% /mounts

一切看起来都很好。我大约一周前开始备份过程,但仍然没有完成。我意识到这可能是 USB 端口速度的问题,但我错了。

我还怀疑可能是文件系统损坏导致了错误。我想在文件系统fsck上运行/dev/sda4。但是当我检查一些脚本输出时,我读到了一些错误消息,

rsync: mkstemp "/media/backup/2014-06-18_09-36/mounts/ no space left on device (28)

这里,我读到 5% 的磁盘空间将分配给根文件系统。我不明白这是否与我的问题有关。另外,从这里,我读到inode大小不能大于2GB。我相信这应该是我调查的事情。但我不确定这是否是问题所在。我希望有更多指向正确方向的指示。

编辑:

命令的输出df -i如下。

df -i /dev/sdb1
/dev/sdb1            65544192 65279823  264369  100% /media/backup
df -i /dev/sda4
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda4            229957632 171244050 58713582   75% /mounts

答案1

您的备份驱动器上的索引节点已用完。这就是您看到的空间不足错误。

每个文件(基本上)占用一个索引节点。不幸的是,对于大多数文件系统来说,除了 mkfs 之外,没有办法添加更多 inode。

示例:使用 ext4,您可以直接使用选项选择创建的 inode 数量(在 mkfs 时)-N,或者使用 与卷大小的比率-i。各种使用类型(-T主要改变inode比率)。

相关内容