什么是NFS服务器?

NFS就是网络文件系统(Network File System)的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利

NFS的特点

  • NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源
  • 在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样
  • nfs适用于Linux与Unix之间实现文件共享,不能实现Linux与Windows间的文件共享功能
  • nfs是运行在应用层的协议,其监听于2049/tcp和2049/udp套接字上
  • nfs服务只能基于IP进行认证

配置服务端

  1. 安装NFS服务程序,此处我已经安装完成

yum install nfs-utils

安装nfs服务程序

  1. 配置NFS服务器,NFS服务器的配置文件为/etc/exports

使用vim打开 vim /etc/exports

格式:共享目录路径 允许访问的NFS客户端(共享权限参数)

比如:/test 192.168.20.0/24(rw,sync,all_squash)

注释:将/test目录共享给192.168.20.0/24网段内所有主机,rw表示读写,sync表示同时将数据写入到内存与硬盘中,保证不丢失数据,all_squash表示无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户

参数作用
ro只读
rw读写
root_squash当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户

no_root_squash
当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户

sync
同时将数据写入到内存与硬盘中,保证不丢失数据
async优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

允许访问的客户端可以是完整的ip,也可以是网段或者是主机名

  1. 创建共享目录,写入测试文件,修改权限,放行防火墙和关闭selinux

mkdir /test

echo "dddsdssd" > /test/test.txt

chmod -R 777 /test/

firewall-cmd --set-default-zone=trusted

setenforce 0

此处防火墙为全部放通,如不需要放通,则放行mountd、rpc-bind、nfs

  1. 启动NFS服务程序。

在使用NFS服务需要使用RPC服务将NFS服务器的IP地址和端口号等信息发送给客户端。因此还需要启用rpcbind服务程序,并将这两个服务一并加入开机启动项中。

systemctl restart rpcbind

systemctl enable rpcbind

systemctl restart nfs-server

systemctl enable nfs-server

这样服务端就配置完成,接下来就是配置客户端

配置NFS客户端

  1. 使用showmount命令查询NFS服务器,-e参数显示NFS服务器的共享列表,-a为显示本机挂载的文件资源情况,-v显示版本号(如果缺少showmount命令,则需要安装相对应组件)

showmount -e nfs服务器ip

扫描

  1. 创建挂载文件,修改fstab文件

mkdir /nfstest

vim /etc/fstab

在fstab文件里面写入以下格式信息:

nfs服务器ip:共享目录 挂载目录 nfs defaults 0 0

  1. 挂载查看

mount -a

df -h


NFS服务器搭建步骤就结束了,如有疑问或补充可以在评论区留言

最后修改:2024 年 05 月 01 日
如果觉得我的文章对你有用,请随意赞赏