作者:杨吉龙于 2022年07月25日 发布在分类 / 经验案例 / FAQ 下,并于 2022年07月25日 编辑
2022-07-25 14:31:47版本: NFS硬挂载和软挂载之间有何区别?
 历史版本

修改日期 修改人 备注
2022-07-25 14:33:48[当前版本] 杨吉龙 格式调整
2022-07-25 14:31:47 杨吉龙 CREAT

一、提问

NFS硬挂载和软挂载之间有何区别?


二、回答

NFS硬挂载或软挂载选项定义了NFS客户端应如何处理NFS服务器崩溃或故障,我们在Linux上用以下命令挂载NFS共享时,默认是以硬挂载挂载的。

mount -t nfs 172.10.0.35/home /mymountpoint


硬挂载:

硬挂载通常用于块资源,例如本地磁盘或SAN。当NFS文件系统挂载是硬挂载时、会反复发出影响挂载资源任何部分的NFS请求、直到满足请求(例如,服务器崩溃并在以后重新启动)。服务器恢复联机后、程序将继续执行服务器崩溃期间不受干扰的状态。我们可以使用挂载选项 "INTR" 、该选项允许在服务器停机或无法访问时中断NFS请求。因此,建议的设置是硬设置和INTR选项。

优势:

  • 如果连接丢失、则所有NFS客户端都将冻结、直到NFS服务器重新联机。因此不会丢失数据。
  • 确保数据完整性和消息传送

缺点:

  • 持续连接可能会对性能产生影响。

命令从远程计算机172.10.0.35在mount -point/mymountpoint上硬挂载目录/home。rw表示已安装要进行读写的资源、以及为键盘中断启用Intr。

mount -o rw,hard,intr 172.10.0.35/home /mymountpoint


软挂载:

软挂载通常用于NFS或CIFS等网络文件协议。当NFS文件系统挂载是软挂载时、程序或应用程序从NFS文件系统请求文件时、NFS客户端守护进程将尝试从NFS服务器检索数据。NFS会反复尝试与服务器联系,直至:

  • 已建立连接
  • 满足NFS重试阈值
  • 已达到nfstimeOut值
如果发生其中一个事件,Control将返回调用程序。但是,如果NFS服务器没有响应(由于NFS服务器的任何崩溃、超时或故障)、NFS客户端将向请求文件访问的客户端计算机上的进程报告错误、然后退出。

优势:

  • 此机制的优点是“快速响应”、因为它不会等待NFS服务器响应。
  • 如果NFS服务器不可用、内核将在预配置的时间段后超时I/O操作。

劣势:

  • 缺点是,如果NFS驱动程序缓存数据并且软挂载超时、应用程序可能不知道哪些写入NFS卷实际上是提交到磁盘的。
  • 数据损坏或数据丢失。
在mount -point/mymountpoint上从远程计算机172.10.0.35执行软挂载的命令:

mount -o rw,soft 172.10.0.35/home /mymountpoint


要检查当前系统上存在的挂载类型,请执行以下操作:

nfsstat -m

历史版本-目录  [回到顶端]
    宏杉案例知识库-V4.0.1