一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

linux下powerpath对盘与更改盘符名的教程

时间:2016-01-21 编辑:简简单单 来源:一聚教程网

现网的几套oracle rac环境下经常会有EMC存储扩盘动作,而EMC的powerpath软件本身也会存在软件版本升级的问题。每次操作时都会担心盘符变动和一套rac下的几个节点盘符名一致的问题。通过EMC的powerpath内的emcpadm 与powermt 命令可以快速的解决该问题。本篇就针对该问题的维护经验做一个小结。

一、powerpath盘符信息的导出、导入与检查

 1、查看当前的路径聚合信息

先看输出结果:

# powermt display dev=all|more
Pseudo name=emcpowera
Symmetrix ID=000498700082
Logical device ID=049F
state=alive; policy=SymmOpt; queued-IOs=0
==============================================================================
--------------- Host ---------------   - Stor -  -- I/O Path --   -- Stats ---
###  HW Path               I/O Paths    Interf.  Mode     State   Q-IOs Errors
==============================================================================
   5 lpfc                   sdif        FA  4gA  active   alive      0      0
   5 lpfc                   sdfx        FA  2gA  active   alive      0      0
   4 lpfc                   sddp        FA  3gA  active   alive      0      0
   4 lpfc                   sdbh        FA  1gA  active   alive      0      0
Pseudo name=emcpoweraa
Symmetrix ID=000498700082
Logical device ID=03DB
state=alive; policy=SymmOpt; queued-IOs=0
==============================================================================
--------------- Host ---------------   - Stor -  -- I/O Path --   -- Stats ---
###  HW Path               I/O Paths    Interf.  Mode     State   Q-IOs Errors
==============================================================================
   5 lpfc                   sdhf        FA  4gA  active   alive      0      0
   5 lpfc                   sdex        FA  2gA  active   alive      0      0
   4 lpfc                   sdcp        FA  3gA  active   alive      0      0
   4 lpfc                   sdah        FA  1gA  active   alive      0      0
………………省略
上面的pseudo name是几块盘聚合后的路径名称;Logical device ID值为对应存储上的唯一值,可以理解为同LUN ID一样;I/O paths为聚合前的盘名称,如上面的sdif、sdfx、sddp、sdbh聚合后的名字为emcpowera,对应的逻辑ID为049F ,状态都是正常的active alive。

2、导出当前的多路径信息

使用emcpadm命令可以将当前的路径配置信息导出:

# emcpadm export_mappings -x -f map.xml
导出的xml信息类似如下:

# more map.xml


  5.7.1 (build 6)
  irora11
 
    emcpowerbf
    0x307890
    symmetrix
    000498700082
    symm_id
    028B
 

 
    emcpowerbe
    0x307880
    symmetrix
    000498700082
    symm_id
    028C
 

…………省略
3、检查与导入

一般在升级powerpath软件时会出现,升级前后盘符名称不一致的问题,这里就可以利用之前的导出结果进行导入。

# emcpadm export_mappings -x -f map.xml
# emcpadm check_mappings -x -f map.xml
# emcpadm import_mappings -x -f map.xml
检查结果如下图:

前后没有变化的会显示为nochage,有变化的会将当前的和变化后的名称列在同一列。该问题可以通过上面的import命令导入老的xml配置使配置和之前的一致。

除了下面的对比方法,也可以使用下面的方法对比:

# powermt display dev=all|grep 'Pseudo\|Logical' |awk '{if(NR%2==0){printf $0 "\n"}else{printf "%s:",$0}}'
Pseudo name=emcpowera:Logical device ID=049F
Pseudo name=emcpoweraa:Logical device ID=03DB
Pseudo name=emcpowerab:Logical device ID=03D7
………………省略
通过该命令取出所有的聚合后的名称和逻辑ID号的对应关系,对比powerpath升级前后或扩容前后的变化。

二、盘符名更改

比如有一个三节点的rac,扩容后如果根据SCSI_ID使用的情况下,盘符名不同并不会影响使用,但为了维护方便,一般会要求盘符名、scsi_id、logical id、udev rule下的名称在三台主机上要保持一致。可以先以其中一台为参照,列出当前新增的磁盘信息与logical的对应信息,可以使用上面powemt与awk的组合导出的结果。也可以使用scsi_id获取的结果和/dev/disk/by-id的结果的组合。

# /lib/udev/scsi_id --page=0x83 --whitelisted --device=/dev/emcpowerca
360000970000498700082533030383836
# ll /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root 10 Aug 14 00:08 scsi-360000970000498700082533030323234 -> ../../sdfz
lrwxrwxrwx 1 root root 10 Aug 14 00:08 scsi-360000970000498700082533030323842 -> ../../sdga
lrwxrwxrwx 1 root root 10 Aug 14 00:08 scsi-360000970000498700082533030323843 -> ../../sdgb
lrwxrwxrwx 1 root root 10 Aug 14 00:08 scsi-360000970000498700082533030323844 -> ../../sdgc
lrwxrwxrwx 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 两台主机前后的聚合合的盘符情况如下:

DB1                              DB2
/dev/emcpowera                  /dev/emcpowerb
/dev/emcpowerb                  /dev/emcpowera
/dev/emcpowerc                  /dev/emcpowerc
 

想要修改一致的话,可以在B主机上执行如下命令:

#emcpadm renamepseudo –s emcpowera –t emcpowerd
#emcpadm renamepseudo –s emcpowerb –t emcpowera
#emcpadm renamepseudo –s emcpowerd –t emcpowerb
实际对比时可以选通过取A、B两台主机的powermt与awk组合后的结果,按logcial id排序后,再将两个文件join的文法快速比对,也可以通过excel 的功能快速比对。

热门栏目