Linux下的NFS网络文件系统部署

实验环境

Redhat企业8(192.168.1.19):部署nfs-server服务,作为服务端,分享资源
Redhat企业7(192.168.1.29):作为客户端,测试nfs服务效果

1. NFS简介

NFS(Network File System)网络文件系统,一种使用于分散式文件协定,功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。
NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC(Remote Procedure Call)远程过程调用,是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。

  • 安装包名称:nfs-utils.x86_64
  • 服务名称: nfs-server
  • 共享配置文件: /etc/exports

2. NFS 安装与启用

①:安装nfs :dnf install nfs-utils.x86_64 -y
②:开启nfs-server服务,并设定开机自启 :systemctl enable --now nfs-server
③:在防火墙策略中,开启 nfs ; mountd ; rpc-bind 服务
Linux下的NFS网络文件系统部署

3.NFS服务端共享配置

①:创建文件:mkdir nfs-share ;修改共享配置文件 :vim /etc/exports ,把/nfs_share目录,只读共享出去
Linux下的NFS网络文件系统部署
②:重新挂载并显示共享文件 exportfs -rv
Linux下的NFS网络文件系统部署

exportfs 命令常用参数 作用
-a 全部挂载(或卸载)/etc/exports配置文件内的设定
-r 重新挂载/etc/exports 里面的设定(使共享配置立即生效)
-u 卸载某一目录
-v export时显示共享目录

③:在客户端测试: showmount -e 192.168.1.19
Linux下的NFS网络文件系统部署
④:客户端挂载共享目录到本地/mnt : mount 192.168.1.19:/nfs_share /mnt
Linux下的NFS网络文件系统部署

4.NFS配置参数

参数 作用
sync 客户端对共享资源作出更改,更改生成后同步数据到服务器
async 及时同步数据到服务器
rw 读写
ro 只读
anonuid=1000,anongid=1000 指定用户身份,用户组;默认为nobody
no_root_squash root用户身份挂载,不转换身份

示例:
①:在服务端修改配置文件 :vim /etc/exports ;指定所有人对共享目录读写挂载,只有192.168.1.29主机只读
Linux下的NFS网络文件系统部署
②:立即生效更改后的配置文件 :exportfs -rv
③:在192.168.1.29客户端挂载共享目录,无法创建文件
Linux下的NFS网络文件系统部署
④:在服务端不指定用户身份,使用默认参数,在客户端创建testfile1文件;在服务端指定root用户身份挂载,不转换身份no_root_squash ,客户端创建testfile2文件;在服务端指定anonuid=1000,anongid=1000 ,客户端创建testfile3文件
Linux下的NFS网络文件系统部署
Linux下的NFS网络文件系统部署
Linux下的NFS网络文件系统部署
⑤:在服务端查看文件属性,客户端建立的3个文件,身份发生改变
Linux下的NFS网络文件系统部署

5.nfs+autofs

默认挂载:
①:在客户端安装并开启autofs服务
②:autofs默认在/net下挂载nfs的共享目录 ;在/net目录下,cd 192.168.1.19 通过nfs服务器ip自动挂载共享资源
Linux下的NFS网络文件系统部署
指定挂载:
①:在客户端vim /etc/auto.master ,修改主配置文件,指定挂载点的上级目录以及配置策略文件
Linux下的NFS网络文件系统部署
②:vim /etc/auto.nfs ,修改配置策略文件,设定挂载策略
Linux下的NFS网络文件系统部署
③:重启autofs服务后访问/mnt/nfs,nfs共享资源自动挂载
Linux下的NFS网络文件系统部署