详解 Linux 中的 /etc/fstab 文件

做Linux运维,有一个文件必须要熟悉的,那就是/etc/fstab 。它是一个至关重要的配置文件,它负责管理文件系统的挂载信息,确保系统启动时能够自动完成存储设备与目录树的关联。

一、什么是 /etc/fstab?

/etc/fstab(File System Table)是 Linux 系统中定义文件系统挂载规则的配置文件。是告诉系统在启动时如何自动挂载各类存储设备,包括本地硬盘分区、U 盘、网络存储(如 NFS)等。

在 Linux 中,"挂载" 是将存储设备与目录树中的某个目录关联的操作,参考另一篇文章:救命!服务器崩了竟因不会挂U盘?Linux命令行挂载秘籍,运维小哥血泪总结...通过挂载,用户可以像访问普通目录一样读写设备中的文件(Linux一切皆文件)。而 fstab 则将这一过程自动化,避免了每次启动系统后手动执行 mount 命令的繁琐。

二、/etc/fstab 的文件格式

fstab 文件的每一行对应一个文件系统的挂载配置,由6 个字段组成,字段之间用空格或制表符分隔,顺序不可调换。基本格式如下:

复制代码
`<设备文件>  <挂载点>  <文件系统类型>  <挂载选项>  <dump参数>  <fsck参数>`

设备文件(Device):指定需要挂载的设备或分区,常见表示方式有三种:

1、设备名:如 /dev/sda1(第一个硬盘的第一个分区),但设备名可能因启动顺序变化而不稳定。

2、UUID:分区的唯一标识符(如 UUID=550e8400-e29b-41d4-a716-446655440000),是最推荐的方式,不受设备名变化影响。

3、LABEL:若分区设置了标签,可通过 LABEL=自定义名字 引用。

挂载点(Mount Point):设备挂载到目录树中的路径,最好是一个空目录,我个人喜欢挂载到/mnt上面。

文件系统类型(File System Type):指定分区的文件系统格式,常见类型包括:

复制代码
ext4:Linux 主流文件系统,支持日志功能;xfs:高性能文件系统,适合大数据场景;vfat:FAT32 格式,用于兼容 Windows 设备(如 U 盘);ntfs:Windows 系统常用格式;swap:交换分区,用于扩展系统内存;nfs:网络文件系统,用于挂载远程服务器目录。

挂载选项(Mount Options):控制文件系统的挂载行为,多个选项用逗号分隔,常见选项包括:​​​​​​​

复制代码
defaults:默认选项(包含 rw、suid、dev、exec、auto 等);ro/rw:只读 / 读写模式;noatime:不更新文件访问时间,提升 SSD 性能;user/nouser:允许 / 禁止普通用户挂载;noauto:不自动挂载,需手动执行 mount 命令;nofail:设备不可用时不影响系统启动(这个强烈建议加上,不然挂载的硬盘出现问题,无法启动系统,就只能半夜爬起来去机房了!!!)。

dump 参数:用于指定是否通过 dump 工具备份该分区,通常设置为 0(不备份),1 表示允许备份。由于 dump 工具已较少使用,该字段一般无需修改。

fsck 参数:决定系统启动时是否通过 fsck 工具检查文件系统,以及检查顺序:​​​​​​​

复制代码
0:不检查(如 swap 分区、NFS 挂载);1:优先检查(通常用于根分区 /);2:次要检查(如 /home、/boot 等分区)。#注:不同 Linux 发行版的默认值不同,例如 Ubuntu 中根分区默认设为 1,而 CentOS 则默认设为 0。

常见配置示例

三、 NFS 网络挂载​​​​​​​

复制代码
`192.168.1.100:/shared  /mnt/nfs  nfs  defaults,rw,hard  0  0``#将远程服务器 192.168.1.100 的 /shared 目录挂载到本地 /mnt/nfs,不进行 fsck 检查。`

四、注意事项

  1. 修改后生效:编辑 fstab 后,需执行 systemctl daemon-reload 让系统重新加载配置。
  2. 错误风险:配置错误可能导致系统启动失败,建议修改前备份文件(cp /etc/fstab /etc/fstab.bak)。
  3. UUID 查询:可通过 blkid 命令查看分区的 UUID,确保设备标识准确。

总结,/etc/fstab 是 Linux 存储管理的核心配置,掌握其格式与用法,能有效提升系统的稳定性和管理效率,尤其在服务器运维和多设备环境中至关重要。

相关推荐
menggb072 小时前
在Linux系统上安装和使用Prometheus+Grafana
linux·运维·prometheus
2301_773730312 小时前
网络编程—TCP传输控制协议
服务器·网络·tcp/ip
TG:@yunlaoda360 云老大2 小时前
华为云国际站代理商HiLens的技术优势对跨境客户有哪些具体帮助?
服务器·数据库·华为云
TG:@yunlaoda360 云老大2 小时前
华为云国际站代理商DAS的跨境合规适配在游戏出海场景中的应用
服务器·网络·游戏·华为云
苹果醋33 小时前
iview— Select— Option选中后有空格
运维·vue.js·spring boot·nginx·课程设计
TG:@yunlaoda360 云老大3 小时前
华为云国际站代理商的DDM主要有什么作用呢?
服务器·数据库·华为云
wregjru3 小时前
【操作系统】linux常用指令
linux·运维·服务器
咕噜签名-铁蛋3 小时前
双雄争霸:Windows与Linux操作系统的技术博弈与生态进化
服务器
看-清3 小时前
Docker离线安装部署xxl-job流程
运维·docker·容器