我为我的 Proxmox 主机制作了一个脚本,以将其每日备份复制到另一台机器(运行 Windows Server 2019)。
该脚本挂载 CIFS 共享并运行以下 rsync 命令:
rsync -aqzP --delete --delete-excluded /mnt/raid/ /mnt/backups --exclude "*.log"
它运行了大约 6 分钟,然后当它尝试复制vzdump-qemu-100-2021_05_16-00_00_03.vma.zst
文件时,它会抛出一个错误:
rsync: [receiver] close failed on "/mnt/backups/backups/dump/.vzdump-qemu-100-2021_05_16-00_00_03.vma.zst.nrDEvQ": Broken pipe (32)
rsync error: error in file IO (code 11) at receiver.c(871) [receiver=3.2.3]
rsync: [sender] write error: Broken pipe (32)
可能是什么问题呢?
在 Windows 机器上,有复制所需的所有空间。
我会研究 cifs 在该
vzdump-qemu-100-2021_05_16-00_00_03.vma.zst
文件中不喜欢的内容。此外,如果文件可由 rsync 使用:
最后,如果我对此没有结果,我会尝试增加 rsync 详细程度以获取有关错误的更多详细信息:
rsync -aqzPvvvvvvvvvvvvvvvv ...
我是如何解决的:
我在 ArchLinux 论坛上发现了这个被遗忘的帖子,并尝试了解决方案:
这似乎是一个缓存问题或相关的东西。
为了让它工作,我刚刚添加
-o fg,noac,lookupcache=none
到mount
命令中。