Linux 磁盘与文件系统管理 文章目录1. 核心概念从物理磁盘到文件系统2. 磁盘使用率与健康度查看2.1 查看磁盘空间占用df (Disk Free)2.2 统计目录/文件大小du (Disk Usage)2.3 查看磁盘块设备与分区列表lsblk fdisk3. 实战给服务器添加新硬盘分区、格式化、挂载3.1 步骤 1对磁盘进行分区3.2 步骤 2格式化文件系统3.3 步骤 3挂载文件系统 (Mount)3.4 步骤 4配置开机自动挂载修改 /etc/fstab4. 生产环境高频问题排查场景文件删除了但 df -h 空间没有释放5. 总结在 Linux 系统中“一切皆文件”对存储设备硬盘、SSD、U 盘的管理本质上就是对分区、文件系统挂载与使用率监控的管理。无论是扩展服务器存储、挂载新硬盘还是排查磁盘空间爆满问题掌握磁盘与文件系统管理都是 Linux 运维与开发的基本功。1. 核心概念从物理磁盘到文件系统硬盘接入服务器后不能直接写入数据需要经过以下三个步骤┌─────────────────┐ 分区 (Partition) ┌─────────────────┐ │ 物理磁盘 (Block)│ ────────────────────── │ 磁盘分区 /dev/sdb1 │ └─────────────────┘ └────────┬────────┘ │ │ 格式化 (Format) ▼ ┌─────────────────┐ 挂载 (Mount) ┌─────────────────┐ │ 目录节点 /data │ ────────────────────── │ 文件系统 (ext4/xfs)│ └─────────────────┘ └─────────────────┘磁盘设备命名Linux 中所有设备都在/dev/目录下。SATA / SAS / SCSI 硬盘命名为/dev/sda、/dev/sdb等字母代表第几块盘数字代表第几个分区如/dev/sda1。NVMe M.2 固态硬盘命名为/dev/nvme0n1、/dev/nvme0n1p1。分区表格式MBR较老最大支持 2TB 磁盘最多 4 个主分区。GPT现代标准支持 2TB 大盘几乎无分区数量限制。文件系统 (File System)定义数据在磁盘上的组织方式。常用文件系统ext4Linux 传统通用文件系统兼容性好。xfsCentOS/RHEL 默认文件系统在大文件与高性能 I/O 表现上更优秀。2. 磁盘使用率与健康度查看2.1 查看磁盘空间占用df(Disk Free)df用于查看文件系统级别的整体容量与使用率。# -h: 人性化显示 (Human-readable, MB/GB)# -T: 显示文件系统类型 (ext4/xfs 等)df-hT常见坑点df -h没满但写不进文件输入df -i查看Inode 使用率。如果系统中产生了数百万个小文件如小日志、缓存可能会出现“磁盘空间还很多但 Inode 已 100% 耗尽”的情况。2.2 统计目录/文件大小du(Disk Usage)du用于深入具体目录查找“到底是谁占用了大空间”。# 查看当前目录下各个文件夹的大小深度为 1du-h--max-depth1/var/log# 快速找出当前目录下最大的前 10 个文件/目录du-ah.|sort-rh|head-n102.3 查看磁盘块设备与分区列表lsblkfdisk# 查看系统所有磁盘及分区的树状结构非常直观lsblk# 查看磁盘分区的具体细节需 root 权限sudofdisk-l3. 实战给服务器添加新硬盘分区、格式化、挂载假设你为服务器新增了一块 100GB 的磁盘/dev/sdb需要将其挂载到/data目录供业务使用。3.1 步骤 1对磁盘进行分区使用fdisk对磁盘进行交互式分区sudofdisk/dev/sdb输入n新建分区。依次按回车选择默认的主分区和范围。输入w保存分区表并退出。此时通过lsblk可以看到生成了新分区/dev/sdb1。3.2 步骤 2格式化文件系统创建完分区后需要将其写入指定的格式如ext4或xfs# 格式化为 ext4 文件系统sudomkfs.ext4 /dev/sdb1# 或者格式化为 xfs 文件系统sudomkfs.xfs /dev/sdb13.3 步骤 3挂载文件系统 (Mount)将格式化好的分区连接到系统中的空目录# 1. 创建挂载点目录sudomkdir-p/data# 2. 临时挂载重启后失效sudomount/dev/sdb1 /data# 3. 验证挂载结果df-h|grep/data3.4 步骤 4配置开机自动挂载修改/etc/fstab如果只做了mount服务器重启后挂载就会丢失。必须将挂载信息写入/etc/fstab。为了防止磁盘设备名如/dev/sdb1在重启后漂移强烈推荐使用 UUID# 1. 查询 /dev/sdb1 的 UUIDsudoblkid /dev/sdb1# 输出示例: /dev/sdb1: UUIDa1b2c3d4-e5f6-7890-abcd-1234567890ab TYPEext4# 2. 编辑 /etc/fstab 文件sudonano/etc/fstab# 3. 在文件末尾添加一行格式UUID 挂载点 文件系统类型 挂载参数 备份 检查UUIDa1b2c3d4-e5f6-7890-abcd-1234567890ab /data ext4 defaults02# 4. ⚠️ 极其关键的一步测试 fstab 配置是否正确sudomount-a⚠️高危提醒如果/etc/fstab语法写错服务器下次重启时会无法开机并直接进入紧急恢复模式Emergency Mode修改后必须运行sudo mount -a如果没有报错才说明配置正确。4. 生产环境高频问题排查场景文件删除了但df -h空间没有释放原因当某个日志文件正在被某个运行中的进程如 Nginx、Java持续写入时你直接使用rm app.log删除了文件名但进程依然持有该文件的文件句柄导致磁盘空间并未真正释放。排查方法# 查找已经被删除但依然被进程占用的文件 (deleted)sudolsof|grepdeleted解决办法重启占用该句柄的服务如sudo systemctl restart nginx。针对日后清空日志**不要直接rm**使用清空文件内容的方式 app.log或cat /dev/null app.log。5. 总结监控三板斧用df -h看整体空间用df -i看 Inode 消耗用du -sh *定位大文件。挂载标准流程分区 (fdisk) ➔ 格式化 (mkfs) ➔ 临时挂载 (mount) ➔ 写入/etc/fstab➔ 校验 (mount -a)。安全规范写入/etc/fstab时优先采用UUID方式修改完毕务必执行mount -a确认无误。 感谢阅读想了解更多 我的博客网站 | 记录思考分享干货 我的个人主页 | 关于我、开源项目

