直接用 pvmove 可在线迁移 LVM 数据:先 fdisk 分区设类型 8e,partprobe 刷新;再 pvcreate 和 vgextend 加入新 PV;执行 pvmove /dev/sda1 /dev/sdb1 迁移;完成后 vgreduce 和 pvremove 清理旧 PV。

直接用 pvmove 就能在线把 LVM 卷里的数据从旧硬盘迁到新硬盘,整个过程不用关机、不丢数据。
确认新硬盘已就位并分区为 LVM 类型
新硬盘(比如 /dev/sdb)不能直接用,得先分一个 LVM 专用分区:
- 运行
fdisk /dev/sdb - 输入
n新建主分区 →p→ 回车选默认起止扇区 - 输入
t改类型 → 输入8e(Linux LVM) - 输入
w保存退出 - 执行
partprobe /dev/sdb刷新分区表
初始化新分区为物理卷,并加入现有卷组
pvcreate /dev/sdb1 vgextend vg_name /dev/sdb1 # 把新 PV 加进已有卷组(vg_name 替换为你自己的 VG 名)
运行 vgdisplay 确认卷组里新增了空闲空间,pvdisplay 看新 PV 状态是否 active。
执行数据迁移
核心命令只有一条:
pvmove /dev/sda1 /dev/sdb1
其中 /dev/sda1 是旧物理卷(含数据),/dev/sdb1 是目标新物理卷。
迁移过程可后台运行,不影响业务;可通过 pvs 或 pvdisplay 观察进度(Free PE 逐渐增加,Allocated PE 逐步减少)。
清理旧物理卷
等 pvmove 完成后(输出显示 “0 logical extents migrated”),再执行:
vgreduce vg_name /dev/sda1 # 从卷组中移除旧 PV pvremove /dev/sda1 # 彻底清除 PV 标识(之后该盘可重用或下线)
迁移完成后,原逻辑卷和文件系统完全不受影响,所有挂载点、服务照常运行。


















