CentOS 下使用 LVM 扩展根分区空间的完整流程

在服务器运维中,会遇到磁盘空间不足的问题。如果系统使用了 LVM(Logical Volume Manager) 来管理磁盘,就可以很方便地对逻辑卷进行扩容,而不需要重装系统。


1. 查看磁盘使用情况

首先,使用 lsblk 查看磁盘分区布局:

bash 复制代码
lsblk

输出示例:

bash 复制代码
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda             252:0    0  400G  0 disk 
├─vda1          252:1    0    1G  0 part /boot
└─vda2          252:2    0  249G  0 part 
  ├─centos-root 253:0    0  197G  0 lvm  /
  ├─centos-swap 253:1    0   32G  0 lvm  
  └─centos-home 253:2    0   20G  0 lvm  /home

可以看到:

  • 磁盘总大小是 400G

  • 已经分区使用了 250G(vda1 + vda2);

  • 还剩下大约 150G 空闲未分配空间

再确认卷组信息:

bash 复制代码
vgdisplay

输出关键部分:

bash 复制代码
VG Name               centos
VG Size               <249.00 GiB
Alloc PE / Size       63743 / <249.00 GiB
Free  PE / Size       0 / 0

说明卷组 centos 当前已经用满,没有空余 PE。


2. 新建分区

使用 fdisk/dev/vda 上创建一个新分区:

bash 复制代码
fdisk /dev/vda

在交互界面依次输入:

bash 复制代码
n   # 新建分区
p   # 主分区
3   # 分区号(已有 vda1,vda2,这里用 vda3)
回车 # 默认起始扇区
回车 # 默认结束扇区,使用剩余所有空间
t   # 修改分区类型
3   # 选择 vda3
8e  # 设置为 Linux LVM
w   # 保存退出

让内核重新加载分区表:

bash 复制代码
partprobe

这时可以看到新分区 /dev/vda3


3. 创建物理卷并加入卷组

创建物理卷(PV):

bash 复制代码
pvcreate /dev/vda3

扩展卷组 centos

bash 复制代码
vgextend centos /dev/vda3

验证:

bash 复制代码
vgdisplay centos

此时应该能看到 Free PE / Size 大约为 150G。


4. 扩展逻辑卷

查看逻辑卷路径:

bash 复制代码
lvdisplay

假设根分区逻辑卷是 /dev/centos/root,执行:

bash 复制代码
lvextend -l +100%FREE /dev/centos/root

这条命令会将卷组中所有空余空间都分配给根分区。


5. 扩展文件系统

如果根分区文件系统是 XFS(CentOS 7/8 默认):

bash 复制代码
xfs_growfs /

如果是 ext4 文件系统:

bash 复制代码
resize2fs /dev/centos/root

6. 验证扩容结果

bash 复制代码
df -h

输出中可以看到 / 的容量已经增加,大约多了 150G。


总结

通过以上步骤,我们顺利地将磁盘剩余的 150G 空间扩展到 LVM 根分区,整个过程无需重启系统。

LVM 的优势就在于此:能够在业务不中断的情况下灵活扩展存储空间。

相关推荐
不会C语言的男孩16 小时前
Linux 系统编程 · 第 2 章:系统调用与库函数
linux·c语言
坤昱16 小时前
cfs调度类深入解刨——psi科普篇
linux·cfs·psi·cfs调度·eevdf·psi详细分析·linux系统资源监控
骑上单车去旅行17 小时前
openEuler 22.03 离线源码编译 Zabbix 7.0.27 完整最终整合手册
linux·运维·服务器·zabbix
AC赳赳老秦17 小时前
OpenClaw + 云数据库运维:自动备份、扩容、迁移 RDS/MySQL 云数据库
运维·开发语言·数据库·人工智能·python·mysql·openclaw
向日葵.17 小时前
linux & qnx & git 命令 1
linux·运维·服务器
MXsoft61817 小时前
**非Agent部署:网络设备分钟级纳管的技术解析**
运维·自动化
艾德金的溪17 小时前
windows安装CC Switch
运维·ai
2023自学中17 小时前
Linux 内核与用户空间 内存管理详解(堆与栈篇)
linux·嵌入式·内存·开发板
极客先躯17 小时前
高级java每日一道面试题-2026年02月09日-实战篇[Docker]-Docker 容器有哪些安全风险?如何缓解?
java·运维·网络·安全·docker·容器
yuanzhengme17 小时前
Ollama【部署 07】搭建本地智能体的简单说明(局域网离线部署Ollama+模型迁移+Docker部署AnythingLLM)
运维·docker·容器·大模型·ollama·本地智能体