在Linux系统中,物理卷(Physical Volume, PV)是LVM(Logical Volume Manager)存储架构的基础组件,由硬盘分区或整个磁盘创建而成,查看物理卷空间是存储管理的关键操作,以下是详细方法及专业工具解析:
pvs
命令(推荐)
作用:简洁查看所有物理卷的空间概览。
命令:
pvs
输出解读:
PV VG Fmt Attr PSize PFree
/dev/sda2 vg01 lvm2 a-- 100.00g 20.00g
/dev/sdb1 vg02 lvm2 a-- 200.00g 50.00g
PSize
:物理卷总容量PFree
:未分配空间VG
:所属卷组名
进阶用法:
pvs --units g # 以GB为单位显示 pvs -o+pv_uuid # 显示物理卷UUID
pvdisplay
命令
作用:查看物理卷的详细信息(包括空间分配、UUID等)。
命令:
pvdisplay
关键输出:
--- Physical volume ---
PV Name /dev/sda2
VG Name vg01
PV Size 100.00 GiB
Allocatable yes
PE Size 4.00 MiB # 物理区域大小
Total PE 25600 # 总物理区域数
Free PE 5120 # 空闲物理区域数
Allocated PE 20480 # 已分配物理区域数
PV UUID abcde1-1234-5678
pvscan
命令
作用:扫描所有物理卷并显示基本信息。
命令:
pvscan
输出示例:
PV /dev/sda2 VG vg01 lvm2 [100.00 GiB / 20.00 GiB free]
PV /dev/sdb1 VG vg02 lvm2 [200.00 GiB / 50.00 GiB free]
空间计算原理
物理卷空间管理依赖LVM的物理区域(Physical Extent, PE):
- 通过
pvdisplay
查看PE Size
(默认为4MiB)。 - 总空间 =
Total PE × PE Size
- 空闲空间 =
Free PE × PE Size
实际应用场景
场景1:快速检查空间余量
pvs --units g -o pv_name,pv_size,pv_free
输出:
PV PSize PFree
/dev/sda2 100g 20g
场景2:排查空间不足问题
pvdisplay -C -o pv_name,vg_name,pv_size,pv_free --units g
输出:
PV VG PSize PFree
/dev/sdb1 vg02 200g 0 # 此处PFree=0需扩容
注意事项
- 权限要求:执行命令需
root
或sudo
权限。 - 数据一致性:
- 操作前确保无活跃I/O(避免数据损坏)。
- 对关键物理卷操作前建议备份(如使用
dd
或lvmsnapshot
)。
- LVM元数据:
- 物理卷空间包含少量元数据(通常不足1%),
pvs
显示的PSize
已扣除该部分。
- 物理卷空间包含少量元数据(通常不足1%),
命令 | 适用场景 | 优势 |
---|---|---|
pvs |
快速查看空间余量 | 输出简洁,适合脚本调用 |
pvdisplay |
查看详细参数(如UUID、PE信息) | 信息全面,便于调试 |
pvscan |
扫描所有物理卷 | 自动检测新设备 |
专业建议:
- 生产环境中定期通过
pvs
监控空间(可结合cron
定时任务)。- 扩容前使用
pvresize /dev/sdX
调整物理卷大小(需先扩展底层磁盘分区)。
引用说明: 基于LVM官方文档(sourceware.org/lvm2)及Linux man-pages(man pvs
, man pvdisplay
),操作验证环境:CentOS 7/8、Ubuntu 20.04 LTS。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9012.html