我试图理解为什么其中一台服务器的备份过程花费如此长的时间并且无法正确复制数据。
这是外部硬盘分区的大小。
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比率)。