如果有条件,windows不要使用nfs,使用smb,可参考https://cloud.tencent.com/developer/article/1939494
如果必须用nfs,建议禁用smb
如果用nfs,mtype=hard还是mtype=soft看业务情况
mount -o nolock mtype=hard 10.255.4.91:/r0gmnzbp x:
mount -o nolock mtype=soft 10.255.4.91:/r0gmnzbp x:
类型 | 说明 | 优势 | 劣势 |
---|---|---|---|
Hard mount | 当使用Hard参数挂载NFS共享时,如果发生网络故障或者NFS服务故障,将会导致NFS客户端的网络连接断开,NFS客户端的文件IO将会Hang住,直到后端的网络恢复或者NFS服务恢复,NFS客户端的文件IO才会继续执行。 | 在NFS网络连接断开的情况下,NFS客户端会一直等到NFS服务端重新连接,因此不会丢失数据。确保数据完整性和消息一致性。 | 如果NFS的网络连接断开时间过长,上层的业务就会出现IO长时间无法处理的情况,这种情况下可能导致业务性能下降或者业务中断。 |
Soft mount | 当NFS客户端使用Soft参数挂载共享时,如果发生网络故障或者NFS服务故障,NFS客户端将会对IO进行重试,当出现以下条件时重试终止,返回业务程序IO错误:NFS客户端与服务端重新建立连接。NFS客户端IO重试次数超出阀值。NFS客户端IO重试超时。 | 业务程序能够快速感知错误,不用等待NFS服务恢复。如果NFS服务不可用,内核可以根据配置的超时时间中断NFS客户端的文件IO。 | 如果NFS客户端有数据缓存,当文件IO重试超时,那么业务程序无法得知当前写入数据的具体信息。数据损坏或者数据丢失。 |
从以上分析可以看出,使用hard挂载时,如果出现故障时,应用会停止响应,使用soft挂载时,会在几次尝试失败后停止继续尝试,具体使用hard挂载还是soft挂载,需要看访问的信息和期望的行为,例如,要查看NFS服务器的视频文件,如果此时使用hard方式,系统就会等待,直到能够重新与NFS服务器建立连接传输信息,但是如果使用soft方式,在出现暂时连接不上的时候,可能就会返回很多报错。另外,如果业务程序对于快速failover要求很高,并且自身能够保证一致性的情况下,可以使用soft模式。
从数据敏感性角度,一般选mtype=hard。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。