今天在技术群里,有个小伙子吐槽说跟他在对接的一个同事在删 linux 文件,其中有个文件就是/etc/fstab,着急问我们怎么恢复?我打趣地回了句,事已至此,先重启看看吧。
那今天我们来深入了解一下这个文件是干嘛用的
1 /etc/fstab
简介
/etc/fstab
是 Linux 系统启动时自动挂载文件系统的配置表。它的全称是 File Systems Table,系统在启动时会参考它来自动执行 mount
操作。
在生产环境中,fstab
影响着:
系统能否成功启动(挂载失败会进入 emergency 模式)
分区是否以正确方式挂载(只读?缓存策略?用户挂载?)
是否自动挂载 swap、RAID、NFS 等资源
性能和安全策略的预设(如
noatime
、nosuid
)
2 /etc/fstab内容详解
格式如下,每行一个挂载配置,共六个字段:
<设备> <挂载点> <文件系统类型> <挂载选项> <dump> <fsck顺序>
第1列:设备
可以是:
/dev/sdX
:传统设备名,不稳定【容易留坑】UUID=xxxx
:推荐,唯一标识设备【推荐使用】LABEL=label
:标签,更易识别【我很少用】网络路径:如
10.0.0.110:/data/nfs/share
【NFS挂载常用】
查 UUID:
blkid
更改标签:
e2label /dev/sdb1 DATA_DISK
第2列:挂载点
挂载点必须存在,没有的话需要提前创建目录,否则系统启动会失败,这个根据需求自定义就行。
创建目录:
# 多级目录就加`-p`,表示递归创建
mkdir /data
第3列:文件系统类型
常见类型:
使用 lsblk -f
查看类型。
第4列 挂载选项
这是重中之重,常见选项如下:
我大多数情况只用defaults
选项。
性能建议:
对于大多数数据盘,推荐:
defaults,noatime,nodiratime
对于 SSD:
defaults,noatime,discard
第5列:dump
是否启用 dump
命令进行备份,大多数情况设为 0,1就是启用。
第6列:fsck 顺序
控制开机时的文件系统检查顺序:
0:不检查
1:通常是根分区
/
2:其它分区(如
/home
、/data
)
切记不要多个设置为 1,否则引发 fsck 混乱!
3 注意事项
配置完 fstab 后,永远不要直接 reboot!
先执行:
mount -a
它会按 /etc/fstab
模拟一次挂载,能否成功挂载全凭这条命令的反馈。如果这里挂载有问题,就会出现我开始放那个截图一样,会让你进入紧急模式。
4 系统挂载失败的应急方案
要是上面一个步骤你修改完/etc/fstab,没有检查并且配置错误,还reboot了服务器,大概率进去下面的界面
怎么办,也很简单,直接输入密码后,将/etc/fstab文件配置修改正确就行,也是执行mount -a
没问题后重启。
5 运维实战用法
5.1 自动挂载 NFS 文件系统
192.168.1.100:/data /mnt/nfs nfs defaults,_netdev 0 0
_netdev
确保网络就绪后挂载,防止开机挂载失败
5.2 使用UUID挂载
比如你新增一个/dev/sdb,你需要先找出/dev/sdb的UUID,然后第一列就使用UUID,不要使用设备名称
blkid /dev/sdb
5.3 tmpfs 内存盘
这个主要用于加速临时目录读写,不过我比较少用
tmpfs /mnt/tmpfs tmpfs defaults,size=512M 0 0
适用于缓存、构建临时文件存储等。
5.4 挂载 ISO 镜像
# 第一列iso路径根据实际来填写。
/mnt/image.iso /mnt/iso iso9660 loop 0 0
再次强调,配置完要记得mount -a
检查一下。
评论