1. 首页 > Linux教程 > 正文

Linux教程FG141-/etc/fstab文件配置与永久挂载

内容大纲

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

1. /etc/fstab文件概述

/etc/fstab文件是Linux系统中用于配置文件系统永久挂载的配置文件。当系统启动时,会根据该文件中的配置自动挂载相应的文件系统。

学习交流加群风哥微信: itpux-com

# 查看/etc/fstab文件内容
# cat /etc/fstab

# /etc/fstab
# Created by anaconda on Thu Mar 31 10:00:00 2026
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk/’
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=12345678-90ab-cdef-1234-567890abcdef /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0

2. fstab文件格式详解

/etc/fstab文件的每一行包含六个字段,用空格或制表符分隔:

# fstab文件格式
# 字段1:设备标识符
# 字段2:挂载点
# 字段3:文件系统类型
# 字段4:挂载选项
# 字段5:dump备份标志
# 字段6:文件系统检查顺序

# 示例
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=12345678-90ab-cdef-1234-567890abcdef /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0

# 设备标识符可以是以下形式:
# 1. 设备路径:/dev/sda1, /dev/vdb2
# 2. UUID:UUID=12345678-90ab-cdef-1234-567890abcdef
# 3. 标签:LABEL=root

# 获取设备的UUID
# blkid /dev/vdb1
/dev/vdb1: UUID=”12345678-90ab-cdef-1234-567890abcdef” TYPE=”xfs”

# 获取设备的标签
# e2label /dev/vdb1
# 或者
# xfs_admin -l /dev/vdb1

3. 常用挂载选项

挂载选项用于控制文件系统的挂载行为,常用的挂载选项包括:

# 常用挂载选项

# defaults:默认挂载选项,包括rw, suid, dev, exec, auto, nouser, and async
# rw:读写模式挂载
# ro:只读模式挂载
# noexec:不允许执行该文件系统上的可执行文件
# nosuid:不允许setuid和setgid位生效
# nodev:不允许访问设备文件
# noatime:不更新文件的访问时间
# nodiratime:不更新目录的访问时间
# relatime:相对时间更新,比atime更高效
# sync:同步写入,数据立即写入磁盘
# async:异步写入,数据先写入缓存
# user:允许普通用户挂载
# users:允许所有用户挂载
# owner:只允许所有者挂载
# remount:重新挂载已挂载的文件系统

# 示例:使用多个挂载选项
/dev/vdb1 /data xfs defaults,noatime,nodiratime 0 0

4. 配置永久挂载

以下是配置永久挂载的步骤:

# 配置永久挂载

# 1. 查看设备信息
# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
vda
├─vda1 xfs 12345678-90ab-cdef-1234-567890abcdef /boot
└─vda2 LVM2_member 87654321-0987-fedc-ba98-76543210fedc
├─rhel-root xfs 23456789-0abc-def1-2345-67890abcdef1 /
└─rhel-swap swap 34567890-12ab-cdef-3456-7890abcdef2 [SWAP]
vdb
├─vdb1 xfs 45678901-23ab-cdef-4567-890abcdef123
└─vdb2 ext4 56789012-34ab-cdef-5678-90abcdef234

# 2. 创建挂载点
# mkdir -p /data/xfs /data/ext4

# 3. 编辑/etc/fstab文件
# vim /etc/fstab

# 添加以下内容
UUID=45678901-23ab-cdef-4567-890abcdef123 /data/xfs xfs defaults 0 0
UUID=56789012-34ab-cdef-5678-90abcdef234 /data/ext4 ext4 defaults 0 0

# 4. 保存并退出

5. 验证挂载配置

更多学习教程公众号风哥教程itpux_com

配置完成后,需要验证挂载配置是否正确:

# 验证挂载配置

# 1. 测试挂载
# mount -a

# 2. 查看挂载结果
# mount | grep /data
/dev/vdb1 on /data/xfs type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
/dev/vdb2 on /data/ext4 type ext4 (rw,relatime,seclabel)

