【Linux学习笔记24-2】网络文件系统 nfs + 自动挂卸载autofs

1. nfs介绍

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

  1. 用途:网络上与他人共享目录和文件
  2. 优点:节省磁盘空间
  3. 用途:共享文件

注意

  • NFS不提供加密功能. 在处理敏感数据时,请使用类似Kerberos或安全的VPN的协议传输NFS流量
  • Samba不同, NFS默认不提供任何验证用户的方法,客户端访问限制是通过IP地址和/或hostname实现的.
  • NFS期望user和/或user group的ID在客户端与服务端上是相同的.使用启用NFSv4 ID映射,或使用anonuid/anongid并在/etc/exports中启用all_squash,手动改变UID/GID来解决这一问题

2. nfs安装及启用

  1. dnf search nfs查询
  2. dnf install nfs-utils.x86_64 -y:安装
  3. systemctl enable --now nfs-server:启动服务
  4. 添加火墙设定:
    • firewall-cmd --permanent --add-service=rpc-bind
    • firewall-cmd --permanent --add-service=mountd
    • firewall-cmd --permanent --add-service=nfs
    • firewall-cmd --reload
  5. showmount -e 服务器主机IP:查看nfs服务器共享信息
showmount参数
-e 显示NFS服务器的共享列表
-a 显示本机挂载的文件资源的情况(NFS资源的情况)
-v 显示版本号

在这里插入图片描述
在这里插入图片描述

3. nfs配置

  • 配置文件:/etc/exports
#文件格式
共享目录		共享给谁(共享参数)
  • exportfs -rv:刷新后/etc/exports生效并输出详细信息
  • showmount -e 服务器主机IP:查看nfs服务器共享信息
  • mount 服务器主机IP:共享目录 挂载点:挂载
exportfs参数
-r 重新读取并同步/etc/exports和/etc/exports.d
-v 输出详细信息
-a 挂载或卸载/etc/exports所有目录
-u 卸载单一目录(和a一起为卸载所有)
-s 显示适用于/etc/exports的当前导出目录列表

3.1 服务器端配置

  1. mkdir /lwh:创建共享目录
  2. chmod 777 /lwh/:修改目录权限
  3. touch /lwh/lwh_file{1…3}:建立共享文件
  4. vim /etc/exports:编辑配置文件
/lwh	*(ro)	#共享/lwh目录,共享给所有人,只读共享
共享目录		共享给谁(共享参数)
  1. exportfs -rv:刷新后/etc/exports生效并输出详细信息

在这里插入图片描述

3.2 客户端测试

  1. showmount -e 192.168.43.101:查看nfs服务器共享信息
  2. mount 192.168.43.101:/lwh /mnt/:挂载

在这里插入图片描述

4. nfs共享参数

ro 只读
rw 读写
sync 实时同步数据到服务器 (效率低,但保证数据一致性)
async 更改生成后同步数据到服务器
root_squash root用户及所属组都映射为匿名用户或组nobody(默认)
no_root_squash root用户挂载不转换身份
all_squash 客户端无论以什么身份访问,都映射为匿名用户nobody
anonuid=1000 指定用户身份
anongid=1000 指定用户组身份

4.1 访问权限

  • 服务器端配置

在这里插入图片描述

  • 客户端挂载测试

在这里插入图片描述

4.2 用户设置1

  • 服务器端配置

在这里插入图片描述

  • 客户端挂载测试

在这里插入图片描述

  • 服务器端对照建立文件用户及用户组

在这里插入图片描述

4.3 用户设置2

  • 服务器端配置

在这里插入图片描述

  • 客户端挂载测试

在这里插入图片描述

4.4 添加版本号挂载

mount -o vers=3 服务器端IP:共享目录 挂载目录

在这里插入图片描述

5. nfs+autofs自动挂卸载

autofs:在客户端实现自动挂载卸载的软件;

mount是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载;而光盘、软盘、NFS、SMB等文件系统具有动态性,即需要的时候才有必要挂载。光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们一般不能及时知道NFS共享和SMB什么时候可以挂载。而autofs服务就提供这种功能,好像windows中的光驱自动打开功能,能够及时挂载动态加载的文件系统。免去我们手动挂载的麻烦。要实现光驱,软盘等的动态自动挂载,需要进行相关的配置。

dnf install autofs -y:客户端安装autofs

5.1 自动挂载实验1

  1. vim /etc/auto.master:编辑配置文件
/mnt    /etc/auto.nfs
最终挂载点的上层目录	自动定义子策略文件

在这里插入图片描述

  1. vim /etc/auto.nfs:编辑自动定义子策略文件
 nfs     -vers=3 192.168.43.101:/westosdir
 最终挂载点	版本	挂载资源

在这里插入图片描述

  1. vim /etc/autofs.conf:修改默认卸载时间
timeout = 3	#自动卸载时间默认为300秒
  1. systemctl restart autofs.service:重启服务
  2. 测试

在这里插入图片描述

5.2 自动挂载实验2

5.2.1 客户端autofs配置

  1. vim /etc/auto.master:编辑配置文件
/home   /etc/auto.nfs
最终挂载点的上层目录	自动定义子策略文件

在这里插入图片描述

  1. vim /etc/auto.nfs:编辑自动定义子策略文件
*       -vers=3 192.168.43.101:/lwh/&
最终挂载点	版本	挂载资源

在这里插入图片描述

  1. vim /etc/autofs.conf:修改默认卸载时间
timeout = 3	#自动卸载时间默认为300秒
  1. systemctl restart autofs.service:重启服务

5.2.2 服务端设置

  1. mkdir /lwh/sdsnzy1 /lwh/sdsnzy2:创建目录并建立文件

在这里插入图片描述

5.2.3 客户端测试

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46069582/article/details/110460706