相关新闻

最新新闻

从逻辑门到CPU:三次抽象跳跃搭建计算机核心框架

从逻辑门到CPU:三次抽象跳跃搭建计算机核心框架

在我们平时的认知里,计算机通常被描述成“CPU、内存、硬盘”等几个部件的组合。这种黑盒视角在选购电脑、理解软件运行时完全够用,可一旦你想亲手从零开始搭建一颗 CPU,面对的就不再是封装好的芯片,而是一个个最基础的门电路&…

2026/8/31 9:39:53
残虹必抽吗?一套通用的角色武器抽取决策流程

残虹必抽吗?一套通用的角色武器抽取决策流程

先说结论:游戏圈里凡是出现“必抽”两个字,都不能直接照单全收。“残虹必抽”这个说法放到不同玩家手里,含义完全不同:对氪金预算充足、正在补阵容强度的玩家,它可能是真话;对零氪和月卡党,它可…

2026/8/31 9:39:53
异环周年版本前瞻全解析:量大管饱与系统性优化看点

异环周年版本前瞻全解析:量大管饱与系统性优化看点

这场周年版本的前瞻信息已经放出来了,我花了点时间把所有物料和直播内容做了拆解,把最关键的改动、最值得关注的优化点、还有这次“异环”概念引发热度背后的复杂语境,一次性给你讲透。文章不聊情绪,只聊信息量,文末也…

2026/8/31 9:39:53
寒武纪软件岗笔试题复盘:从C++内存布局到AI芯片推理引擎

寒武纪软件岗笔试题复盘:从C++内存布局到AI芯片推理引擎

2019年秋天,我坐在寒武纪软件岗的笔试考场里。那会儿AI芯片公司正是最热的风口,寒武纪作为国内做AI芯片的代表企业,一场软件岗笔试能吸引几百号人投简历。拿到卷子翻了翻,第一感觉是:这不像互联网大厂那种全考算法题的…

2026/8/31 9:39:53
紧急发布下的团队协作机制:从分支保护到回滚预案的工程实践

紧急发布下的团队协作机制:从分支保护到回滚预案的工程实践

“这是我们卡莫大人最团结的时候。”第一次看到这句话时,我愣了一下。它不像一条技术公告,倒更像是一句团队群里的热血发言。但如果你参与过线上事故应急、紧急版本发布或者跨团队联合攻关,就会明白这句话背后的真实场景:在压力最…

2026/8/31 9:39:53
Flume 与 HBase 写入优化:高效数据写入三要素

Flume 与 HBase 写入优化:高效数据写入三要素

Flume 与 HBase 写入优化:高效数据写入三要素在大数据处理领域,Flume 作为日志收集工具与 HBase 作为 NoSQL 数据库的集成方案被广泛应用。然而,随着数据量的增长,写入性能往往成为系统瓶颈。本文将深入探讨 RowKey 设计、批量提交…

2026/8/31 9:34:53