CentOS 分卷磁盘迁移实用指南
一、场景与总体思路
lsblk、pvs、vgs、lvs -o +devices,明确 LV 所在 PV。/etc/fstab、/etc/lvm/backup/),准备回滚方案。pvcreate 初始化。二、同机更换磁盘或扩容(推荐 pvmove)
lsblk、lvs -o +devices 确认 LV 当前位于旧 PV(如 /dev/sdb1)。parted /dev/sdc mklabel gpt → mkpart primary 0% 100% → toggle 1 lvm → pvcreate /dev/sdc1。vgextend <VG名> /dev/sdc1。pvmove /dev/sdb1 /dev/sdc1(可加 -b 后台、-i 5 进度)。lvs -o +devices 确认 LV 已在新盘;pvs -o +pv_used 看到旧盘 Used=0。vgreduce <VG名> /dev/sdb1 → pvremove /dev/sdb1。pvmove -n <LV路径> <旧PV> <新PV> 精准迁移。三、跨主机迁移卷组 VG(导出与导入)
umount /data(确保无进程占用)。lvchange -an <LV路径> → vgchange -an <VG名>。vgexport <VG名>(此时 VG 处于导出状态)。pvscan(应能看到来自源机的 PV)。vgimport <VG名>。vgchange -ay <VG名>。mount /dev/<VG名>/<LV名> /data,并校验数据。md5sum 关键文件或快照对比)。四、仅迁移某个逻辑卷 LV(镜像法)
pvcreate /dev/sdc1 → vgextend <VG名> /dev/sdc1。lvconvert -m 1 <VG名>/<LV名> /dev/sdc1(会先做镜像同步)。lvconvert -m 0 <VG名>/<LV名> /dev/sdb1。vgreduce <VG名> /dev/sdb1 → pvremove /dev/sdb1。五、注意事项与常见问题
pvmove 支持在线迁移,但关键业务仍建议维护窗口执行;迁移中避免对 LV 做大幅写入。lvs -o +devices、pvs -o +pv_used 复核映射关系与占用。grub2-install、重建 initramfs),建议采用救援模式或同型号环境演练后再实施。