3.6.3 /etc/fstab配置与启动挂载
3.6.3 /etc/fstab配置与启动挂载#
/etc/fstab 用于定义系统启动时的自动挂载策略,正确配置可保证设备稳定挂载并避免启动卡顿。本节包含原理示意、配置示例、验证流程、排错与练习。
原理草图:启动挂载流程
文件格式与字段说明(6列)
1. 设备:/dev/sdb1、UUID=、LABEL=、网络路径
2. 挂载点:/、/data
3. 文件系统类型:ext4、xfs、nfs、swap
4. 挂载选项:defaults、noatime、_netdev
5. dump:是否参与 dump 备份,常用 0
6. fsck:启动检查顺序,0不检查,1根分区,2其他分区
完整配置示例(带注释)
# /etc/fstab
# 设备 挂载点 类型 选项 dump fsck
UUID=1a2b-3c4d / xfs defaults 0 1
UUID=5e6f-7a8b /data ext4 defaults,noatime 0 2
/dev/sdb2 swap swap defaults 0 0
192.168.1.10:/share /mnt/share nfs defaults,_netdev,nofail 0 0
关键命令与解释
# 1) 获取设备 UUID 与 LABEL
blkid
# 说明:输出设备的 UUID/LABEL,用于稳定引用
# 2) 创建挂载点
mkdir -p /data /mnt/share
# 说明:挂载点必须是空目录
# 3) 立即验证 /etc/fstab 语法与挂载
mount -a
# 说明:按 /etc/fstab 执行挂载;有语法错误会报错
# 4) 查看挂载结果
findmnt -r /data /mnt/share
# 说明:显示实际挂载源、类型和选项
# 5) 查看 systemd 生成的挂载单元(可选)
systemctl list-units --type=mount | grep data
常见挂载选项与适用场景
- noatime:减少写入,适合数据盘
- _netdev:网络就绪后挂载,NFS/CIFS 推荐
- nofail:挂载失败不阻塞启动
- x-systemd.automount:按需挂载,降低启动依赖
systemd 相关示例
# /etc/fstab 中为 NFS 设置按需挂载
192.168.1.10:/share /mnt/share nfs defaults,_netdev,x-systemd.automount 0 0
排错步骤(必做)
1. 启动卡在挂载:切到救援模式或单用户模式
2. 注释故障行:在 /etc/fstab 前加 #
3. 重新验证:mount -a
4. 排查设备名:lsblk -f 或 blkid
5. 检查网络:ping 192.168.1.10(NFS)
典型报错与处理
- mount: wrong fs type, bad option: 文件系统类型或选项错误
- 处理:核对第3列与第4列,使用 lsblk -f 确认类型
- special device UUID=... does not exist:UUID 变化
- 处理:用 blkid 更新 UUID
- Dependency failed for /mnt/share:网络未就绪
- 处理:加 _netdev 或 x-systemd.requires=network-online.target
练习
1. 新建分区 /dev/sdb1,格式化为 ext4,并用 UUID 挂载到 /data。
2. 在 /etc/fstab 加入 nofail 与 noatime,执行 mount -a 验证。
3. 模拟错误:将 fsck 列改为 9,执行 mount -a,观察并修正。
通过规范化 /etc/fstab 配置、验证与排错流程,可确保启动挂载稳定可靠。