Aaron K Asked: 2009-05-19 07:43:01 +0800 CST2009-05-19 07:43:01 +0800 CST 2009-05-19 07:43:01 +0800 CST UNIX 中硬挂载与软挂载的优缺点是什么? 772 这个问题可能因发行版而异,但总的来说,在 UNIX 世界中使用硬挂载或软挂载有哪些优点/缺点? 是否存在某些情况更有益或用途相当普遍? linux nfs mount unix 4 个回答 Voted Best Answer duffbeer703 2009-05-19T07:51:22+08:002009-05-19T07:51:22+08:00 硬挂载通常用于块资源,例如本地磁盘或 SAN。软挂载通常用于 NFS 或 CIFS 等网络文件协议。 软挂载的优势在于,如果您的 NFS 服务器不可用,内核将在预先配置的一段时间后使 I/O 操作超时。缺点是如果您的 NFS 驱动程序缓存数据并且软挂载超时,您的应用程序可能不知道对 NFS 卷的哪些写入实际上已提交到磁盘。 hayalci 2009-05-19T10:20:49+08:002009-05-19T10:20:49+08:00 硬安装和“intr”(可中断)是一个很好的折衷方案(对于 2.6.25 之前的内核,请参阅 Ryan Horrisberger 的评论)。该应用程序不会因为成功的写入而被愚弄,但是如果有东西堵塞了管道,您可以杀死它们。 Tim Post 2009-05-19T07:57:39+08:002009-05-19T07:57:39+08:00 使用某种网络文件系统(nfs 或 fuse)的硬挂载可以(有时)在尝试重新建立断开的连接时永远阻塞。这意味着,每个尝试访问该挂载的进程都会进入磁盘睡眠 (D) 状态,直到设备再次可用或系统重新启动。 磁盘睡眠不能被中断或杀死。它就像僵尸进程的僵尸。 简而言之,永远不要对网络文件系统使用硬挂载。如果 I/O 不可行,您希望文件系统失败(立即,使用系统调用的进程)。否则,如果 FS 失败,他们声称的内存也可能会泄漏。 manitou 2015-09-04T02:59:12+08:002015-09-04T02:59:12+08:00 Asoft或hardmount 取决于文件系统的使用情况,并影响来自底层软件堆栈的写操作保证。从nfs 手册页(挂载选项也适用于 nfsv4)中,“在某些情况下,所谓的“软”超时可能会导致静默数据损坏。因此,soft仅当客户端响应能力比数据完整性更重要时才使用该选项。 " 对于任务关键型读写应用程序使用,始终使用hard挂载来防止文件损坏(这就是大多数系统默认设置的原因)。 对于只读文件系统,使用它是安全的,soft因为没有丢失应用程序认为已写入文件系统的数据的危险,因此首选,因为它不会阻塞应用程序;只返回 no-data 或错误 - 这两者都可以并且应该被应用程序检测到。
硬挂载通常用于块资源,例如本地磁盘或 SAN。软挂载通常用于 NFS 或 CIFS 等网络文件协议。
软挂载的优势在于,如果您的 NFS 服务器不可用,内核将在预先配置的一段时间后使 I/O 操作超时。缺点是如果您的 NFS 驱动程序缓存数据并且软挂载超时,您的应用程序可能不知道对 NFS 卷的哪些写入实际上已提交到磁盘。
硬安装和“intr”(可中断)是一个很好的折衷方案(对于 2.6.25 之前的内核,请参阅 Ryan Horrisberger 的评论)。该应用程序不会因为成功的写入而被愚弄,但是如果有东西堵塞了管道,您可以杀死它们。
使用某种网络文件系统(nfs 或 fuse)的硬挂载可以(有时)在尝试重新建立断开的连接时永远阻塞。这意味着,每个尝试访问该挂载的进程都会进入磁盘睡眠 (D) 状态,直到设备再次可用或系统重新启动。
磁盘睡眠不能被中断或杀死。它就像僵尸进程的僵尸。
简而言之,永远不要对网络文件系统使用硬挂载。如果 I/O 不可行,您希望文件系统失败(立即,使用系统调用的进程)。否则,如果 FS 失败,他们声称的内存也可能会泄漏。
A
soft
或hard
mount 取决于文件系统的使用情况,并影响来自底层软件堆栈的写操作保证。从nfs 手册页(挂载选项也适用于 nfsv4)中,“在某些情况下,所谓的“软”超时可能会导致静默数据损坏。因此,soft
仅当客户端响应能力比数据完整性更重要时才使用该选项。 "对于任务关键型读写应用程序使用,始终使用
hard
挂载来防止文件损坏(这就是大多数系统默认设置的原因)。对于只读文件系统,使用它是安全的,
soft
因为没有丢失应用程序认为已写入文件系统的数据的危险,因此首选,因为它不会阻塞应用程序;只返回 no-data 或错误 - 这两者都可以并且应该被应用程序检测到。