【NinGoo】lvm2與powerpath的Found duplicate PV問題

idba發表於2008-06-07

HP的DL580,OS是Redhat Enterprise Linux 4.5,接EMC CX700的儲存,在安裝了powerpath多路徑軟體後,系統能正確的識別出路徑合併後的/dev/emcpower*裝置。但是如果用lvm2來管理這些裝置,會發現無論是建立還是檢視pv/vg/lv都會報一堆的重複pv的問題:

#pvs
  Found duplicate PV ia0wzQ0pQ8J5H4Hu8hsubKjmx0T7bCNf: using /dev/emcpowert not /dev/sdc
  Found duplicate PV OYmrYleEE05bGKm0pBWT60afWjl827a6: using /dev/sde not /dev/emcpowers
  Found duplicate PV 0MWBXuho29Gnr5WKm3v0sZbXun3Mso2x: using /dev/sdg not /dev/emcpowerr
...

這個還可以勉強忍受,最頭痛的是pvcreate後的名字,也有些是/dev/emcpower*,有些是/dev/sd*,這時候你要在這些pv上建立vg,要從不同的raid組來選取lun,也就是想知道pv對應lun的關係的時候,就一個頭兩個大。

PV             VG     Fmt  Attr PSize   PFree 
...
  /dev/emcpowerk vg_u03 lvm2 a-   167.03G   2.34G
  /dev/emcpowerl vg_u01 lvm2 a-   167.03G   2.34G
  /dev/sdaa      vg_log lvm2 a-   127.41G 160.00M
  /dev/sdab      vg_log lvm2 a-   127.41G 160.00M
...

沒有辦法,只有通過修改/etc/lvm/lvm.conf中的過濾規則來強行讓lvm略過非powerpath裝置:

filter = [ "a/cciss*$/" "a/emcpower.*/" "r/.*/" ]

上面這個過濾串的意思是,接受(Accept)所有路徑中包含cciss和emcpower的裝置,拒絕(Reject)所有其他的裝置。由於是HP的pc server,其本地硬碟的裝置在os中的路徑是/dev/cciss/cndn。假如是其他系統,本地盤是傳統的sd或者hd的,則需要做相應修改。sd比較麻煩點,因為duplicate出來的也是/dev/sd*,所以需要確認哪些是需要accept的本地硬碟,哪些是需要reject的重複pv。另外,lvm識別出來的裝置可以在/etc/lvm/.cache中檢視,也可以根據這個檔案的內容來制定過濾規則。

整個世界終於清淨了

#pvs
  PV              VG   Fmt  Attr PSize   PFree 
  /dev/emcpowera       lvm2 --   100.24G 100.24G
  /dev/emcpoweraa      lvm2 --   100.24G 100.24G
  /dev/emcpowerab      lvm2 --   100.24G 100.24G
...

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1384/viewspace-342931/,如需轉載,請註明出處,否則將追究法律責任。

相關文章