RedHat红帽系统管理(二):Linux文件系统

RedHat 红帽系统管理(二):Linux 文件系统详解

在 Red Hat Enterprise Linux(RHEL)中,文件系统管理是系统管理员最核心、最日常的工作之一。本节重点讲解:

  • Linux 文件系统层次结构标准(FHS)
  • RHEL 默认支持的文件系统(XFS / ext4 等)
  • 常见目录含义(FHS 标准)
  • 磁盘/分区查看与挂载管理
  • 常用命令:df、du、mount、umount、fdisk、parted、LVM 简介

基于 RHEL 9 / RHEL 10(2025–2026 年主流版本),参考官方文档《Managing File Systems》和《Storage Administration Guide》。

1. Linux 文件系统层次结构标准(FHS)

FHS(Filesystem Hierarchy Standard)是 Linux 基金会维护的标准,RHEL 完全遵循 FHS 3.0(最新版 2015 年发布,至今仍是主流参考)。

FHS 的核心目的:

  • 让不同 Linux 发行版目录结构统一
  • 便于软件安装、系统维护、脚本编写跨平台兼容

FHS 把目录分为四大类(按是否可变、是否系统专用)

类别是否共享(多主机)是否只读(系统)典型目录说明
静态 / 系统/bin、/sbin、/lib、/usr系统核心、可共享、可只读
静态 / 本地/etc、/boot本机配置、启动文件
动态 / 系统/var、/tmp日志、临时文件、变化频繁
动态 / 本地/home、/root、/opt用户数据、可安装软件

RHEL 最重要目录详解(FHS + RHEL 实际用法)

目录内容说明(RHEL 重点)是否可卸载到单独分区常见命令/操作
/根目录,整个文件系统起点,必须包含开机所需文件
/bin基本命令(ls、cp、mv、cat、mkdir 等),RHEL 9+ 软链接到 /usr/bin建议放根分区
/sbin系统管理命令(fdisk、ifconfig、reboot 等),RHEL 9+ 软链接到 /usr/sbin建议放根分区
/boot内核、initramfs、grub2 配置文件(vmlinuz、initrd.img、grub.cfg)强烈建议单独分区grub2-mkconfig、dracut
/dev设备文件(/dev/sda、/dev/nvme0n1、/dev/null 等),动态生成udevadm
/etc系统配置文件(/etc/passwd、/etc/fstab、/etc/sysconfig 等)建议放根分区vi、systemctl edit
/home普通用户家目录(/home/redhatuser)可单独分区useradd -m
/rootroot 用户家目录
/lib /lib64共享库(libc.so 等),RHEL 9+ 软链接到 /usr/lib建议放根分区
/media自动挂载点(U盘、光盘)
/mnt管理员临时挂载点mount /dev/sdb1 /mnt
/opt第三方软件安装目录(如 oracle、google-chrome)可单独分区
/proc虚拟文件系统(进程、内核参数、/proc/cpuinfo、/proc/meminfo)cat /proc/cpuinfo
/run运行时数据(PID 文件、锁文件),tmpfs
/srv服务数据(如 www、ftp 站点根目录)可单独分区
/syssysfs 虚拟文件系统(硬件信息、设备树)
/tmp临时文件(重启清空,tmpfs 或磁盘)可单独分区tmpwatch
/usr用户程序和数据(/usr/bin、/usr/share、/usr/local)可单独分区
/var变量数据(日志 /var/log、邮件 /var/spool/mail、缓存 /var/cache)强烈建议单独分区journalctl、logrotate

RHEL 9/10 新变化(与老版本对比):

  • /bin、/sbin、/lib、/lib64 → 软链接到 /usr 对应目录(统一管理)
  • 默认文件系统:XFS(高性能、大文件友好)
  • 支持 ext4、XFS、NFS、SMB、Stratis(高级存储管理)

2. 常用文件系统查看与管理命令

命令作用常用用法示例说明
df -h查看已挂载文件系统使用情况df -hT-h 人类可读,-T 显示类型
du -sh查看目录/文件占用空间du -sh /var/log
du -sh *
-s 汇总,-h 人类可读
lsblk列出块设备(磁盘、分区、LVM、挂载点)lsblk -f-f 显示文件系统类型
mount查看当前挂载情况 / 挂载文件系统mount /dev/sdb1 /mnt/data无参数 → 列出所有挂载
umount卸载文件系统umount /mnt/data
umount /dev/sdb1
目标可以是挂载点或设备
fdisk -l查看分区表(MBR/GPT)fdisk -l /dev/sda交互分区用 fdisk /dev/sda
parted高级分区工具(支持 GPT、大于2TB 磁盘)parted /dev/sdb mklabel gpt
mkpart primary xfs 1MiB 100%
脚本友好,非交互更安全
blkid查看设备 UUID / 文件系统类型blkid /dev/sda1常用于 /etc/fstab 写入 UUID

自动挂载配置:/etc/fstab(最重要文件!)

格式示例:

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  /data  xfs  defaults        0 0
/dev/mapper/vg_data-lv_data                /app   ext4 defaults        0 0

3. LVM 逻辑卷管理快速入门(RHEL 生产标配)

LVM(Logical Volume Manager)允许动态调整分区大小、无需停机扩容。

核心概念:

  • PV(Physical Volume)→ 物理磁盘/分区
  • VG(Volume Group)→ 卷组(多个 PV 组成池)
  • LV(Logical Volume)→ 逻辑卷(从 VG 切出来的“分区”)

常用命令流程

# 1. 创建 PV
pvcreate /dev/sdb /dev/sdc

# 2. 创建 VG
vgcreate vg_data /dev/sdb /dev/sdc

# 3. 创建 LV
lvcreate -L 50G -n lv_data vg_data

# 4. 格式化
mkfs.xfs /dev/vg_data/lv_data

# 5. 挂载(写入 fstab)
mkdir /data
mount /dev/vg_data/lv_data /data

# 6. 后续扩容(在线扩容!)
lvextend -L +20G /dev/vg_data/lv_data
xfs_growfs /data                     # XFS 在线扩展
# 或 resize2fs /data                  # ext4

查看命令

pvs / vgs / lvs
pvdisplay / vgdisplay / lvdisplay

4. 快速记忆口诀 & 面试高频

  • FHS 核心三目录:根(/)必须小、/usr 可共享只读、/var 必须可写且大
  • RHEL 默认 FS:XFS(企业级首选)
  • 挂载三要素:设备 / 挂载点 / 文件系统类型(可省略类型,mount 会自动识别)
  • 生产建议:/boot、/、/home、/var、/data 尽量单独分区
  • 面试题:df 与 du 显示大小不一致的原因?(已删除但进程占用的文件)

下一期想看什么?

  • 文件权限/SELinux 详解
  • XFS vs ext4 性能对比与调优
  • Stratis 高级存储管理(RHEL 9+ 新特性)
  • RAID + LVM 生产实战配置

告诉我,我继续写~

文章已创建 3958

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部