win10通过NFS访问 Ubuntu下的文件
服务器端:首先是linux服务器环境: Ubuntu16.04
-
安装nfs服务器
apt install -y nfs-kernel-server -
修改配置文件,设置需要共享的目录
sudo vim /etc/exports例如要共享服务器的disk_D,则在文件中添加
/home/disk_D *(rw,sync,no_root_squash,no_subtree_check) -
完成以上步骤之后,nfs服务器就安装好了,在命令终端中输入一下命令来重启nfs服务器
sudo service nfs-kernel-server restart
客户端:Windows 10
首先启用 NFS 客户端:控制面板\程序\程序和功能 - 启用或关闭 Windows 功能,选中 NFS 服务 下的 NFS 客户端。
-
此时进入 CMD 命令行可以测试连接:
showmount -e 10.1.71.135 此时挂载后只能读不能写,如需读写,需要修改注册表:
通过修改注册表将 Windows 10 访问 NFS 时的 UID 和 GID 改成 0 即可(其实就是 Linux 下的 root),步骤如下:
a、在运行中输入 regedit,打开注册表编辑器;
b、进入 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default 条目;
c、选择新建 DWORD 值,新建 AnonymousUid,AnonymousGid 两个值,值为 0;
d、重启系统;-
完成以上步骤之后就可以连接了,在cmd输入命令
mount \\10.1.71.135\home\disk_D S: -
完成以上步骤就可连接成功。但是可能速度会很慢,发现可以设置块大小和时间来优化
nfs 挂载时可选参数: timeo :如果超时,客户端等待的时间,以十分之一秒计算 retrans :超时尝试的次数 bg :后台挂载 hard :如果server端没有响应,那么客户端一直尝试挂载 wsize :写块大小 rsize :读块大小 intr :可以中断不成功的挂载 noatime :不更新文件的 inode 访问时间,可以提高速度 async :异步读写 -
经过测试后速度明显提升的命令
mount -o nolock, rsize=1024,wsize=1024,timeo=15 \\10.1.71.135\home\disk_D S: -
断开连接的命令,卸载全部 NFS 网络驱动器
umount S: umount -f -a 重启之后重新mount就行