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 的优势就在于此:能够在业务不中断的情况下灵活扩展存储空间。

相关推荐
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒2 天前
OpenClaw 多 Agent 配置实战指南
运维
xy123062 天前
OpenStack Train 部署实战(三)控制节点--keystone服务
centos·openstack
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing4 天前
WSL+Cpp开发环境配置
linux