尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

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

Ubuntu零基础入门到精通【9.7讲】:扩容磁盘与在线扩容文件系统 - 从理论到生产实战 🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。🎯适合人群:Linux 初学者、Ubuntu 新手、计算机专业学生、后端 / 运维 / 测试入门同学、想搭建 Linux 开发环境的开发者、准备学习服务器部署的同学,以及想从 Windows 过渡到 Ubuntu 工作流的用户。从“会打开终端”到“能管理系统”,从“复制命令”到“理解 Linux 思维”,这一次,我们不零散学,而是一路滚雪球!🎉限时福利:当前专栏活动中,一次订阅,终身阅读,后续更新章节全部免费解锁👉 立即查看👈️演示环境说明:开发工具:Visual Studio Code / JetBrains 系列 IDE / Vim / NanoUbuntu版本:Ubuntu 22.04 LTS / Ubuntu 24.04 LTS,推荐 Ubuntu 24.04 LTSLinux内核版本: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 与 GPT4.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 系统还认不出来,文件系统显示的空间没有增加。这种情况下如何让系统识别并使用新空间?场景二:云服务器磁盘升配后,怎么让系统
返回列表