linux上搭建nfs服务

NFS(Network File System):它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。

NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;

RPC(Remote Procedure Call)——远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。NFS 服务器在启动的时候就得要向 RPC 注册,所以 NFS 服务器也是一种 RPC server。.

此次搭建nfs服务实验中,10.0.4.164为服务器,10.0.4.162作为客户端。

1.检查是否安装了

rpm -qa | grep nfs		# 查询所有套件,有无nfs?
rpm -qa | grep portmap 或者 rpm -qa | grep rpcbind

没有,安装一下

yum install nfs-utils

会连带安装rpcbind服务

2.配置nfs服务器

vi /etc/exports
# 添加如下内容
/opt/data_share *(rw,sync,no_root_squash)
# data_share为手动创建的共享文件夹,*是指所有主机,也可以是某个IP地址或CIDR表示或者指定域名
# (rw,sync,no_root_squash)===(读写,所有服务在请求时写入共享,root用户具有根目录的完全管理访问权限)

权限可以添加更多,例如:

ro 只读访问

rw 读写访问

sync 所有数据在请求时写入共享

async NFS在写入数据前可以相应请求

secure NFS通过1024以下的安全TCP/IP端口发送

insecure NFS通过1024以上的端口发送

wdelay 如果多个用户要写入NFS目录,则归组写入(默认)

no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

hide 在NFS共享目录中不共享其子目录

no_hide 共享NFS目录的子目录

subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

no_subtree_check 和上面相对,不检查父目录权限

all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

no_all_squash 保留共享文件的UID和GID(默认)

root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)

no_root_squas root用户具有根目录的完全管理访问权限

anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID

anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID

exportfs -a		# 刷新配置,立即生效
systemctl start rpcbind
systemctl start nfs		# 按顺序启动这两服务

3.客户端设置

和服务端基本一样,也是先安装nfs、rpcbind,然后启动nfs服务。

接下来挂载目录:

mount -t nfs 10.0.4.164:/opt/data_share /home/cf
# 其中 -t nfs 指定了要挂载的10.0.4.164这个设备上的文件系统类型, /home/cf 是客户端上的一个目录
umount /home/cf		# 如果要取消挂载,就输入这个

查看一下挂载情况

df -Th

在这里插入图片描述

客户端上看下连接状态

showmount -e 10.0.4.164

在这里插入图片描述

这样,客户端和服务端连的nfs服务就通了。在任意一端进行文件修改等操作,在另一端就会同步修改了。

最后,如果想要开机自动挂载,需要进行设置:

vi /etc/fstab
# 在末尾加上一行
10.0.4.164:/opt/data_share /home/cf nfs defaults 0 0

4.其他

  • 查看NFS相关端口

NFS使用的是RPC协议,本身没有提供信息传输的协议与功能,查看端口可以用命令:

rpcinfo -p localhost
# 其中2049、111是固定端口,mounted和nlockmgr对应的端口是随机分配的。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_61251376/article/details/131482245