NFS -- Network File System,网络文件系统
NFS是一种在计算机网络上通过共享文件系统的方式实现文件共享的协议。NFS服务器将其文件系统的一部分或全部共享给客户端,使得客户端可以像访问本地文件一样访问远程服务器上的文件。
用途:为客户机提高共享使用的文件夹
使用协议:NFS(TCP/UDP)、RPC(TCP/UDP)
测试使用Linux系统版本:Rocky Linux release 8.6 (Green Obsidian)
Rocky Linux是一个由Gregory Kurtzer创建的开源企业级Linux发行版,与CentOS系统、RedHat红帽系统同源
服务所使用软件包:nfs-utils(系统YUM自带软件包,除最小安装以外系统默认安装此软件包)
系统服务名称:nfs-server
服务所使用端口:2049、111端口,挂载端口(1024-32767)
2049端口是NFS(Network File System)服务的默认端口,用于在NFS服务器和客户端之间传输数据
111端口是RPC协议使用端口,RPC(Remote Procedure Call)服务通常用于NFS服务的授权和管理。rpcbind(或者在一些系统中称为portmap)是一个守护进程,用于管理RPC服务的端口映射。
挂载端口是用于处理NFS客户端的挂载请求。mountd守护进程监听在NFS服务器上的可变端口,通常是在1024到32767范围内
检测NFS服务是否启动,可以使用检测端口是否开启,可以使用rpcinfo -p 检测nfs端口开启
实验搭建测试:
基础环境: Server端 192.168.88.33
客户端 192.168.88.44
环境要求:SELinux设置为Permissive模式
Firewalld防火墙设置所有服务放行或者卸载防火墙软件
测试机器可以互相连接,可以使用ping测试
服务端安装软件包以后,需要创建想要共享的目录,并将所需要共享的文件放入共享目录下,在修改NFS服务配置文件,再重启服务即可
[root@server ~] rpm -q nfs-utils
nfs-utils-1.3.0-0.54.el7.x86_64
[root@server ~] mkdir /abc #创建共享目录
[root@server ~] echo haha > /abc/h.txt
[root@server ~] echo xixi > /abc/x.txt
[root@server ~] ls /abc/
[root@server ~] vim /etc/exports
文件夹路径 客户机地址(权限)
/abc *(ro) #允许所有客户端进行只读访问
[root@server ~] systemctl restart nfs-server
#可以将服务端的NFS共享设置开机自启服务,即可在服务端开机后,客户端随时查看
[root@server ~] systemctl enable nfs-server #开机自启动服务
在客户端安装软件以后,检测是否与服务端互通,在检测服务端NFS共享是否可以使用,之后可以将NFS共享挂载到客户端目录,这样即可随时查看共享内容
[root@client ~] rpm -q nfs-utils
nfs-utils-1.3.0-0.54.el7.x86_64
[root@client ~] showmount -e 192.168.88.33 #查看对方nfs共享
Export list for 192.168.88.33:
/abc *
[root@client ~] mkdir /mnt/mynfs
[root@client~] mount 192.168.88.33:/abc /mnt/mynfs
[root@client ~]ls /mnt/mynfs
[root@client ~]df -h /mnt/mynfs #查看正在挂载的设备信息
#客户端实现开机自动挂载,即可享受开机自动享受服务
#_netdev:声明网络设备,系统在具备网络参数后,再进行挂载本设备
[root@server ~] vim /etc/fstab
……此处省略一万字
192.168.88.33:/abc /mnt/mynfs nfs _netdev 0 0
[root@server ~] umount /mnt/mynfs
[root@server ~] ls /mnt/mynfs
[root@server ~] mount -a
[root@server ~] ls /mnt/mynfs
#搭建好一台客户机以后,其他客户机与第一台客户机部署步骤一样