目录
背景与意义
下载与解压
安装
第一步,安装vccredist_x64
第二步,安装证书
第三步,命令行操作
第四步,重启电脑
第五步,修改注册表,禁用DFS Client
第六步,启动服务
第七步,启动服务pnfs
挂载的磁盘出现无法打开的情况
验证V4协议。
其他说明
背景与意义
NFS协议是一种用于文件共享的协议,它可以使得主机之间进行文件的共享。客户端可以像在本机上的文件一样操作远程主机的文件。NFS各个版本间的比较,可参考网络上的一些介绍,这里就不详细展开了。NFS协议目前主要使用的是V3版本和V4版本。
在测试我们搭建了NFS文件系统之时,需要测试操作系统对NFS文件系统的兼容性,其中就包含windows系统。
在Windows Server当中,mount 命令默认使用的V3,且不提供参数来改变协议。本人也曾查找资料,试图搜索如何通过修改相关配置来解决,均没能找到相关的可以操作的地方。通过查询资料与测试,最终选择nfsv4客户端来完成这项任务。
下载与解压
下载地址:http://citi.umich.edu/projects/nfsv4/windows/120612/
这个下载地址点开后,发现两个文件,第一个是源码,第二个是运行版本,由于不研究源码,只需跑起来,因此,下载第二个。
除了这两个文件之外,这个路径的上层还有一些其他的资料可以参考。
http://citi.umich.edu/projects/nfsv4/windows/
下载之后解压到一个合适的位置,本文随手将该文件解压到桌面,可以看到如下文件。
其中有一个README文件,这里面写了如何安装,如何使用,本文也是参照这个指导,一步一步完成测试。下文是一步一步操作的记录,以及应对指导书中未提及的情况。
安装
第一步,安装vccredist_x64
这个软件不需要再去下载,在解压缩的文件中就包括了。直接双击打开,与安装普通软件无异。
第二步,安装证书
双击证书,打开。
然后点击下一步->下一步->完成。会有一个弹窗提示成功。
第三步,命令行操作
打开命令行,同过cd命令,进入到解压后的文件夹,依次输入以下命令:
install.bat
mkdir C:\etc
copy etc_netconfig C:\etc\netconfig
copy ms-nfs41-idmap.conf C:\etc\
bcdedit /set testsigning on
第四步,重启电脑
第五步,修改注册表,禁用DFS Client
注册表中的路径为:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Mup.添加DWORD 类型,名字为DisableDfs ,值为1.
第六步,启动服务
服务看起是安装成功了。挂载试试。nfs_mount.exe是文件夹中的挂载程序,Z:是我们设定的盘符。后面是NFS服务地址。
非常遗憾,挂载失败了。
第七步,启动服务pnfs
从管理界面找到服务界面。在服务中找到pnfs client。
右键-启动
再回去挂载。
看下磁盘。
挂载的磁盘出现无法打开的情况
当将同一个文件系统分别挂载到已创建的Linux云主机和Windows云主机后,在Windows云主机上无法对在Linux云主机上创建的文件写入数据。需要通过修改注册表将Windows访问NFS时的UID和GID均修改为0,操作步骤如下。
1.在计算机“运行”中输入regedit,打开注册表编辑器。
2.进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default目录。如图所示。
3.右键选择“新建 > QWORD值”,添加AnonymousUid,AnonymousGid两个值,设置值为0。如图所示。
验证V4协议。
打开wireshark,开始抓包。与此同时,在命令行中输入挂载命令,挂载一下。结果如下图所示。
其他说明
(1)无法启动服务pnfs
无法启动pnfs的可能原因是,系统中正使用V3挂载这磁盘,将全部挂载的磁盘umount掉。
(2)挂载时候error code 53
检查一些,地址可能写错了。
(3)V4下umount方法
命令 nfs_mount.exe -d Z