HP的DL580,OS是Redhat Enterprise Linux 4.5,接EMC CX700的存储,在安装了powerpath多路径软件后,系统能正确的识别出路径合并后的/dev/emcpower*设备。但是如果用lvm2来管理这些设备,会发现无论是创建还是查看pv/vg/lv都会报一堆的重复pv的问题:
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的关系的时候,就一个头两个大。
...
/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设备:
上面这个过滤串的意思是,接受(Accept)所有路径中包含cciss和emcpower的设备,拒绝(Reject)所有其他的设备。由于是HP的pc server,其本地硬盘的设备在os中的路径是/dev/cciss/c0d0。假如是其他系统,本地盘是传统的sd或者hd的,则需要做相应修改。sd比较麻烦点,因为duplicate出来的也是/dev/sd*,所以需要确认哪些是需要accept的本地硬盘,哪些是需要reject的重复pv。另外,lvm识别出来的设备可以在/etc/lvm/.cache中查看,也可以根据这个文件的内容来制定过滤规则。
整个世界终于清净了
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
...
--EOF--
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/1384/viewspace-342872/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/1384/viewspace-342872/