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 服务
3.NFS服务端共享配置
①:创建文件:mkdir nfs-share
;修改共享配置文件 :vim /etc/exports
,把/nfs_share目录,只读共享出去
②:重新挂载并显示共享文件 exportfs -rv
exportfs 命令常用参数 | 作用 |
---|---|
-a | 全部挂载(或卸载)/etc/exports配置文件内的设定 |
-r | 重新挂载/etc/exports 里面的设定(使共享配置立即生效) |
-u | 卸载某一目录 |
-v | export时显示共享目录 |
③:在客户端测试: showmount -e 192.168.1.19
④:客户端挂载共享目录到本地/mnt : mount 192.168.1.19:/nfs_share /mnt
4.NFS配置参数
参数 | 作用 |
---|---|
sync | 客户端对共享资源作出更改,更改生成后同步数据到服务器 |
async | 及时同步数据到服务器 |
rw | 读写 |
ro | 只读 |
anonuid=1000,anongid=1000 | 指定用户身份,用户组;默认为nobody |
no_root_squash | root用户身份挂载,不转换身份 |
示例:
①:在服务端修改配置文件 :vim /etc/exports
;指定所有人对共享目录读写挂载,只有192.168.1.29主机只读
②:立即生效更改后的配置文件 :exportfs -rv
③:在192.168.1.29客户端挂载共享目录,无法创建文件
④:在服务端不指定用户身份,使用默认参数,在客户端创建testfile1文件;在服务端指定root用户身份挂载,不转换身份no_root_squash
,客户端创建testfile2文件;在服务端指定anonuid=1000,anongid=1000
,客户端创建testfile3文件
⑤:在服务端查看文件属性,客户端建立的3个文件,身份发生改变
5.nfs+autofs
默认挂载:
①:在客户端安装并开启autofs服务
②:autofs默认在/net下挂载nfs的共享目录 ;在/net目录下,cd 192.168.1.19
通过nfs服务器ip自动挂载共享资源
指定挂载:
①:在客户端vim /etc/auto.master
,修改主配置文件,指定挂载点的上级目录以及配置策略文件
②:vim /etc/auto.nfs
,修改配置策略文件,设定挂载策略
③:重启autofs服务后访问/mnt/nfs,nfs共享资源自动挂载