Linux LVM逻辑卷迁移教程:从旧物理卷(PV)到新物理卷

在Linux系统下使用LVM(Logical Volume Manager)逻辑卷管理磁盘,通常会将一个逻辑卷从一个物理卷(PV)移动到另一个物理卷。这种操作可以用于平衡存储负载、扩展或收缩存储资源等。本文将引导您完成整个迁移过程。

一、先决条件

在我们开始之前,请确保您拥有如下内容:
(1)新磁盘已经在Linux操作系统上正常识别
(2)具有sudo权限或者root用户
(3)确保新添加的PV有足够的空间容纳迁移的数据。

二、操作步骤

1.创建新的物理卷

创建新的物理卷磁盘,容量需大于等于将要被替换的物理卷。

# 显示当前主机上的pv物理卷
[root@yunweixia.com ~]# pvs
PV         VG      Fmt  Attr PSize  PFree
/dev/sda2  rhel    lvm2 a--  15.51g    0 
/dev/sdb   swapvg  lvm2 a--   8.00g    0 
/dev/sdc   vg_data lvm2 a--  10.00g    0  
# 创建新的pv物理卷
[root@yunweixia.com ~]# pvcreate /dev/sdd
  Physical volume "/dev/sdd" successfully created

2.将新创建的PV添加到现有的VG中

将上面创建的新PV物理卷添加到现有的VG(vg_data)。

# 显示当前主机上的VG
[root@yunweixia.com ~]# vgs
  VG      #PV #LV #SN Attr   VSize  VFree
  rhel      1   1   0 wz--n- 15.51g    0 
  swapvg    1   1   0 wz--n-  8.00g    0 
  vg_data   1   1   0 wz--n- 10.00g    0 
# 将新创建的PV添加到VG中
[root@yunweixia.com ~]# vgextend vg_data /dev/sdd
  Volume group "vg_data" successfully extended

3.查看当前PV、VG、LV状态

使用如下命令,查看目前主机上PV、VG、LV状态

# 查看PV
[root@yunweixia.com ~]# pvs
  PV         VG      Fmt  Attr PSize  PFree 
  /dev/sda2  rhel    lvm2 a--  15.51g     0 
  /dev/sdb   swapvg  lvm2 a--   8.00g     0 
  /dev/sdc   vg_data lvm2 a--  10.00g     0 
  /dev/sdd   vg_data lvm2 a--  10.00g 10.00g
# 查看VG
[root@yunweixia.com ~]# vgs
  VG      #PV #LV #SN Attr   VSize  VFree 
  rhel      1   1   0 wz--n- 15.51g     0 
  swapvg    1   1   0 wz--n-  8.00g     0 
  vg_data   2   1   0 wz--n- 19.99g 10.00g
# 查看LV
[root@yunweixia.com ~]# lvs
  LV      VG      Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root    rhel    -wi-ao---- 15.51g                                                    
  swap00  swapvg  -wi-ao----  8.00g                                                    
  lv_data vg_data -wi-ao---- 10.00g

4.迁移

按照规划,我们将/dev/sdc上的数据迁移到新添加/dev/sdd上。

[root@yunweixia.com ~]# pvmove /dev/sdc /dev/sdd
  /dev/sdc: Moved: 0.0%
  /dev/sdc: Moved: 33.6%
  /dev/sdc: Moved: 66.8%
  /dev/sdc: Moved: 99.9%
  /dev/sdc: Moved: 100.0%

5.从VG中删除旧PV

迁移完成后,原来的PV就不在被使用了,可以将其从VG中移除。

# 此时,/dev/sdc存在空闲空间
[root@yunweixia.com ~]# pvs
  PV         VG      Fmt  Attr PSize  PFree 
  /dev/sda2  rhel    lvm2 a--  15.51g     0 
  /dev/sdb   swapvg  lvm2 a--   8.00g     0 
  /dev/sdc   vg_data lvm2 a--  10.00g 10.00g
  /dev/sdd   vg_data lvm2 a--  10.00g     0 
# 将/dev/sdc从vg_data中移除
[root@yunweixia.com ~]# vgreduce vg_data /dev/sdc
  Removed "/dev/sdc" from volume group "vg_data"

6.从PV中删除旧PV(按需)

如果不再需要旧的PV,可以从系统中删除它。当然,通过该PV创建新的VG也是没有任何问题的。

[root@yunweixia.com ~]# pvremove /dev/sdc
  Labels on physical volume "/dev/sdc" successfully wiped
[root@yunweixia.com ~]# pvs
  PV         VG      Fmt  Attr PSize  PFree
  /dev/sda2  rhel    lvm2 a--  15.51g    0
  /dev/sdb   swapvg  lvm2 a--   8.00g    0
  /dev/sdd   vg_data lvm2 a--  10.00g    0

三、总结

以上就是一个简单的基于LVM逻辑卷的PV的迁移过程。另外,在执行任何迁移动作之前请确保备份所有数据。

原创文章,作者:运维侠,如若转载,请注明出处:https://www.yunweixia.com/solutions/linux-lvm-logical-volume-migration-guide-moving-from-old-pv-to-new-pv.html

(0)
运维侠的头像运维侠共建用户
上一篇 2025年6月26日 18:11
下一篇 2025年6月28日 18:11

相关推荐

发表回复

登录后才能评论