news 2026/4/26 11:15:37

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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. 创建 PVpvcreate /dev/sdb /dev/sdc# 2. 创建 VGvgcreate vg_data /dev/sdb /dev/sdc# 3. 创建 LVlvcreate -L 50G -n lv_data vg_data# 4. 格式化mkfs.xfs /dev/vg_data/lv_data# 5. 挂载(写入 fstab)mkdir/datamount/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 生产实战配置

告诉我,我继续写~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 12:55:31

输入中文语音可行吗?Live Avatar语言支持测试

输入中文语音可行吗?Live Avatar语言支持测试 1. 引言:数字人交互的新可能 你有没有想过,对着电脑说一段中文,就能让一个虚拟人物实时开口说话、做出表情和动作?这听起来像是科幻电影里的场景,但随着AI技…

作者头像 李华
网站建设 2026/4/26 6:20:02

当ThreadPoolExecutor拒绝任务时,为什么选择CallerRunsPolicy能救命?

第一章:当ThreadPoolExecutor拒绝任务时,为什么选择CallerRunsPolicy能救命? 在高并发场景下,线程池是控制资源消耗的核心组件。然而,当线程池的任务队列已满且最大线程数达到上限时,新提交的任务将被拒绝。…

作者头像 李华
网站建设 2026/4/26 6:20:44

Qwen3-Embedding-0.6B怎么优化?自定义指令提升精度教程

Qwen3-Embedding-0.6B怎么优化?自定义指令提升精度教程 1. Qwen3-Embedding-0.6B 介绍 Qwen3 Embedding 模型系列是 Qwen 家族的最新专有模型,专门设计用于文本嵌入和排序任务。基于 Qwen3 系列的密集基础模型,它提供了各种大小&#xff08…

作者头像 李华
网站建设 2026/4/26 6:20:31

命令行长度限制引发的部署灾难,这个冷门设置救了我

第一章:命令行长度限制引发的部署灾难,这个冷门设置救了我 在一次灰度发布中,CI/CD 流水线突然失败,错误日志仅显示“Argument list too long”。排查后发现,问题源于构建脚本动态拼接了数千个文件路径作为命令行参数&…

作者头像 李华
网站建设 2026/4/26 6:21:56

企业级TELNET端口管理:从基础配置到安全加固

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个TELNET服务配置检查工具,功能包括:1.检查TELNET服务配置文件(如/etc/xinetd.d/telnet);2.验证登录认证方式&…

作者头像 李华
网站建设 2026/4/21 12:16:25

AI如何助力Process Hacker进行系统监控与分析

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个基于AI的Process Hacker增强工具,能够自动分析系统进程行为,检测异常活动,并提供优化建议。功能包括:实时进程监控、资源使…

作者头像 李华