Linux

將 LVM 中的鏡像添加到現有 LV 時,如何指定用於鏡像的 PV?

  • November 28, 2014

我在 RHEL 伺服器上有一個包含單個 LV 的現有 VG,該伺服器由幾個 SAN 磁碟組成。為了將伺服器遷移到較新的 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 鏡像到 mpath19-27,它結合創建 LV /dev/vg_ap01/lv_ap01。稍後,一旦鏡像完成,我們想打破鏡像並將舊磁碟 (0-6,11-12) 從 VG 中拉出。

需要注意的是,鏡像不能交叉,所有數據必須分別包含在兩組磁碟上,否則我們將無法擺脫舊的 SAN 儲存。

以前有人遇到過這種情況嗎?先感謝您。

解決方案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是邏輯卷
  • 要添加/刪除磁碟

引用自:https://serverfault.com/questions/637669