news 2026/9/12 18:46:08

Ubuntu零基础入门到精通【9.7讲】:扩容磁盘与在线扩容文件系统 - 从理论到生产实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu零基础入门到精通【9.7讲】:扩容磁盘与在线扩容文件系统 - 从理论到生产实战

🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。
本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。

🎯适合人群:Linux 初学者、Ubuntu 新手、计算机专业学生、后端 / 运维 / 测试入门同学、想搭建 Linux 开发环境的开发者、准备学习服务器部署的同学,以及想从 Windows 过渡到 Ubuntu 工作流的用户。

从“会打开终端”到“能管理系统”,从“复制命令”到“理解 Linux 思维”,这一次,我们不零散学,而是一路滚雪球!

🎉限时福利:当前专栏活动中,一次订阅,终身阅读,后续更新章节全部免费解锁👉 立即查看👈️

演示环境说明:

  • 开发工具:Visual Studio Code / JetBrains 系列 IDE / Vim / Nano
  • Ubuntu版本:Ubuntu 22.04 LTS / Ubuntu 24.04 LTS,推荐 Ubuntu 24.04 LTS
  • Linux内核版本:Linux Kernel 6.x 或更高
  • 终端环境:Bash / Zsh
  • 包管理工具:APT / Snap / Flatpak
  • 远程连接工具:OpenSSH / Windows Terminal / MobaXterm / Termius
  • 虚拟化环境:VMware Workstation / VirtualBox / WSL2 / 云服务器
  • 容器环境:Docker / Docker Compose
  • 操作系统:Ubuntu Desktop / Ubuntu Server

全文目录:

    • 一、前言:为什么磁盘扩容是运维必备技能
    • 二、本文要解决什么问题
    • 三、背景知识:Ubuntu 存储体系快速回顾
      • 3.1 存储层次模型
      • 3.2 扩容需要操作哪些层次?
      • 3.3 "在线扩容"是什么意思?
    • 四、核心概念精讲:扩容的本质是什么
      • 4.1 为什么扩容不是"把磁盘变大就行了"
      • 4.2 分区表的两种格式:MBR 与 GPT
      • 4.3 ext4 和 XFS 的扩容差异
    • 五、实验环境准备
      • 5.1 环境说明
      • 5.2 操作前必读:备份的重要性
      • 5.3 常用工具安装
    • 六、案例一:虚拟机磁盘扩容 + ext4 在线扩容(基础场景)
      • 6.1 场景描述
      • 6.2 第一步:在 VMware/VirtualBox 中扩大磁盘
      • 6.3 第二步:确认系统已看到新的磁盘大小
      • 6.4 第三步:扩展分区
      • 6.5 第四步:通知内核更新分区信息(通常不需要重启)
      • 6.6 第五步:扩展 ext4 文件系统
      • 6.7 第六步:验证扩容结果
      • 6.8 命令解析:这五步为什么这样做?
    • 七、案例二:LVM 逻辑卷在线扩容(开发服务器场景)
      • 7.1 场景描述
      • 7.2 LVM 扩容的整体思路
      • 7.3 操作前:查看当前 LVM 状态
      • 7.4 方式 A:使用卷组内已有空闲空间扩容(无需新磁盘)
      • 7.5 方式 B:添加新磁盘,扩展卷组,再扩展逻辑卷
      • 7.6 一步扩容的快捷命令
      • 7.7 LVM 扩容命令解析
    • 八、案例三:云服务器磁盘扩容 + XFS 在线扩容(生产环境场景)
      • 8.1 场景描述
      • 8.2 云平台操作:扩容磁盘
      • 8.3 确认系统已看到新磁盘大小
      • 8.4 扩展分区
      • 8.5 扩展 XFS 文件系统
      • 8.6 云服务器上有 LVM 的情况
      • 8.7 命令解析:XFS 和 ext4 扩容命令的关键差异
    • 九、核心命令与配置详解
      • 9.1 磁盘信息查询命令
      • 9.2 分区扩展命令
      • 9.3 文件系统扩展命令
      • 9.4 LVM 命令
      • 9.5 磁盘健康与分区备份
    • 十、在线扩容流程图与原理分析
      • 10.1 整体扩容决策流程
      • 10.2 ext4 在线扩容原理
      • 10.3 LVM 扩容原理
    • 十一、常见问题与踩坑总结
      • Q1:growpart 执行后提示 "NOCHANGE: partition 2 is size...",没有扩展成功?
      • Q2:resize2fs 提示 "Bad magic number in super-block"?
      • Q3:lvextend 提示 "Insufficient free space"?
      • Q4:resize2fs 后,df -h 显示的大小还是没变?
      • Q5:操作过程中断(比如 SSH 断线),怎么办?
      • Q6:云服务器扩容后重启了一次,发现空间还是没变?
      • Q7:使用 parted 手动扩分区后,提示 "The kernel still uses the old table"?
      • Q8:LVM 逻辑卷扩容后,ext4 提示文件系统有错误,resize2fs 失败?
      • Q9:pvresize 后,vgs 中的 VFree 还是没有增加?
      • Q10:我能不能直接用 fdisk 删除分区再重建来扩容?
      • Q11:能不能缩小根分区?
      • Q12:扩容后系统重启,磁盘又变回原来的大小?
    • 十二、最佳实践建议
      • 12.1 操作前的准备清单
      • 12.2 文件系统选择建议
      • 12.3 LVM 布局建议
      • 12.4 扩容操作的工具选择
      • 12.5 监控磁盘使用率,提前预警
      • 12.6 云服务器磁盘扩容的时机选择
    • 十三、扩展知识:扩容相关的存储体系
      • 13.1 NVMe 磁盘的设备名规律
      • 13.2 云服务器的数据盘 vs 系统盘
      • 13.3 Swap 与磁盘扩容的关系
      • 13.4 /etc/fstab 和 UUID:为什么不用设备名
    • 十四、完整操作流程回顾
      • 场景一快速参考(普通分区,ext4)
      • 场景二快速参考(LVM + ext4,卷组有空闲)
      • 场景三快速参考(云服务器 + LVM,磁盘已扩容)
      • 完整操作流程图
    • 十五、总结与下一步
      • 本文学到了什么
      • 常见误区纠正
      • 下一篇预告
    • 🧧 学习福利 · 限时开放 🧧
    • 🫵 Who am I?

