- 先导知识 ❓
- NFS是什么
- NFS体系组成
- 挂载NFS共享
- 使用自动挂载器挂载NFS共享
- 使用间接映射自动挂载NFS共享
- 使用直接映射自动挂载NFS共享
- 使用间接通配符映射自动挂载NFS共享
- 实验 ❗
- 题目重点
- 过程分析
- 总结 💯
- 感谢 💖
hello大家好😊
先导知识 ❓
NFS是什么
NFS(Network File System)即网络文件系统。它允许网络中的计算机之间通过TCP/IP网络共享资源。通过NFS,我们可以在不同的机器上共享一些彼此的文件。
NFS体系组成
NFS体系至少有两个主要部分:
- 一台NFS服务器
- 若干台客户机
NFS服务器导出共享(目录)。NFS 客户端将导出的共享挂载到本地挂载点(目录)
挂载NFS共享
通常有三种方式挂载NFS共享:
3. 使用mount命令手动挂载
4. 使用 /etc/fstab 条目在启动时自动挂载。
5. 按需挂载:使用autofs服务或systemd.automount功能
使用自动挂载器挂载NFS共享
自动挂载器是一种服务(autofs),它可以“ 根据需要 ”自动挂载NFS共享,并将在不再使用 NFS共享时自动卸载这些共享
使用间接映射自动挂载NFS共享
- 安装autofs 软件包
示例:sudo yum install autofs
- 向 /etc/auto.master.d 添加一个 主映射文件 。此文件确定用于挂载点的基础目录,并确定用于创建自动挂载的映射文件
示例:sudo vim /etc/auto.master.d/demo.autofs
主映射文件以.autofs 作为扩展名,可以在一个主映射文件中放置多个条目
示例:shares /etc/auto.demo
此条目将使用 /shares 目录作为间接自动挂载的基础目录。/etc/auto.demo 文件中包含挂载详细信息。请使用绝对文件名。需要在启动autofs 服务之前创建auto.demo 文件 - 创建映射文件
示例:sudo vim /etc/auto.demo
每个映射文件确定一组自动挂载的挂载点、挂载选项及挂载的源位置
示例:work -rw,sync serverb:/shares/work
此示例显示基本的间接映射条目 - 启动并启用自动挂载器服务
使用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 目录,其中包含west、central和east子目录
- serverb也将作为NFS共享导出 /shares/direct/external目录
- operators组由用户operator1和operator2组成。他们对共享目录 /shares/indirect/west、/shares/indirect/central和 /shares/indirect/east具有读写访问权限
- contractors组由用户contractor1和contractor2组成。他们对共享目录 /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导出
- 为自动挂载器配置直接和间接映射,并描述二者的差异