环境介绍
操作系统:Ubuntu 20.04.2 LTS,CentOS,Windows 10企业版
软件版本:nfs-kernel-server,nfs-common
一、NFS简介
NFS(Network File System)网络文件系统,它主要的功能是通过网络(局域网),让不同的机器、不同的操作系统可以共享彼此的目录或文件,将共享的目录挂载到本地的文件系统,一般用来存储共享视频和图片等静态数据,常用在集群架构后端进行数据共享,NFS依赖负责信息传输的RPC协议。
二、NFS入门
1、NFS服务软件
- 需要开启mountd、nfsd、nlockmgr、portmapper、rquotad这5个服务, 除了nfsd和portmapper服务端口是固定的,其余都是随机分配的
- nfsd:是nfs的守护进程,不负责文件存储(由NFS服务器本地内核负责调度存储),用于理解客户端发起的rpc请求,并将其转交给本地内核,而后存储在指定的文件系统上
- mountd:mountd的服务端口是随机的,由rpc服务(portmapper)提供随机端口号,用于验证客户端是否在允许访问此NFS文件系统的客户端列表中,在则允许访问(发放一个令牌,持令牌去找nfsd),否则拒绝访问
- dmapd:实现用户帐号的集中映射,把所有的帐号都映射为NFSNOBODY,但是在访问时却能以本地用户的身份去访问;
- portmapper:NFS服务器的rpc服务,用于管理远程过程调用(RPC)
- rpcbind:即RPC主程序
2、NFS常用目录或文件
- /etc/exports:NFS主要配置文件
- /usr/sbin/showmount:客户端的查看命令
- /var/lib/nfs/etab:查看服务端配置目录的完整权限
- /usr/sbin/exportfs:维护NFS分享资源的指令
3、端口
固定端口
NFS默认端口 2049 tcp/udp
portmapper默认端口 111 tcp/udp
随机端口
mountd、idmapd、rpcbind三个是随机端口,一般默认mountd为20048(需验证)
status和nlockmgr是随机端口
也可在配置文件中修改绑定固定端口/etc/sysconfig/nfs
参考https://www.cnblogs.com/ruhuanxingyun/p/14852570.html
NFS服务端安装(Ubuntu为例)
1、准备工作
1 2
| sudo mkdir /home/ayb/文档/NFSFile sudo chown -R 777 /home/ayb/文档/NFSFile
|
2、安装启动
1 2 3 4
| sudo apt-get install nfs-kernel-server sudo systemctl enable nfs-server sudo systemctl start nfs-server sudo systemctl status nfs-server
|
3、配置NFS
1 2 3 4
| sudo vim /etc/exports
/home/ayb/文档/NFSFile 172.20.*.*(rw,no_root_squash,sync) /home/ayb/文档/NFSFile 127.0.0.1(rw,no_root_squash,sync)
|
重启服务
1 2
| sudo systemctl restart nfs-server showmount -e
|
4、权限说明
NFS客户端安装(Windows及Linux)
Windows 10
只有Win10企业版具有此功能。专业版和家庭版需要使用第三方软件实现。
控制面板→程序→启用或关闭Windows功能→NFS服务
Win+R打开命令行中输入
1 2
| mount 172.21.1.1:/home/ayb/文档/NFSFile F:
|
Linux
Ubuntu系统
1
| sudo apt-get install nfs-common
|
CentOS系统
1
| yum install nfs-utils -y
|
创建客户端目录
挂载
1 2 3 4
| sudo mount -t nfs 172.21.1.1:/home/ayb/文档/NFSFile /mnt
df -h
|
卸载
1 2 3 4 5 6
| sudo umount /mnt
fuser -mv /mnt
kill -9 进程ID
|
参考https://www.cnblogs.com/liqi175/p/16627100.html