windows 客户端能不能用nfs v4 ?

2024-08-15 08:33:54 浏览数 (2)

windows nfs客户端能不能用v4?微软自己的功能不支持,只能支持到v3

但总是有大神,这位大神2014年在github release了一个Windows NFS 4.1 Client

大神的软件是好,但是坑很多,填坑指南没有给,只能靠自己费心劳神摸索,我花很多时间沉淀的东西写成这篇文档,你只需要一两分钟就能拿走,少走很多弯路,节省很多时间。

https://github.com/cbodley/ms-nfs41-client/releases

这个客户端软件的安装很简单,默认下一步 → 下一步 → ...下一步 → 直到完成后提示重启机器时重启机器即可

这个客户端软件适用所有windows常用系统,PC系统就不说了,我测试了Server 2008R2/2012R2/2016/2019 安装这个软件去挂自建的v4 nfs server都是可以的,但去挂腾讯云的cfs不行,因为腾讯云cfs控制台写了:由于系统限制,Windows 客户端请使用 NFS v3.0 挂载。

并且cfs文档里有句话:推荐使用NFS v3协议挂载,获得更好的性能。如果您的应用依赖文件锁,即需要使用多台CVM同时编辑一个文件,请使用NFS v4协议挂载。

而windows自带的nfs客户端又不支持v4挂载,所以我猜测可能cfs服务端做了windows客户端的限制才导致ms-nfs41-client没法成功挂nfs协议的cfs。

假如在腾讯云CVM上搞了1台2016做客户端、1台2016做服务端,客户端安装了ms-nfs41-client,服务端启用了系统的nfs server,我说下我遇到的问题(不敢说真知灼见,但绝对是点灯熬油花大量时间摸索出来的):

1、ms-nfs41-client安装后按要求重启机器了,但是重启后发现ms-nfs41-client对应的服务没有运行

我研究了好久,发现有2个解决办法

①vpc控制台设置个Domain Name(随便设),然后重启机器,ms-nfs41-client对应的服务就起来了

②如果不改vpc,那需要在cvm里运行sysdm.cpl命令按如下步骤添加Primary DNS suffix of this computer

其实两种办法本质上是相同的,都是改的Primary DNS suffix ,只不过① 是整个vpc级别的(vpc里的机器重启下就都有了),②是单台机器级别

2、需要把客户端和服务端的防火墙关了,以免造成干扰

3、服务端机器配置

NFS权限配置:进行NFS共享配置的时候按下图选择给读写权限

NTFS文件系统的权限配置:给要共享的目录添加everyone和network service全部权限

4、客户端机器配置

需要导下这个注册表(粘贴到记事本,然后另存为nfsclient.reg,然后双击点是进行导入),导入后重启下服务

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftClientForNFSCurrentVersionDefault]

"AnonymousUid"=hex(b):00,00,00,00,00,00,00,00

"AnonymousGid"=hex(b):00,00,00,00,00,00,00,00

或者

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftClientForNFSCurrentVersionDefault]

"AnonymousUid"=dword:00000000

"AnonymousGid"=dword:00000000

以上配置完以后,就可以在客户端挂服务端的共享目录了,并且有读写权限

cmd切入到NFSv4.1 Client目录:cd /d "C:Program FilesNFSv4.1 Client"

挂载命令:nfs_mount.exe z: $hostname或IP:/nfsserver_dir ( 例如:nfs_mount.exe z: 10.255.4.112:/nfsserver )

解挂载命令:nfs_mount.exe -d Z

挂上后显示的大小是对方磁盘的,我共享的文件夹在服务端机器桌面,是C盘,然后客户端挂上后就显示的对方C盘的已用和总大小。

遗憾之处是,这个软件能以nfs v4.1 挂自建nfs server,但是挂不了nfs协议的cfs。但是说句实话,正如腾讯云cfs文档所说,推荐使用NFS v3协议挂载,获得更好的性能。这个Windows NFS 4.1 Client 能挂自建的是能挂,但是吧,挂上后,访问总感觉很慢,没有微软自己的nfs client v3 体验好,而在Windows上nfs又没有smb好,Windows平台还是用smb吧,获得更好的性能。

[知识扩展]

Windows下nfs协议的CFS怎么用

Windows挂CFS(NFS)中文乱码如何解决

0 人点赞