lvdisplay -m 用于查看逻辑卷的物理扩展(PE)映射关系,以段为单位列出每个逻辑扩展(LE)区间对应的物理卷(PV)及PE起止编号,反映静态、持久化的地址映射。

lvdisplay 默认不显示逻辑卷(LV)底层物理扩展(PE)的分配映射关系,它只展示 LV 的基本信息(如大小、路径、VG/LV 名称、状态等)。要查看 PE 级别的实际映射(即每个逻辑扩展 LE 对应哪个物理卷 PV 上的哪个 PE),需配合 lvs(带详细选项)或更直接使用 lvscan -v 和 pvs --maps,但最准确、最常用的方法是:
用 lvdisplay -m 查看 LV 的线性/条带化 PE 映射
-m(map)选项是关键,它会以“段(segment)”为单位,列出该 LV 每一段 LE 区间在哪些 PV 的哪些 PE 范围上连续存放。
执行命令:
lvdisplay -m /dev/vg_name/lv_name
输出示例:
--- Logical volume ---
LV Path /dev/vg00/lv_data
LV Name lv_data
VG Name vg00
...
--- Segments ---
Logical extent 0 to 12799:
Physical extent 0 to 12799 on /dev/sdb1
Logical extent 12800 to 25599:
Physical extent 0 to 12799 on /dev/sdc1说明:
- 每段(Segment)表示一段连续的 LE 区间,及其对应的 PV + PE 起止编号;
- LE 编号从 0 开始,PE 编号也从 0 开始;
- 若 LV 是镜像(mirror)或 RAID 类型,这里会显示多个 PV 并列(如 “on /dev/sdb1 and /dev/sdc1”);
- 若 LV 含有空洞(如删除快照后未重排)、条带(striped)或 RAID10,-m 仍能反映实际分布,但结构更复杂。
结合 lvs -o +seg_pe_ranges 获取紧凑映射表
如果想批量查看或导出映射关系(例如做容量分析或迁移规划),可用:
lvs -o +seg_pe_ranges,seg_type,stripes --noheadings /dev/vg_name/lv_name
输出类似:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
lv_data vg00 -wi-ao---- 100.00g /dev/sdb1:0-12799 /dev/sdc1:0-12799 linear 2
其中 /dev/sdb1:0-12799 即为该段 LE 对应的 PV:PE 范围。注意:此格式仅对线性 LV 直观;条带或镜像会列出多个范围并标明类型。
验证 PE 分配是否连续或跨盘:用 pvs --segments
从物理卷视角反查哪些 LE 落在某 PV 的哪些 PE 上:
pvs --segments /dev/sdb1
输出中会包含:
PV PE Start PE End LV start LE end LE
这能帮你确认某块磁盘上被哪些 LV 占用、从哪个 LE 开始映射——特别适合排查碎片或评估 PV 移除可行性。
小提示:映射依赖于创建时策略,运行时不自动重排
LV 的 PE 映射在创建(lvcreate)或扩展(lvextend)时由 LVM 根据当前 PV 空闲 PE 分布和分配策略(如 --alloc cling / anywhere / contiguous)决定,之后不会随写入自动调整。即使你删了文件,LE→PE 映射也不变;只有执行 pvmove 或 lvconvert --repair 等操作才会主动重映射。
所以,-m 输出的是静态的、持久化的地址映射,不是实时 I/O 路径。

















