在 Linux 中延迟卸载或卸载繁忙的磁盘

dee*_*392 21 linux umount

我已经读到可以使用“懒惰”选项“卸载”原本很忙的磁盘。联机帮助页对此有说明:

umount - 卸载文件系统

-l 懒惰卸载。立即从文件系统层次结构中分离文件系统,并在文件系统不再忙碌时立即清除对文件系统的所有引用。此选项允许卸载“繁忙”的文件系统。(需要内核 2.4.11 或更高版本。)

但这有什么意义呢?我考虑了为什么我们完全卸载分区:

  1. 移除硬件
  2. 在挂载时对文件系统执行不安全的操作

在这两种情况中的任何一种情况下,恕我直言,所有“懒惰”卸载都是为了更难确定磁盘是否真的已卸载,并且您实际上可以继续执行这些操作。唯一的应用umount -l似乎是让没有经验的用户“感觉”他们已经实现了他们没有实现的目标。

为什么要使用惰性卸载?

Bro*_*oam 12

因为你很懒——你想在磁盘操作完成后卸载。

这是一个合理的场景:

您正在使用rsync执行备份并走开。您可以umount -l驱动器,一旦完成复制和同步,它就会卸载,这样当您休息后回来时(您知道这比备份需要更长的时间),您只需拔下驱动器,而不必再次摆弄键盘.


Bor*_*ora 6

这实际上是为了在管理任务中获得更多时间来执行后续任务。

如果在管道中等待与此无关的其他任务,那么您可以延迟卸载并继续批处理中的其他任务。

示例:任务 1 和任务 2 是两个背靠背安排的管理任务。

任务 1每日备份

这会将大量文件从项目分区复制到备份分区,例如 /mnt/backupProj,它将在此任务结束时即时挂载并卸载.. 复制需要大量时间。

任务 2更新 SQL 视图

在专用服务器上执行一系列数据库视图更新。

任务 2 显然完全独立于任务 1,因此我们可以延迟卸载 /mnt/backupProj,而无需等待备份任务完成。


小智 6

假设您确实需要更改软件写入日志的卷(例如 Web 服务器),但它的流量很大,无法关闭操作,也无法更改日志记录路径。

通过延迟卸载,您可以在软件仍在运行时安全地卸载卷,将另一个卷安装到同一安装点并命令软件重新打开文件。

理想情况下,由于您不需要关闭软件,因此不会丢失任何请求,并且基本上也不会丢失日志条目,因为它们仍在写入旧安装,直到重新打开文件(软件处理重新打开文件的情况如何)文件由软件决定)。

解释一下联机帮助页,这意味着如果该卷在延迟卸载时有打开的文件,那么实际上它仍然处于装载状态,但只是无法通过文件系统访问,并且只有在关闭最后一个打开的文件时才真正卸载。


joh*_*n64 5

当由于各种原因(例如 nfs 服务器关闭)而明显卡住时,以及当我需要查看挂载所挂载的目录的原始内容时,我会使用延迟卸载。在这两种情况下,安装都很忙。我认为还有其他边缘情况,但这两个是我使用该选项的最常见原因。