我在一台由少量 SAN 磁盘组成的 RHEL 服务器上有一个包含单个 LV 的现有 VG。为了将服务器迁移到较新的 SAN,我想将现有存储镜像到已添加到服务器的较新的存储。
我们正在尝试就地执行此操作,以便不会中断 LV 的可用性。我怀疑应该有某种方法可以使用lvconvert命令,但我似乎无论如何也想不通。向卷添加镜像似乎很简单,但我找不到任何关于如何指定使用哪组磁盘来创建要添加的新镜像支路的信息。
目前我有以下信息:
旧 SAN:
PV VG Fmt Attr PSize PFree
/dev/mapper/mpath0 vg_ap01 lvm2 a-- 136.00G 0
/dev/mapper/mpath1 vg_ap01 lvm2 a-- 136.00G 0
/dev/mapper/mpath11 vg_ap01 lvm2 a-- 136.00G 1.00G
/dev/mapper/mpath12 vg_ap01 lvm2 a-- 136.00G 0
/dev/mapper/mpath2 vg_ap01 lvm2 a-- 136.00G 0
/dev/mapper/mpath3 vg_ap01 lvm2 a-- 136.00G 1.00G
/dev/mapper/mpath4 vg_ap01 lvm2 a-- 136.00G 1.00G
/dev/mapper/mpath5 vg_ap01 lvm2 a-- 136.00G 1.00G
/dev/mapper/mpath6 vg_ap01 lvm2 a-- 136.00G 0
新 SAN:
PV VG Fmt Attr PSize PFree
/dev/mapper/mpath19 vg_ap01 lvm2 a-- 136.00G 136.00G
/dev/mapper/mpath20 vg_ap01 lvm2 a-- 136.00G 136.00G
/dev/mapper/mpath21 vg_ap01 lvm2 a-- 136.00G 136.00G
/dev/mapper/mpath22 vg_ap01 lvm2 a-- 136.00G 136.00G
/dev/mapper/mpath23 vg_ap01 lvm2 a-- 136.00G 136.00G
/dev/mapper/mpath24 vg_ap01 lvm2 a-- 136.00G 136.00G
/dev/mapper/mpath25 vg_ap01 lvm2 a-- 136.00G 136.00G
/dev/mapper/mpath26 vg_ap01 lvm2 a-- 136.00G 136.00G
/dev/mapper/mpath27 vg_ap01 lvm2 a-- 136.00G 136.00G
目标是将 mpath0-6、11-12(它们组合创建了 LV /dev/vg_ap01/lv_ap01)镜像到 mpath19-27。稍后,一旦镜像完成,我们想打破镜像并将较旧的磁盘(0-6、11-12)从 VG 中拉出。
需要注意的是,镜像不能有交叉,所有数据必须分别包含在两组磁盘上,否则我们将无法摆脱旧的 SAN 存储。
有人遇到过这种情况吗?提前谢谢您。
答案1
解决方案1:
根据评论,使用 pvmove(您在迁移期间可能会面临风险)。
解决方案2:
lvextend -m 1 /dev/vg_ap01/lv_ap01 /dev/mapper/mpath19 /dev/mapper/mpath20 ...
然后
lvreduce -m 0 /dev/vg_ap01/lv_ap01 /dev/mapper/mpath1 /dev/mapper/mpath2 ...
在哪里
-m
指定镜像数量/dev/vg_ap01/lv_ap01
是逻辑卷- 要添加/删除磁盘