一、前言:为什么磁盘扩容是运维必备技能

我第一次遇到磁盘空间不足的问题,是在部署一台 MySQL 数据库服务器大约两个月之后。那时候系统跑得好好的,某天早上突然收到告警:数据库写入失败,磁盘使用率 100%。登上去一看,根分区只剩几十 MB。

当时我脑子里第一个反应是:能不能直接删东西腾出空间?答案是可以,但那只是临时方案,治标不治本。真正的解法是:扩容磁盘,然后在不停机的情况下让文件系统识别到新的空间。

这件事给我留下了深刻印象,因为它涉及的知识点不是"装个软件跑个命令"这么简单,而是要同时理解分区表、文件系统、内核设备识别、LVM 逻辑卷这几个层面的协作机制。如果哪一个环节没搞清楚,轻则扩容失败,重则分区表损坏,数据丢失。

Ubuntu 服务器在实际生产中用得越来越广,而磁盘扩容又是几乎每个运维和后端开发迟早都会遇到的场景,所以我决定用这篇文章把这个话题讲透——从原理到命令,从虚拟机到云服务器,从 ext4 到 XFS,从简单分区扩容到 LVM 在线扩容,一步一步来。

如果你是第一次接触这个主题,不要担心,我会把每一步都讲清楚背后的原因,而不只是丢给你一堆命令复制粘贴。

二、本文要解决什么问题

这篇文章聚焦解决以下几个实际场景的问题:

场景一:磁盘快满了,如何扩容?
你在 VMware 或 VirtualBox 中给虚拟机加了磁盘空间,但 Ubuntu 系统还认不出来,文件系统显示的空间没有增加。这种情况下如何让系统识别并使用新空间?

场景二:云服务器磁盘升配后,怎么让系统

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

ESP32+MAX30102心率检测:从PPG原理到实战代码全解析

想不想让手里的ESP32学会“听心跳”?先泼一盆冷水:这里的心跳不是让你把芯片贴在胸口感受浪漫,而是用MAX30102这个光学传感器,让单片机读取手指皮肤下的血流搏动信号,计算出实时心率。这套组合在创客圈相当经典——ESP…

作者头像 李华
网站建设 2026/9/12 18:41:46

JavaWeb网上书城项目:MVC分层+JDBC+Filter实战解析

简介:本资源是面向计算机专业本科生的JavaWeb毕业设计参考项目,完整实现了一个功能完备的网上书城系统,覆盖需求分析、系统设计、编码实现到论文撰写的全流程。压缩包内含全部JavaWeb源码及配套设计与实现论文,文件总数虽未提供&a…

作者头像 李华
网站建设 2026/9/12 18:40:53

微信小程序云开发校园应用工程实践:教务+生活+服务三域闭环

简介:本资源是一套基于微信小程序平台的TOGO智慧校园全功能源码,面向高校开发者、计算机专业学生及校园信息化项目实践者,旨在解决教务管理、生活服务与校园社交等多维场景的快速落地问题。压缩包共186个文件,总大小35.66MB&#…

作者头像 李华
网站建设 2026/9/12 18:40:51

极简云验证商业版:轻量级SaaS身份核验与卡密管理方案

简介:本资源为已开源的极简云验证商业版完整源码包,面向PHP开发者、中小型SaaS服务搭建者及需要二次开发授权验证系统的技术人员,解决商用级账号注册、卡密解绑与查询等核心业务场景的快速落地问题。压缩包共1814个文件,以368个PH…

作者头像 李华