硬挂载和软挂载有什么区别
适用于
- NFS
- NAS 协议
回答
硬安装和软安装的区别
使用 NFS 协议,NFS 客户端可以挂载存在于 NFS 服务器上的文件系统,就像本地文件系统一样。
例如,您可以将 host.server.com 的 /home 目录挂载到客户端计算机,如下所示:
# mount host.server.com:/home /mymountpoint
应在您的计算机上创建目录 “/mymountpoint” 来存放 NFS 分区。
硬挂载或软挂载选项定义了 NFS 客户端应如何处理 NFS 服务器崩溃/故障。
硬挂载
hard装载通常用于块资源,例如本地磁盘或 SAN。- 当 NFS 文件系统挂载是
hard挂载时,会重复发出影响挂载资源任何部分的 NFS 请求,直到请求得到满足(例如,服务器崩溃并在稍后恢复)。 - 一旦服务器恢复联机,程序将继续从服务器崩溃期间的状态不受干扰地执行。
- 挂载选项
intr允许在服务器停机或无法访问时中断 NFS 请求。 - 因此, 推荐的设置为
hard和intr选项。
优点:
- 如果连接丢失,所有 NFS 客户端将冻结,直到 NFS 服务器恢复联机为止。因此,不会丢失数据。
- 数据完整性和消息传递得到保证。
缺点:
- 常量连接可能会影响性能。
以下示例命令将远程机器 host.server.com 中的目录 /home 硬挂载到挂载点 /mymountpoint 上
rw– 资源挂载为可读写intr– 已启用键盘中断
mount -o rw,hard,intr host.server.com/home /mymountpoint
软挂载
软装载通常用于网络文件协议,例如 NFS 或 CIFS。当 NFS 文件系统装载是软装载时,程序或应用程序从 NFS 文件系统请求文件,NFS 客户端守护程序将尝试从 NFS 服务器检索数据。NFS 会反复尝试联系服务器,直到:
- 已建立连接
- 已达到 NFS 重试阈值
- 已达到 nfstimeout 值
如果发生上述任何一种情况,控制权将返回给调用程序。
但是,如果 NFS 客户端没有收到来自 NFS 服务器的任何响应(由于 NFS 服务器的任何崩溃、超时或故障),NFS 客户端将向客户端计算机上请求文件访问的进程报告错误,然后退出。
|
警告 除非应用程序供应商明确建议使用软挂载,否则由于可能造成数据损坏,不建议使用此挂载方式。 |
优点:
- 此机制的优点是"快速响应",因为它不会等待 NFS 服务器的响应。
- 如果 NFS 服务器不可用,内核将在预配置的时间段后超时 I/O 操作。
缺点:
- 缺点是,如果您的 NFS 驱动程序缓存数据并且软装载超时,则应用程序可能不知道哪些对 NFS 卷的写入实际上已提交到磁盘。
- 数据损坏或数据丢失。
下面的示例命令从远程 machine host.server.com软挂载到挂载点 /mymountpoint
mount -o rw,soft host.server.com/home /mymountpoint
要检查系统上当前存在的挂载类型:
[usero1@Linux01 ~]$ nfsstat -m
/home from vrouter:/home
Flags: rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr= 10.0.0.1,local_lock=none,addr=10.0.0.2
/mnt/test from svm-data-lif1:/vol_unix
Flags: rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr= 10.0.0.1,local_lock=none,addr=10.0.0.2