一、环境说明
硬件环境
VMware 虚拟机,原磁盘 80GiB
磁盘分区类型:dos MBR 分区
磁盘结构:
/dev/sda1:1G /boot 引导分区
/dev/sda2:LVM 物理卷分区(原 31G,剩余大量空闲空间未利用)
LVM 结构
卷组名称:openeuler
逻辑卷:
openeuler-root:根分区,文件系统 ext4(原 30.2G)
openeuler-swap:交换分区,820MiB
需求
将整块 80G 磁盘空间全部分配给根分区 /,实现磁盘扩容。
二、完整操作流程
步骤 1:fdisk 扩展分区 /dev/sda2(占用全部 80G 磁盘)
执行分区工具:

fdisk /dev/sda

交互操作顺序(逐行输入回车):
p 打印现有分区表,确认原有分区信息
d → 输入 2 删除 sda2 分区(仅删除分区记录,数据无损)
n 新建主分区
分区类型:p(主分区)
分区号:直接回车默认 2
第一个扇区:直接回车,沿用默认值2099200
最后一个扇区:直接回车,占用磁盘全部剩余空间
弹出提示分区#2包含LVM2_member签名,是否移除签名 → 输入 n(否,保留 LVM 数据)
t 修改分区类型:输入2 → 输入8e(Linux LVM 标识)
w 保存分区表并退出 fdisk
步骤 2:刷新内核分区表,识别新分区大小

partprobe /dev/sda
# 校验分区容量更新
lsblk /dev/sda

步骤 3:扩容 LVM 物理卷 PV,让卷组识别新增空间

pvresize /dev/sda2
# 查看卷组空闲容量
vgdisplay openeuler

步骤 4:扩容 root 逻辑卷 LV,占用全部空闲空间

lvextend -l +100%FREE /dev/mapper/openeuler-root

步骤 5:扩容文件系统(区分 ext4/XFS)
查看文件系统类型

lsblk -f /dev/mapper/openeuler-root

若输出ext4(本次环境):

resize2fs /dev/mapper/openeuler-root

若输出xfs

xfs_growfs /

步骤 6:验证扩容结果

df -h /

正常输出根分区总容量约 78GiB,扩容完成。
三、踩坑记录与排错
坑 1:fdisk 扇区输入错误
错误操作:在「第一个扇区」输入t/8e等字母,提示值超出范围
解决:扇区输入框仅允许数字,不输入内容直接回车使用默认值;t/8e是修改分区类型指令,需分区创建完成后再执行。
坑 2:提示/ is not a mounted XFS filesystem
原因:根分区实际为 ext4 文件系统,误用 xfs_growfs 命令
解决:先用lsblk -f确认文件系统类型,ext4 使用resize2fs,XFS 使用xfs_growfs
坑 3:partprobe 刷新失效
现象:lsblk 看不到分区扩容后的大小
解决:执行reboot重启服务器,自动刷新分区表后继续后续扩容命令。
坑 4:新建分区提示移除 LVM 签名
错误操作:输入Y删除签名,会直接损坏 LVM 卷组,系统无法启动
正确操作:输入n保留原有 LVM 标识。
四、扩容后一键校验脚本

#!/bin/bash
echo "===== 分区信息 ====="
lsblk /dev/sda
echo -e "\n===== PV物理卷信息 ====="
pvdisplay /dev/sda2
echo -e "\n===== VG卷组空闲空间 ====="
vgdisplay openeuler
echo -e "\n===== 根分区磁盘容量 ====="
df -h /
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