Linux 安装NFS服务

# 安装nfs软件
yum install -y nfs-utils rpcbind

# 配置共享目录及相关信息
vim /etc/exports

# 输入内容  需要对配置信息进行解释说明
/nfs *(insecure,rw,no_root_squash,sync,no_subtree_check)

# 使配置文件生效,如果目录不存在就会报错,创建目录后再执行一下就好
exportfs -r

# 启动nfs和rpcbind服务
systemctl start nfs && systemctl start rpcbind

# 查看共享目录信息
exportfs -v

# 查看端口情况  注意:随机启动端口注册管理比较麻烦,可以注册固定端口
ss -ntl

# 配置示例
# vim /etc/sysconfig/nfs
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004

# 重启nfs和rpcbind服务
systemctl restart nfs && systemctl restart rpcbind

# 如果是云主机或开了防火墙等,需要开启指定端口,111,2049,…等,我这里是把防火墙直接禁用了
[root@VM-12-4-centos etc]# ss -ntl
State       Recv-Q Send-Q        Local Address:Port                       Peer Address:Port              
LISTEN      0      64                        *:2049                                  *:*                  
LISTEN      0      128                       *:56938                                 *:*                  
LISTEN      0      128                       *:6379                                  *:*                  
LISTEN      0      128                       *:111                                   *:*                  
LISTEN      0      128                       *:80                                    *:*                  
LISTEN      0      64                        *:30002                                 *:*                  
LISTEN      0      128                       *:30003                                 *:*                  
LISTEN      0      128                       *:22                                    *:*                  
LISTEN      0      100               127.0.0.1:25                                    *:*                  
LISTEN      0      64                     [::]:2049                               [::]:*                  
LISTEN      0      1        [::ffff:127.0.0.1]:8005                               [::]:*                  
LISTEN      0      50                     [::]:2181                               [::]:*                  
LISTEN      0      100      [::ffff:127.0.0.1]:8009                               [::]:*                  
LISTEN      0      128                    [::]:34122                              [::]:*                  
LISTEN      0      80                     [::]:3306                               [::]:*                  
LISTEN      0      50                     [::]:33739                              [::]:*                  
LISTEN      0      128                    [::]:6379                               [::]:*                  
LISTEN      0      128                    [::]:111                                [::]:*                  
LISTEN      0      64                     [::]:30002                              [::]:*                  
LISTEN      0      128                    [::]:30003                              [::]:*                  
LISTEN      0      128                    [::]:22                                 [::]:*                  
LISTEN      0      100                   [::1]:25                                 [::]:*                  
LISTEN      0      100                    [::]:443                                [::]:*         

Windows 启用nfs客户端

打开-控制面板-程序-打开或关闭windows功能-勾选NFS客户端

注意:windows 家庭版不支持,需要升级专业版,在设置更改密钥,添加专业版密钥即可升级

windows下挂载NFS共享目录

1、在命令行中,输入“mount \\192.168.208.70\data F:\”,输入mount查看详细挂载参数(注意此时uid、gid均为-2)

在Windows系统上使用NFS文件系统时,默认使用soft模式进行挂载,而在某些场景下soft模式会对数据一致性造成影响,并且会造成用户应用异常退出。 可采用如下挂在参数

mount -o nolock -o mtype=hard -o timeout=60 

更多关于mount 挂载参数,自行查找资料

2、修改注册表(regedit)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default中,添加DWORD值两项:AnonymousUid,AnonymousGid,如下图(此处使用NFS服务器其默认uid、gid已修改为0),修改成哪个,注意查看提供nfs的用户和组ID信息(id root【或者其他用户】)

 

3、重启电脑,此时客户端uid、gid已修改为NFS服务端的uid、gid,获得NFS共享目录读写权限(相关权限的控制,结合Linux挂载用户权限管理,查看)

4、打开我的电脑,查看挂在效果

 注意:由于windows nfs 客户端无法支持utf8,或更多的编码,服务端导入的文件,windows端查看会有乱码

解决方案主要有三种

(1)换解决方案,使用smb 共享,这等于不是解决方法。

(2)使用第三方nfs 客户端,比如 ms-nfs41-client 软件。建议采用

(3)windows 官方给了一个beta版本的解决方案。这个修改后,会导致本地软件乱码,不采用。

如果只从客户端维护文件,只当做文件上传下载,该问题基本没影响,可以不考虑。

5、卸载挂载点

umount G:

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