我在ubuntu服务器系统上使用Dirvish将hd备份到外部USB 3.0驱动器.直到几天前,一切正常,但现在每个备份都失败,“设备上没有剩余空间(28)”和“文件系统已满”.不幸的是,它并不那么简单:有>设备上免费500 GB.
细节:
rsync_error:
rsync: write "/mnt/backupsys/shd/gesichert1/20130223_213242/tree/<SomeFilename1>.eDJiD9": No space left on device (28) rsync: writefd_unbuffered Failed to write 4 bytes to socket [sender]: Broken pipe (32) rsync: write "/mnt/backupsys/shd/gesichert1/20130223_213242/tree/<SomeFilename2>.RHuUAJ": No space left on device (28) rsync: write "/mnt/backupsys/shd/gesichert1/20130223_213242/tree/<SomeFilename3>.9tVK8Z": No space left on device (28) rsync: write "/mnt/backupsys/shd/gesichert1/20130223_213242/tree/<SomeFilename4>.t3ARSV": No space left on device (28) [... some more files ...] rsync: connection unexpectedly closed (2712185 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]
日志看起来像往常一样直到它命中:
<SomeFilename1> <SomeFilename2> <SomeFilename3> <SomeFilename4> <PartOfAFilename>filesystem full write error,filesystem probably full broken pipe RESULTS: warnings = 0,errors = 1
但是,如上所述,设备上有很多空间:
df -h /dev/sdg1 2.7T 2.0T 623G 77% /mnt/backupsys/shd
并且还有很多inode:
df -i /dev/sdg1 183148544 2810146 180338398 2% /mnt/backupsys/shd
该设备安装为rw:
mount /dev/sdg1 on /mnt/backupsys/shd type ext3 (rw)
该进程以root身份运行.
我正要说我没有改变任何东西,但那不是真的:
我已经为我备份的驱动器启用了acl:
/dev/md0 on /mnt/md0 type ext4 (rw,acl)
这可能是问题吗?如果有,怎么样? root仍然可以完全访问这些文件.
编辑:
我刚检查了临时目录:
> / tmp只包含一个空的.webmin文件夹
> / var / tmp为空
这些目录所在的文件系统有足够的可用空间和inode:
df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 289G 55G 220G 20% / df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 19202048 167644 19034404 1% /
EDIT2:
目录非常大,但不是> 2 GB.备份失败的那个甚至不是最大的一个,它包含7530个文件.
EDIT3:
发布此问题时我不认为有关的一条信息:
在备份开始失败的前一天,我已经在备份的文件系统上激活了acls.我现在假设这触发了Dirvish(或rsync)认为所有文件都已更改,因此要复制而不是硬链接的文件列表非常大.这可能意味着某些缓冲区太小.
今天,对空磁盘的完全备份工作完美无瑕.我接下来会尝试增量备份.这将显示激活acls是否是导致问题的原因.