核心实操:3种LVM扩容方法
以下3种方法,覆盖不同场景
所有命令都可以直接复制执行,重点看「步骤+注释」,不用死记命令含义。
方法一:添加新磁盘(最常用)—— 新增硬盘/云盘,扩展VG再扩LV
场景:服务器新增物理硬盘,或云主机挂载新云盘(比如阿里云、腾讯云新增云盘),最通用的扩容方式。
步骤(4步搞定,全程在线,不用停业务):
步骤1:创建PV(把新磁盘变成「水源」)
# 把新磁盘(/dev/sdb)初始化为PV(替换成你的磁盘路径,比如/dev/sdc)
pvcreate /dev/sdb
# 验证PV创建成功(有输出就是成功)
pvdisplay /dev/sdb
一键获取完整项目代码
步骤2:扩展VG(给「大水池」加水)
# 把新创建的PV(/dev/sdb)加入现有的VG(替换成你的VG名称,比如vg_data)
# 不知道VG名称?执行vgs命令查看
vgextend vg_data /dev/sdb
# 验证VG扩展成功(查看VG剩余空间,有新增空间就是成功)
vgdisplay vg_data | grep -E “(VG Size|Free)”
一键获取完整项目代码
步骤3:扩展LV(把「小水盆」变大)
# 3种方式,选一种即可(替换成你的LV路径,比如/dev/vg_data/lv_mysql)
# 方式1:扩展指定大小(比如新增50G)
lvextend -L +50G /dev/vg_data/lv_mysql
# 方式2:扩展到指定大小(比如扩展到150G)
lvextend -L 150G /dev/vg_data/lv_mysql
# 方式3:使用VG所有剩余空间(推荐,直接用满新增的空间)
lvextend -l +100%FREE /dev/vg_data/lv_mysql
# 验证LV扩展成功(查看LV大小,变大就是成功)
lvdisplay /dev/vg_data/lv_mysql | grep “LV Size”
一键获取完整项目代码
步骤4:扩展文件系统(关键!让系统识别新增空间)
LV扩展后,系统还识别不到新增空间,需要执行下面的命令,根据你的文件系统类型选择(常见ext4、XFS):
# 情况1:文件系统是ext4(执行这个)
resize2fs /dev/vg_data/lv_mysql
# 情况2:文件系统是XFS(执行这个,替换成LV的挂载点,比如/data/mysql)
xfs_growfs /data/mysql
# 验证成功(查看挂载点空间,变大就是成功)
df -hT /data/mysql
一键获取完整项目代码
✅ 完成:全程不用停业务,磁盘空间已经扩容成功!
方法二:扩展现有磁盘(云盘常用)—— 云盘扩容后,扩展现有PV
场景:云主机(阿里云、腾讯云)在控制台扩容了云盘(比如把50G云盘扩到100G),但系统里看不到新增空间,需要把新增空间纳入LVM管理。
步骤(4步,不用加新磁盘,直接扩现有空间):
步骤1:确认云盘已扩容(让系统识别新容量)
# 重新扫描磁盘(云盘热扩容后必执行,让系统识别新容量)
echo 1 > /sys/class/block/sdb/device/rescan
# 确认磁盘新容量(查看磁盘大小,已经变成扩容后的大小就是成功)
lsblk /dev/sdb
fdisk -l /dev/sdb
一键获取完整项目代码
步骤2:扩展磁盘分区(让分区占用新增空间)
# 安装扩展工具(红帽系、debian系二选一)
dnf install -y cloud-utils-growpart # CentOS/Rocky Linux
apt install -y cloud-guest-utils # Ubuntu/Debian
# 扩展分区(替换成你的磁盘和分区,比如/dev/sdb的第1个分区)
growpart /dev/sdb 1
一键获取完整项目代码
步骤3:扩展PV(让LVM识别分区的新增空间)
# 调整PV大小(替换成你的分区路径,比如/dev/sdb1)
pvresize /dev/sdb1
# 验证成功(查看PV剩余空间,有新增空间就是成功)
pvdisplay /dev/sdb1 | grep -E “(PV Size|Free PE)”
一键获取完整项目代码
步骤4:一键扩展LV和文件系统(简化操作)
# 一条命令搞定:扩展LV,同时自动扩展文件系统(不用单独执行resize2fs/xfs_growfs)
lvextend -r -l +100%FREE /dev/vg_data/lv_mysql
一键获取完整项目代码
✅ 完成:云盘扩容后的空间,已经成功纳入LVM管理,业务无感知。
方法三:一键扩容(最简单)—— lvextend -r 一键搞定
场景:VG有剩余空间(比如之前加过PV,还有未分配空间),想快速扩容LV,不用分步执行。
核心:利用LVM的「-r」参数,自动扩展LV+文件系统,一步到位。
# 3种一键扩容方式,选一种即可(替换成你的LV路径)
# 方式1:新增20G空间,自动扩展文件系统
lvextend -r -L +20G /dev/vg_data/lv_mysql
# 方式2:使用VG剩余空间的50%
lvextend -r -l +50%FREE /dev/vg_data/lv_mysql
# 方式3:使用VG所有剩余空间(推荐)
lvextend -r -l +100%FREE /dev/vg_data/lv_mysql
一键获取完整项目代码
✅ 完成:最简单的扩容方式,小白首选,避免分步操作出错。
————————————————
版权声明:本文为CSDN博主「普通网友」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gRxghyisg/article/details/159436675









