NFS 介绍

NFS是Network File System的缩写。可以让不同的操作系统,不同的主机通过 TCP/IP 网络共享彼此的资源(文件或目录)。
NFS 在文件传输或者信息传输过程中依赖RPC(remote Procedure Call)协议,远程过程调用RPC协议是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的。
NFS与RPC的关系简单来说,NFS是一个文件系统,而RPC是负责信息的传输的

NFS 服务安装

服务端

# 安装nfs-utils和rpcbind
yum -y install nfs-utils rpcbind
# 启动nfs和rpc服务并加入开机启动
systemctl enable rpcbind nfs --now
# 查看端口注册信息
rpcinfo -p localhost

rbd nfs 区别 nfs和rpc的关系?_rbd nfs 区别

客户端

# 安装nfs-utils和rpcbind
yum -y install nfs-utils
systemctl enable  nfs --now

NFS 配置

在服务端创建一个共享目录

# 创建共享目录
mkdir -p /data/share
# 给共享文件夹赋权
chmod 777 /data/share/
# 修改配置文件
vim /etc/exports
# 共享目录 授权挂载网段 挂载权限
/data/share 192.168.1.0/24(rw,sync,no_root_squash)
# 设置完挂载目录后需要重新加载下nfs配置文件
systemctl reload nfs

常用的NFS挂载参数

参数

说明

ro

只读访问

rw

读写访问

sync

数据写入内存时,同时将数据保存到磁盘

all_squash

无论NFS客户端以哪种用户身份访问,均映射为NFS服务器的nfsnobody用户

no_all_squash

⽆论使⽤什么⽤户,都不压缩权限,保留共享文件的UID和GID(默认)

root_squash

当NFS客户端以root用户身份访问时,映射为NFS服务器的nfsnobody用户

no_root_squash

当NFS客户端以root身份访问时,映射为NFS服务器的root用户,也就是要为超级用户保留权限。这个选项会留下严重的安全隐患,一般不建议采用

anonuid=“ ”

指定nfs服务器匿名用户的UID

anongid=“ ”

指定nfs服务器匿名用户的GID

查看NFS共享目录

在服务端测试

showmount -e localhost

rbd nfs 区别 nfs和rpc的关系?_客户端_02

在客户端测试

showmount -e 192.168.1.200

rbd nfs 区别 nfs和rpc的关系?_服务器_03

NFS挂载及使用

去到客户端挂载共享目录

# 此挂载方式是临时挂载机器一重启挂载就会丢失。
mount 192.168.1.200:/data/share /data/
     #服务端IP:共享目录          #挂载到本地那个目录

查看挂载

#df -Th|grep nfs

rbd nfs 区别 nfs和rpc的关系?_linux_04


卸载挂载目录

umount /data

rbd nfs 区别 nfs和rpc的关系?_rbd nfs 区别_05

永久挂载共享目录

需将挂载目录写入/etc/fstab文件才可实现永久挂载

vim /etc/fstab
192.168.1.200:/data/share       /data                  nfs     defaults        0 0

这样就算服务器重启 目录也可以自动挂载