linux下powerpath对盘与更改盘符名
现网的几套oracle rac环境下经常会有EMC存储扩盘动作,而EMC的powerpath软件本身也会存在软件版本升级的问题。每次操作时都会担心盘符变动和一套rac下的几个节点盘符名一致的问题。通过EMC的powerpath内的emcpadm 与powermt 命令可以快速的解决该问题。本篇就针对该问题的维护经验做一个小结。
一、powerpath盘符信息的导出、导入与检查
1、查看当前的路径聚合信息
先看输出结果:
1# powermt display dev=all|more
2Pseudo name=emcpowera
3Symmetrix ID=000498700082
4Logical device ID=049F
5state=alive; policy=SymmOpt; queued-IOs=0
6==============================================================================
7--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
8### HW Path I/O Paths Interf. Mode State Q-IOs Errors
9==============================================================================
10 5 lpfc sdif FA 4gA active alive 0 0
11 5 lpfc sdfx FA 2gA active alive 0 0
12 4 lpfc sddp FA 3gA active alive 0 0
13 4 lpfc sdbh FA 1gA active alive 0 0
14Pseudo name=emcpoweraa
15Symmetrix ID=000498700082
16Logical device ID=03DB
17state=alive; policy=SymmOpt; queued-IOs=0
18==============================================================================
19--------------- Host --------------- - Stor - -- I/O Path -- -- Stats ---
20### HW Path I/O Paths Interf. Mode State Q-IOs Errors
21==============================================================================
22 5 lpfc sdhf FA 4gA active alive 0 0
23 5 lpfc sdex FA 2gA active alive 0 0
24 4 lpfc sdcp FA 3gA active alive 0 0
25 4 lpfc sdah FA 1gA active alive 0 0
26………………省略
上面的pseudo name是几块盘聚合后的路径名称;Logical device ID值为对应存储上的唯一值,可以理解为同LUN ID一样;I/O paths为聚合前的盘名称,如上面的sdif、sdfx、sddp、sdbh聚合后的名字为emcpowera,对应的逻辑ID为049F ,状态都是正常的active alive。
2、导出当前的多路径信息
使用emcpadm命令可以将当前的路径配置信息导出:
1# emcpadm export_mappings -x -f map.xml
导出的xml信息类似如下:
1# more map.xml
2<?xml version="1.0" encoding="ISO-8859-1"?>
3<powerpath_dev_mappings>
4 <powerpath_version>5.7.1 (build 6)</powerpath_version>
5 <src_hostname>irora11</src_hostname>
6 <lun>
7 <pseudo_dev>emcpowerbf</pseudo_dev>
8 <udev>0x307890</udev>
9 <product_id>symmetrix</product_id>
10 <frame_id>000498700082</frame_id>
11 <logical_devid_type>symm_id</logical_devid_type>
12 <logical_devid>028B</logical_devid>
13 </lun>
14 <lun>
15 <pseudo_dev>emcpowerbe</pseudo_dev>
16 <udev>0x307880</udev>
17 <product_id>symmetrix</product_id>
18 <frame_id>000498700082</frame_id>
19 <logical_devid_type>symm_id</logical_devid_type>
20 <logical_devid>028C</logical_devid>
21 </lun>
22…………省略
3、检查与导入
一般在升级powerpath软件时会出现,升级前后盘符名称不一致的问题,这里就可以利用之前的导出结果进行导入。
1# emcpadm export_mappings -x -f map.xml
2# emcpadm check_mappings -x -f map.xml
3# emcpadm import_mappings -x -f map.xml
检查结果如下图:
前后没有变化的会显示为nochage,有变化的会将当前的和变化后的名称列在同一列。该问题可以通过上面的import命令导入老的xml配置使配置和之前的一致。
除了下面的对比方法,也可以使用下面的方法对比:
1# powermt display dev=all|grep 'Pseudo\|Logical' |awk '{if(NR%2==0){printf $0 "\n"}else{printf "%s:",$0}}'
2Pseudo name=emcpowera:Logical device ID=049F
3Pseudo name=emcpoweraa:Logical device ID=03DB
4Pseudo name=emcpowerab:Logical device ID=03D7
5………………省略
通过该命令取出所有的聚合后的名称和逻辑ID号的对应关系,对比powerpath升级前后或扩容前后的变化。
二、盘符名更改
比如有一个三节点的rac,扩容后如果根据SCSI_ID使用的情况下,盘符名不同并不会影响使用,但为了维护方便,一般会要求盘符名、scsi_id、logical id、udev rule下的名称在三台主机上要保持一致。可以先以其中一台为参照,列出当前新增的磁盘信息与logical的对应信息,可以使用上面powemt与awk的组合导出的结果。也可以使用scsi_id获取的结果和/dev/disk/by-id的结果的组合。
1# /lib/udev/scsi_id --page=0x83 --whitelisted --device=/dev/emcpowerca
2360000970000498700082533030383836
3# ll /dev/disk/by-id/
4total 0
5lrwxrwxrwx 1 root root 10 Aug 14 00:08 scsi-360000970000498700082533030323234 -> ../../sdfz
6lrwxrwxrwx 1 root root 10 Aug 14 00:08 scsi-360000970000498700082533030323842 -> ../../sdga
7lrwxrwxrwx 1 root root 10 Aug 14 00:08 scsi-360000970000498700082533030323843 -> ../../sdgb
8lrwxrwxrwx 1 root root 10 Aug 14 00:08 scsi-360000970000498700082533030323844 -> ../../sdgc
9lrwxrwxrwx 1 root root 10 Aug 14 00:08 scsi-360000970000498700082533030333642 -> ../../sdgd
注:/dev/disk/by-id里显示的名称是聚合前的名称,不会显示聚合后的名称。且scsi_id在rac的另一个节点上看到的值也是一样。现网使用中快速比对的方法还是根据powermt的logical ID与聚合名对比,因为logcial id在三台主机上都是唯一的。
这里假设通过logical id 相同下,A、B 两台主机前后的聚合合的盘符情况如下:
1DB1 DB2
2/dev/emcpowera /dev/emcpowerb
3/dev/emcpowerb /dev/emcpowera
4/dev/emcpowerc /dev/emcpowerc
想要修改一致的话,可以在B主机上执行如下命令:
1# emcpadm renamepseudo –s emcpowera –t emcpowerd
2# emcpadm renamepseudo –s emcpowerb –t emcpowera
3# emcpadm renamepseudo –s emcpowerd –t emcpowerb
实际对比时可以选通过取A、B两台主机的powermt与awk组合后的结果,按logcial id排序后,再将两个文件join的文法快速比对,也可以通过excel 的功能快速比对。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/emc-powerpath/4985.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.