实验环境
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共享资源自动挂载