1. NFS客户端挂载导出的目录的方式
NFS(网络文件系统) 允许将远程服务器的目录挂载到本地,像访问本地文件一样操作远程文件。挂载方式主要有两种:
-
手动挂载:使用
mount
命令(临时生效,重启后丢失)。mount -t nfs server_ip:/shared_dir /local/mount_point
-
自动挂载:通过
/etc/fstab
配置(永久生效)。# 编辑 /etc/fstab server_ip:/shared_dir /local/mount_point nfs defaults 0 0 # 执行挂载 mount -a
通俗比喻:
-
手动挂载像临时租用仓库,用完即还。
-
自动挂载像买下仓库,随时可用。
2. NFSv4 与 NFSv3 的区别
特性 | NFSv3 | NFSv4 |
---|---|---|
协议状态 | 无状态(服务端不记录会话) | 有状态(服务端维护会话) |
安全性 | 依赖防火墙和额外工具(如 Kerberos) | 内置强加密和身份验证 |
文件锁定 | 需要额外协议(NLM) | 内置文件锁定机制 |
性能 | 较低(多端口通信) | 更高(单端口 TCP 通信) |
兼容性 | 广泛支持旧系统 | 需要较新内核和客户端 |
核心区别:NFSv4 更安全、高效,适合现代网络环境。
3. 卸载导出的 NFS 目录
使用 umount
命令卸载:
umount /local/mount_point
若提示“设备繁忙”:
-
查找占用进程:
lsof /local/mount_point # 查看正在使用文件的进程 fuser -mv /local/mount_point # 显示进程 PID
-
终止进程或强制卸载:
kill -9 PID # 终止进程 umount -f /local/mount_point # 强制卸载(慎用)
4. 自动挂载器(Autofs)及其优势
Autofs 是“智能管家”,按需自动挂载目录,无访问时自动卸载。
-
优势:
-
节省资源:空闲时卸载,减少网络和内存占用。
-
无缝体验:用户访问目录时自动挂载,无需手动操作。
-
配置示例:
-
安装并启动服务:
sudo yum install autofs systemctl start autofs
-
编辑主映射文件
/etc/auto.master
:/mnt/nfs /etc/auto.nfs # 挂载点 -> 子映射文件
-
创建子映射文件
/etc/auto.nfs
:data -rw,sync server_ip:/shared_data
5. 直接映射与间接映射
-
直接映射:挂载点路径在映射文件中明确指定。
/mnt/remote -rw server_ip:/remote_dir
-
间接映射:挂载点位于父目录下,路径更灵活。
# 主映射文件 /mnt/auto /etc/auto.indirect # 子映射文件 /etc/auto.indirect docs -ro server_ip:/docs
通俗理解:
-
直接映射像固定地址送货。
-
间接映射像快递柜,按需取件。
6. 主映射文件的作用与创建
-
主映射文件:
/etc/auto.master
,定义自动挂载的根目录和子映射文件。 -
作用:告诉 Autofs 哪些目录需要自动挂载,以及如何查找配置规则。
创建步骤:
# 编辑主映射文件
vim /etc/auto.master
# 添加条目:挂载点 子映射文件
/mnt/autofs /etc/auto.custom
7. 映射文件条目的格式与命名规则
条目格式:
挂载点名称 [挂载选项] 服务器:导出目录
-
示例:
backup -rw,sync nfs_server:/backups
-
命名规则:
-
挂载点名称对应自动挂载目录下的子目录(如
/mnt/autofs/backup
)。 -
选项需符合 NFS 协议(如
ro
只读,rw
读写)。
-
8. RHEL 的启动过程
-
BIOS/UEFI:初始化硬件,加载引导程序(GRUB)。
-
GRUB:选择内核并加载到内存。
-
内核初始化:挂载根文件系统,启动
systemd
(PID=1)。 -
systemd:按目标(target)启动服务,进入系统。
通俗流程:开机自检 → 选择系统 → 加载核心 → 启动服务 → 用户登录。
9. systemd 目标(Target)及常用目标
目标:相当于旧版的“运行级别”,定义系统启动状态。
目标 | 作用 |
---|---|
multi-user.target | 多用户命令行模式(无图形界面) |
graphical.target | 图形界面模式 |
rescue.target | 单用户救援模式 |
emergency.target | 紧急 Shell(最简环境) |
切换目标:
systemctl isolate multi-user.target # 切换到命令行模式
设置默认目标:
systemctl set-default graphical.target
10. 启动时选择其他目标
-
在 GRUB 菜单界面按
e
进入编辑模式。 -
找到以
linux
开头的行,末尾添加:systemd.unit=multi-user.target
-
按
Ctrl+X
启动,系统将进入指定目标。
11. 从启动加载器重置 root 密码
步骤:
-
重启系统,在 GRUB 菜单按
e
进入编辑模式。 -
找到
linux
行,附加rd.break,该选项会中断系统从initramfs镜像向实际系统移交控制权 -
按
Ctrl+X
启动进入单用户模式。 -
重新挂载根目录并修改密码:
chroot /sysroot passwd root touch /.autorelabel # 重置 SELinux 上下文 exit reboot
注意:此方法适用于物理机或具有控制台的虚拟机。