当前位置: 首页 > news >正文

openEuler磁盘扩容后,空间去哪了?一步步教你用lsblk、pvdisplay、lvdisplay、df命令排查

openEuler磁盘扩容后空间去哪了?四层排查指南

刚给openEuler虚拟机扩容磁盘,明明在管理界面增加了存储空间,但登录系统后df -h显示的容量纹丝不动?这种"空间消失"现象在LVM存储架构中其实很常见——扩容操作需要穿透物理设备、逻辑卷、文件系统等多个层级才能最终生效。本文将带你用侦探思维逐层排查,通过lsblkpvdisplaylvdisplaydf等命令组合,精准定位问题卡点。

1. 存储架构的洋葱模型

Linux的LVM(Logical Volume Manager)存储体系像洋葱一样分层封装。当我们在虚拟化平台扩展磁盘容量后,新空间需要依次穿透以下四层屏障:

  1. 物理设备层:虚拟磁盘的原始存储设备(如/dev/sda)
  2. 物理卷层:被LVM管理的物理分区(如/dev/sda2)
  3. 逻辑卷层:分配给具体用途的虚拟块设备(如/dev/mapper/openeuler-root)
  4. 文件系统层:最终被挂载使用的存储空间(如/根目录)

每一层都可能成为扩容操作的"拦路虎"。下面我们通过一组诊断命令,自底向上排查问题。

2. 物理设备层验证

首先确认虚拟机是否识别到新的磁盘容量。执行以下命令查看原始磁盘信息:

lsblk -o NAME,SIZE,RO,FSTYPE,MOUNTPOINT

典型输出示例:

NAME SIZE RO FSTYPE MOUNTPOINT sda 256G 0 ├─sda1 1G 0 ext4 /boot └─sda2 63G 0 LVM2_member ├─openeuler-root 40G 0 ext4 / ├─openeuler-swap 4G 0 swap [SWAP] └─openeuler-home 20G 0 ext4 /home

关键检查点

  • sda的总大小是否与扩容后的预期一致
  • 分区表是否覆盖全部空间(如示例中sda2仍为63G,存在未分配空间)

sda容量未更新,需检查:

  1. 虚拟机配置是否已保存
  2. 是否需重新扫描SCSI设备:echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan

3. 物理卷层诊断

当物理磁盘容量正确识别后,需要验证LVM物理卷(PV)是否包含新增空间:

pvdisplay -C --units g

输出示例:

PV VG Fmt Attr PSize PFree /dev/sda2 openeuler lvm2 a-- <63.00g 0

问题定位

  • PSize小于物理磁盘总空间 → PV未扩展
  • PFree为0 → 卷组无可用空间

扩展PV的核心命令:

pvresize /dev/sda2

执行后再次检查pvdisplay,正常应显示:

PV VG Fmt Attr PSize PFree /dev/sda2 openeuler lvm2 a-- <255.00g 192.00g

4. 逻辑卷层调整

卷组(VG)获得新空间后,需要分配到具体逻辑卷(LV)。通过以下命令查看当前分配:

lvdisplay -C --units g openeuler

输出示例:

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root openeuler -wi-ao---- 39.69g swap openeuler -wi-ao---- 3.93g home openeuler -wi-ao---- 19.38g

扩容操作

  • 扩展根分区(70%空闲空间):
    lvextend -l +70%FREE /dev/openeuler/root
  • 扩展home分区(剩余空间):
    lvextend -l +100%FREE /dev/openeuler/home

扩展后验证:

root openeuler -wi-ao---- 174.09g swap openeuler -wi-ao---- 3.93g home openeuler -wi-ao---- 76.98g

5. 文件系统层刷新

即使LV已扩展,文件系统仍可能保持原大小。这是最容易被忽略的一步。检查当前挂载点容量:

df -h / /home

输出示例(未刷新时):

Filesystem Size Used Avail Use% Mounted on /dev/mapper/openeuler-root 40G 35G 3.2G 92% / /dev/mapper/openeuler-home 20G 456M 19G 3% /home

扩展文件系统的关键命令:

  • 对于ext4文件系统:
    resize2fs /dev/openeuler/root resize2fs /dev/openeuler/home
  • 对于xfs文件系统:
    xfs_growfs /

最终验证:

/dev/mapper/openeuler-root 172G 35G 130G 21% / /dev/mapper/openeuler-home 76G 456M 73G 1% /home

6. 典型问题速查表

现象检查命令可能原因解决方案
df显示未变化lsblkLV未扩展执行lvextend
lvextend报错vgdisplayVG空间不足先执行pvresize
文件系统未扩展lvdisplay未刷新文件系统执行resize2fs
磁盘大小未更新fdisk -l未识别新空间扫描SCSI设备

7. 自动化扩容脚本

对于频繁操作的环境,可以创建自动化脚本(保存为/usr/local/bin/lvm_expand.sh):

#!/bin/bash PV=/dev/sda2 VG=openeuler ROOT_LV=/dev/mapper/openeuler-root HOME_LV=/dev/mapper/openeuler-home # 物理卷扩展 pvresize $PV # 逻辑卷扩展 lvextend -l +70%FREE $ROOT_LV lvextend -l +100%FREE $HOME_LV # 文件系统扩展 if grep -q ext4 /etc/fstab; then resize2fs $ROOT_LV resize2fs $HOME_LV else xfs_growfs / xfs_growfs /home fi echo "扩容完成!当前磁盘状态:" df -h / /home

赋予执行权限:

chmod +x /usr/local/bin/lvm_expand.sh
http://www.cnnetsun.cn/news/2699593.html

相关文章:

  • RAG 2.0 解密:从“像不像“到“对不对“,你的AI架构还停留在1.0时代吗?
  • 3大核心优势解密:Qbot本地化AI量化交易框架实战指南
  • 基于 LightGBM + Streamlit 的校园食堂销量预测与备餐建议系统实战
  • Windows取证实战:从用户目录到注册表,手把手教你定位关键证据(附常用路径清单)
  • MATLAB版随机四参数多孔结构生成工具:孔隙率可调、适配LBM仿真
  • STM32F103VET6开发板实测SDIO驱动工程:支持FAT格式SD/SDHC卡读写
  • Mac Mouse Fix终极指南:如何让你的普通鼠标比Apple触控板更好用
  • 别再折腾驱动了!Ubuntu 22.04 LTS一键安装OpenCL运行环境(含AMD/NVIDIA显卡)
  • Matlab中值滤波接SVD降噪完整实现(含测试数据、结果图与技术文档)
  • 别再傻傻用numpy.convolve了!用FFT实现音频卷积,效率提升百倍(Python/C++代码实战)
  • 基于大语言模型的智能视频剪辑技术突破:FunClip如何革新内容创作工作流
  • 别再只用K-Means了!用DBSCAN算法5分钟搞定信用卡异常用户检测(附Python实战代码)
  • 如何集成size-plugin到CI/CD流程:自动化构建大小监控方案
  • Arduino引脚扩展实战:用74HC595驱动数码管与PCB设计
  • 动态规划:简单多状态模型 —— 从入门到状态机设计
  • 告别‘近大远小’:用OpenCV和Python手把手实现车道线IPM鸟瞰图变换(附代码)
  • 优选算法——栈
  • AMD Ryzen深度调试指南:三步掌握SMUDebugTool硬件调优技术
  • 8 款主流 AI 毕业论文写作工具深度横评,学术写作效率优选指南
  • 从啤酒尿布到你的购物车:用亲和性分析优化独立站商品推荐(Python实战)
  • 生成word文档的智谱清言:AI导出鸭深度技术测评
  • Arduino I2C地址扫描:从原理到实战的完整调试指南
  • AI 大模型推理性能、可控性与商用成本选型决策指南
  • Arduino与伺服电机DIY动态万圣节鬼屋:从原理到实现的创客指南
  • Veo 2分辨率智能缩放算法逆向拆解(独家内测版SDK文档泄露):为何1920×1080输入反而触发8K神经插帧?
  • 告别远程桌面:用PSTools 2.7命令行高效管理Windows服务器(附权限配置避坑指南)
  • 字节跳动2026年算法面试高频题及最优解法(附实战演练)
  • 告别手动数细胞:用DETR+HS-FPN打造高精度白细胞自动检测模型(附代码与数据集)
  • Playwright爬虫进阶:用Route拦截修改请求头,轻松绕过常见反爬策略
  • 扩散模型与多视角优化:从2D视频重建3D运动的实战指南