【RH134总结】 八

目录

[一、NFS 核心功能与版本演进](#一、NFS 核心功能与版本演进)

[1.1 什么是 NFS?](#1.1 什么是 NFS?)

[1.2 NFS 版本差异](#1.2 NFS 版本差异)

[二、客户端挂载 NFS 共享](#二、客户端挂载 NFS 共享)

[2.1 查询服务器导出的共享目录](#2.1 查询服务器导出的共享目录)

[2.2 手动挂载 NFS 共享](#2.2 手动挂载 NFS 共享)

[2.3 持久挂载 NFS 共享](#2.3 持久挂载 NFS 共享)

[2.4 卸载 NFS 共享](#2.4 卸载 NFS 共享)

[三、自动挂载器 autofs](#三、自动挂载器 autofs)

[3.1 核心优势](#3.1 核心优势)

[3.2 配置 autofs 的步骤](#3.2 配置 autofs 的步骤)

[3.3 间接映射和直接映射的主要区别](#3.3 间接映射和直接映射的主要区别)

四、总结


一、NFS 核心功能与版本演进

1.1 什么是 NFS?

NFS 是由 Sun 公司开发的分布式文件系统协议,它使得不同主机(无论是 Linux、UNIX 还是类 UNIX 系统)之间可以通过网络透明地共享文件和目录。

核心功能

NFS 是一种分布式文件系统协议,主要功能包括:

1.允许远程计算机通过网络访问共享文件。

2.实现文件系统在客户端和服务器之间的透明访问。

3.支持文件的共享、读取和写入,使得多个计算机可以共享相同的文件系统。

1.2 NFS 版本差异

在红帽企业 Linux 9 中,默认使用 NFSv4.2,同时全面支持 NFSv3 和 NFSv4:

NFSv3 :依赖 RPC 协议,需要 rpcbind 服务,支持 TCP 和 UDP 传输。

NFSv4:摒弃了传统的 RPC 协议,仅支持 TCP 传输,通过单一端口进行通信,配置更简单,安全性更高,且支持更复杂的导出树结构。

二、客户端挂载 NFS 共享

如何安装与配置 NFS?

1.安装 NFS 服务器软件包:使用发行版的包管理工具安装 ( dnf install nfs-unils)nfs-utils。

2.配置 NFS 共享:编辑 /etc/exports 文件,写入共享目录、允许的客户端范围、权限选项(如 rw,sync)。

3.重启 NFS 服务:sudo systemctl restart nfs-utils

在使用 NFS 之前,客户端需要先安装必要的工具包:

复制代码
dnf install nfs-utils

2.1 查询服务器导出的共享目录

在挂载之前,我们需要知道服务器上有哪些目录可以共享。

对于 NFSv3 :使用 showmount 命令,它依赖于服务器上的 rpcbind 服务。

复制代码
showmount --exports server

对于 NFSv4 :直接挂载服务器的根目录 /,即可浏览其下所有导出的共享。

复制代码
mkdir /mnt/nfs_root
mount server:/ /mnt/nfs_root
ls /mnt/nfs_root

2.2 手动挂载 NFS 共享

手动挂载是最直接的方式,适用于临时访问或测试场景。

创建挂载点 :用 mkdir 创建挂载点

复制代码
mkdir /mnt/mountpoint

执行挂载命令 :NFS 共享必须由特权用户(root)进行挂载。-t nfs 指定文件系统类型,rw 表示读写权限,sync 强制同步写入。1. 临时挂载:使用 mount 命令挂载 NFS 共享 2.永久挂载:编辑 /etc/fstab 文件以添加挂载条目。

复制代码
mount -t nfs -o rw,sync server:/export /mnt/mountpoint

验证挂载

复制代码
mount | grep nfs

2.3 持久挂载 NFS 共享

手动挂载在系统重启后会失效。要实现开机自动挂载,需要编辑 /etc/fstab 文件。

编辑 /etc/fstab,添加一行挂载信息:

复制代码
server:/export /mnt/mountpoint nfs rw 0 0

server:/export:NFS 服务器地址和导出目录。

/mnt/mountpoint:本地挂载点。

nfs:文件系统类型。

rw:挂载选项。

0 0:表示无需 dump 备份和 fsck 检查。

测试挂载

复制代码
mount /mnt/mountpoint

此命令会读取 /etc/fstab 中的配置并完成挂载。

2.4 卸载 NFS 共享

使用 umount 命令卸载共享。如果提示 "设备忙",通常是因为有进程或 shell 正在访问挂载点目录。

复制代码
# 正常卸载
umount /mnt/mountpoint

# 检查占用进程
lsof /mnt/mountpoint

# 强制卸载(紧急情况使用)
umount -f /mnt/mountpoint

三、自动挂载器 autofs

对于不常使用的 NFS 共享,/etc/fstab 的持久挂载会在开机时占用资源。autofs 服务提供了更智能的解决方案:按需挂载。它会在用户访问挂载点时自动挂载 NFS 共享,在闲置超时后自动卸载,既方便又高效。

3.1 核心优势

  • 按需使用:访问时挂载,闲置时卸载,节省系统资源。
  • 故障恢复:自动重新挂载,避免因网络波动导致的挂载失效。
  • 负载均衡:可以配置多个服务器地址,自动选择最快的连接。

3.2 配置 autofs 的步骤

复制代码
dnf install autofs nfs-utils

安装软件包

创建主映射文件 :在 /etc/auto.master.d/ 目录下创建一个以 .autofs 结尾的文件,定义自动挂载的 "基础目录" 和对应的 "映射文件"。

间接映射示例(适合挂载点有层级关系的场景):

复制代码
# /etc/auto.master.d/shares.autofs
/shares /etc/auto.demo

这表示所有自动挂载点都将位于 /shares 目录下,具体的挂载规则由 /etc/auto.demo 文件定义。

直接映射示例(适合挂载点是分散的绝对路径的场景):

复制代码
# /etc/auto.master.d/direct.autofs
/- /etc/auto.direct

/ - 是固定标识,表示下面的映射文件中定义的是绝对路径的挂载点。

创建映射文件:映射文件定义了具体的挂载点名称、选项和源 NFS 路径。

间接映射文件 /etc/auto.demo

复制代码
work -rw,sync serverb:/shares/work

当访问 /shares/work 时,会自动挂载 serverb:/shares/work

​​​​​​​通配符技巧 :如果服务器导出了 /shares 下的多个子目录,可以使用通配符 *& 简化配置:

复制代码
* -rw,sync serverb:/shares/&

这样访问 /shares/project1 就会自动挂载 serverb:/shares/project1

直接映射文件 /etc/auto.direct

复制代码
/mnt/docs -rw,sync serverb:/shares/docs

当访问 /mnt/docs 时,会自动挂载 serverb:/shares/docs

启动并启用 autofs 服务

复制代码
systemctl enable --now autofs

3.3 间接映射和直接映射的主要区别

1.直接映射:挂载点是独立的绝对路径,主映射文件中必须用固定标识 /- 声明,适合挂载点分散独立的场景。

2.间接映射:挂载点是 基础目录 + 子挂载点的层级结构,主映射文件中声明的是基础挂载目录(如 /mnt/nfs),适合NFS 服务器导出一个目录中的多个子目录时,可将 autofs 配置为使用单个映射条目访问这些子目录其中的任何一个。

四、总结

手动挂载:适合临时访问或测试场景,操作直接,但重启后失效。

持久挂载 (/etc/fstab):适合需要长期稳定访问的核心共享,开机自动挂载。

自动挂载 (autofs):适合不常使用的共享或需要故障恢复的场景,按需挂载,智能高效。

版本选择:优先使用 NFSv4,它在性能、安全性和配置简便性上都优于 NFSv3。

相关推荐
nbsaas-boot2 小时前
AI编程的现实困境与未来路径:从“可用”到“可靠”的跃迁
java·运维·开发语言·架构
草莓熊Lotso2 小时前
MySQL 多表连接查询实战:内连接 + 外连接
android·运维·数据库·c++·mysql
17(无规则自律)2 小时前
深度剖析Linux Input子系统(1):宏观架构与核心原理
linux·嵌入式硬件
gordon~92 小时前
docker镜像安装
运维·docker·容器
another heaven3 小时前
【软考 单体式系统与微服务系统】
微服务·云原生·架构
草莓熊Lotso3 小时前
Linux 进程信号深度解析(下):信号的保存、阻塞与捕捉
android·linux·运维·服务器·数据库·c++·性能优化
浅念-9 小时前
Linux 开发环境与工具链
linux·运维·服务器·数据结构·c++·经验分享
似水এ᭄往昔11 小时前
【Linux】gdb的使用
linux·运维·服务器
优雅的造轮狮11 小时前
WSL2 Docker Desktop配置优化及迁移D盘指南
运维·docker·容器