rsync 备份后无法卸载磁盘

rsync 备份后无法卸载磁盘

我使用 将一个大目录备份到已安装的外部磁盘上rsync -av。该命令在一段时间后终止,但之后我无法卸载磁盘,当我尝试卸载时出现错误disk is busy, try after some time

数据是否已被缓存并且复制仍在进行中?我如何知道复制何时完成并且可以卸载?

或者,有没有更好的方法来备份大型目录?

(这是在 ubuntu 20.04 上)

答案1

也许您无法卸载该设备,因为写入时rsync未使用direct I/O (O_DIRECT)。因此不是:

rsync > device

相反的是:

rsync > RAM > device

rsync完成工作后,Linux 内核(有时)需要时间来复制页面缓存到设备,只要这还没有完成,您可能无法卸载它。

您可以选择以下方法来解决这个问题:

  1. 安装您的设备带有直接输入/输出但这可能会导致糟糕的表现
  2. 使用syncumount
  3. 使用umount -l它可以从文件系统中删除挂载路径,但它仍然存在,以便内核完成其工作,完成后,挂载最终被删除,这就是为什么这被称为懒惰的卸载。但这被视为不好的做法

相关内容