【Linux】NFS是什么?如何通过NFS挂载网络附加存储?


hello大家好😊

先导知识 ❓

NFS是什么

NFS(Network File System)即网络文件系统。它允许网络中的计算机之间通过TCP/IP网络共享资源。通过NFS,我们可以在不同的机器上共享一些彼此的文件。

NFS体系组成

NFS体系至少有两个主要部分:

  1. 一台NFS服务器
  2. 若干台客户机
    NFS服务器导出共享(目录)。NFS 客户端将导出的共享挂载到本地挂载点(目录)

挂载NFS共享

通常有三种方式挂载NFS共享:
3. 使用mount命令手动挂载
4. 使用 /etc/fstab 条目在启动时自动挂载
5. 按需挂载:使用autofs服务或systemd.automount功能

使用自动挂载器挂载NFS共享

自动挂载器是一种服务(autofs),它可以“ 根据需要 ”自动挂载NFS共享,并将在不再使用 NFS共享时自动卸载这些共享

使用间接映射自动挂载NFS共享

  1. 安装autofs 软件包
    示例:sudo yum install autofs
  2. /etc/auto.master.d 添加一个 主映射文件 。此文件确定用于挂载点的基础目录,并确定用于创建自动挂载的映射文件
    示例:sudo vim /etc/auto.master.d/demo.autofs
    主映射文件以.autofs 作为扩展名,可以在一个主映射文件中放置多个条目
    示例:shares /etc/auto.demo
    此条目将使用 /shares 目录作为间接自动挂载的基础目录/etc/auto.demo 文件中包含挂载详细信息。请使用绝对文件名。需要在启动autofs 服务之前创建auto.demo 文件
  3. 创建映射文件
    示例:sudo vim /etc/auto.demo
    每个映射文件确定一组自动挂载的挂载点挂载选项挂载的源位置
    示例:work -rw,sync serverb:/shares/work
    此示例显示基本的间接映射条目
  4. 启动并启用自动挂载器服务
    使用systemct1启动并启用autofs 服务
    示例:sudo systemctl enable --now autofs

使用直接映射自动挂载NFS共享

直接映射用于将NFS共享映射到现有的绝对路径挂载点
主映射文件里的条目如下:/- /etc/auto,direct
所有直接映射条目都使用**/-** 作为基础目录。在此例中,包含挂载详细信息的映射文件是 /etc/auto.direct。
/etc/auto.direct 文件的内容可能如下所示:/mnt/docs -rw,sync serverb:/shares/docs
挂载点始终为绝对路径。映射文件的其余部分使用相同的结构

使用间接通配符映射自动挂载NFS共享

当NFS服务器导出一个目录中的多个子目录时,可使用间接通配符映射,这样就可以用单个映射条目访问这些子目录其中的任何一个。
使用前面基本间接映射的示例,如果 serverb:/shares 导出两个或多个子目录,并且能够使用相同的挂载选项访问这些子目录,则 /etc/auto.demo 文件的内容可能如下所示:* -rw,sync serverb:/shares/&
当用户尝试访问/shares/work时,挂载点 *(此例中为work) 将代替源位置中的&符号,并挂载serverb:/shares/work

实验 ❗

我们接下来做一个实验去练习一下如何使用直接映射和间接映射自动挂载NFS共享

题目重点

题目的重要信息是这样的:

  • serverb 将作为NFS共享导出 /shares/indirect 目录,其中包含westcentraleast子目录
  • serverb也将作为NFS共享导出 /shares/direct/external目录
  • operators组由用户operator1operator2组成。他们对共享目录 /shares/indirect/west/shares/indirect/central/shares/indirect/east具有读写访问权限
  • contractors组由用户contractor1contractor2组成。他们对共享目录 /shares/direct/external具有读写访问权限
  • servera预期的挂载点是 /external/internal
  • 应使用 /external上的直接映射将 /shares/direct/external共享目录自动挂载到servera
  • 应使用 /internal/west上的间接映射将 /shares/indirect/west 共享目录自动挂载到servera
  • 应使用 /internal/central上的间接映射将 /shares/indirect/central共享目录自动挂载到 servera 上。
  • 应使用 /internal/east上的间接映射将 /shares/indirect/east 共享目录自动挂载到servera

过程分析

  • 登录servera并安装所需的软件包
    登录 servera、切换为 root 用户、安装autofs 软件包
    在这里插入图片描述
  • 利用serverb共享,配置 servera上的自动挂载器直接映射。使用名为 /etc/auto.master.d/direct.autofs 的文件为主映射创建直接映射,同时为映射文件创建 /etc/auto.direct。使用 /external目录作为 servera 上的主挂载点
    2.1 在继续配置自动挂载器之前,测试NFS服务器和共享
    在这里插入图片描述
    2.2 创建一个名为 /etc/auto.master.d/direct.autofs 的主映射文件,插入以下内容并保存更改:/- /etc/auto.direct
    2.3 创建一个名为 /etc/auto.direct 的直接映射文件,插入以下内容并保存更改:/external -rw,sync,fstype=nfs4 serverb.lab.example.com:/shares/direct/external
  • 利用serverb共享,配置servera上的自动挂载器间接映射。使用名为 /etc/auto.master.d/indirect.autofs 的文件为主映射创建间接映射,同时为映射文件创建**/etc/auto.indirect**。使用**/internal目录作为servera上的主挂载点**。
    3.1 创建一个名为 /etc/auto.master.d/indirect.autofs 的主映射文件,插入以下内容并保存更改:/internal /etc/auto.indirect
    3.2.创建一个名为 /etc/auto.indirect 的间接映射文件,插入以下内容并保存更改:* -rw,sync,fstype=nfs4 serverb.lab.example.com:/shares/indirect/&
  • 在servera上启动并启用autofs服务,使其在启动时自动启动。重新启动servera,以确定autofs 服务是否已自动启动
    在这里插入图片描述
  • contractor1用户身份测试直接自动挂载器映射。完成后,退出 servera上的contractor1用户会话
    在这里插入图片描述
    可以看见,contractor1对/external有读和写的权限
  • operator1用户身份测试间接自动挂载器映射。完成后,从 servera注销
    测试/internal/west 自动挂载器共享目录的访问权限
    在这里插入图片描述

总结 💯

通过前面的学习和练习,我们应该能够:

  • 从命令行挂载和卸载NFS导出
  • 为自动挂载器配置直接和间接映射,并描述二者的差异

感谢 💖

好啦,这次的分享就到这里,感谢大家看到这里🤞

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不怕娜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值