admin管理员组

文章数量:1602072

目录

背景与意义

下载与解压

安装

第一步,安装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

 

 

本文标签: mountWindowsnfs