# 3. 查看磁盘使用情况
# df -h /data/xfs /data/ext4
Filesystem Size Used Avail Use% Mounted on
/dev/vdb1 50G 33M 50G 1% /data/xfs
/dev/vdb2 50G 61M 47G 1% /data/ext4

# 4. 重启系统后验证
# reboot
# mount | grep /data

6. 实战案例

下面通过一个完整的实战案例来演示/etc/fstab文件的配置。

# 场景:配置多种类型的文件系统永久挂载

# 1. 查看设备信息
# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
vda
├─vda1 xfs 12345678-90ab-cdef-1234-567890abcdef /boot
└─vda2 LVM2_member 87654321-0987-fedc-ba98-76543210fedc
├─rhel-root xfs 23456789-0abc-def1-2345-67890abcdef1 /
└─rhel-swap swap 34567890-12ab-cdef-3456-7890abcdef2 [SWAP]
vdb
├─vdb1 xfs 45678901-23ab-cdef-4567-890abcdef123
├─vdb2 ext4 56789012-34ab-cdef-5678-90abcdef234
└─vdb3 btrfs 67890123-45ab-cdef-6789-0abcdef3456

# 2. 创建挂载点
# mkdir -p /data/xfs /data/ext4 /data/btrfs

# 3. 编辑/etc/fstab文件
# cat >> /etc/fstab << 'EOF' # 数据分区 UUID=45678901-23ab-cdef-4567-890abcdef123 /data/xfs xfs defaults,noatime 0 0 UUID=56789012-34ab-cdef-5678-90abcdef234 /data/ext4 ext4 defaults,noatime 0 0 UUID=67890123-45ab-cdef-6789-0abcdef3456 /data/btrfs btrfs defaults,noatime 0 0 EOF # 4. 测试挂载 # mount -a # 5. 验证挂载 # mount | grep /data /dev/vdb1 on /data/xfs type xfs (rw,noatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota) /dev/vdb2 on /data/ext4 type ext4 (rw,noatime,seclabel) /dev/vdb3 on /data/btrfs type btrfs (rw,noatime,seclabel,space_cache=v2,subvolid=5,subvol=/) # 6. 查看磁盘使用情况 # df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 3.8G 0 3.8G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 9.0M 3.8G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/mapper/rhel-root 45G 3.5G 42G 8% / /dev/vda1 1014M 194M 821M 20% /boot tmpfs 781M 0 781M 0% /run/user/0 /dev/vdb1 50G 33M 50G 1% /data/xfs /dev/vdb2 50G 61M 47G 1% /data/ext4 /dev/vdb3 50G 17M 49G 1% /data/btrfs # 7. 配置NFS挂载(假设NFS服务器已配置) # cat >> /etc/fstab << 'EOF' # NFS共享 192.168.1.100:/share /mnt/nfs nfs defaults 0 0 EOF # 8. 测试NFS挂载 # mount -a # mount | grep /mnt/nfs 192.168.1.100:/share on /mnt/nfs type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.50,local_lock=none,addr=192.168.1.100)

风哥经验总结

1. 使用UUID作为设备标识符比使用设备路径更可靠,因为设备路径可能会在系统重启后发生变化。

2

风哥提示:

. 挂载选项应根据文件系统的用途进行调整,例如:

  • 对于数据分区:使用noatime,nodiratime提高性能
  • 对于系统分区:使用默认选项
  • 对于只读分区:使用ro选项

3. 配置完/etc/fstab文件后,一定要使用mount -a命令测试挂载,确保配置正确。

4. 错误的/etc/fstab配置可能导致系统无法启动,因此在修改前应备份原

from PG视频:www.itpux.com

文件。

5. 对于网络文件系统(如NFS),应确保网络连接正常,否则可能会导致系统启动变慢。

6. 对于交换分区,dump和pass字段应分别设置为0和0。

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息