前几天HP工程师过来做巡检,发现我们的一台HP8640小机上有个光纤链路掉了。我们的SAN结构是 HP8640小机(两个HBA卡,双链路)+ EMC光纤交换机(两台)+ EMC DMX3存储。
同事到机房看了一下,是因为小机上的HBA卡有个光纤端口出问题了。换一个光纤端口后,在光纤交换机上看,链路已经OK了。本以为这样就搞定了,没想到花了我1天的时间才搞定了这个问题。下面是发现的问题及处理的步骤:
1、登上出问题的小机,用**ioscan -fnC disk**看这个链路上的磁盘还是**NO_HW**状态。
2、开始以为是光纤交换机上zone的要更改,登上光纤交换机,发现zone是按交换机的端口来划的,我只是换了HBA卡上的端口,光纤交换机上的端口没有更换,所以在zone的划分上并没有什么问题。
3、用小机上的EMC powerpath软件查看,命令 **powermt display dev=all**,发现有个光纤链路出问题了,显示如下:
Logical device ID=0293 state=alive; policy=SymmOpt; priority=0; queued-IOs=0 ============================================================================== ---------------- Host --------------- - Stor - -- I/O Path - -- Stats --- ### HW Path I/O Paths Interf. Mode State Q-IOs Errors ============================================================================== 10 1/0/6/1/0/4/0.11.11.0.0.1.0 c10t1d0 FA 8cB active alive 0 2 8 1/0/4/1/0/4/0.21.11.0.0.1.0 c8t1d0 FA 9cB active dead 0 14、用 powermt check 命令进行check,但无法把dead的磁盘给去掉,因为VG还在激活状态,umount掉所有存储上的分区,并把VG状态改成不激活状态,就可以了,使用命令如下: ** umount /oraque ** #umount掉存储上的分区 ** vgchange -a n /dev/vgqueora** #更改VG的激活状态 ** powermt check ** #去掉dead的磁盘链路 **powermt display dev=all** #查看dead的磁盘链路是否已经去掉 5、用EMC的 solutions Enabler工具配置mask,让新的HBA卡光纤端口可以访问之前对应的磁盘,具体操作如下: **cat /usr/emc/API/symapi/config/symapi_licenses.dat** #确认你的solution Enable工具是否有 Dev Masking license. **./symmaskdb list database **#找到链路有问题的EMC Director ID是9C,Director port 是1,磁盘设备、老的连接主机HBA卡的WWN号等信息,显示如下:(注:请记录下Port Name和Devices列的内容):
Director Identification : FA-9C Director Port : 1 User-generated Identifier Type Node Name Port Name Devices ---------------- ----- --------------------------------- --------- 500143800118fb4a Fibre 500143800118fb4a 500143800118fb48 00A9 0293 0297
** ./symmask refresh ** #把EMC后台MASK DB应用到前台FA
**./symmask delete -wwn 500143800118fb48 ** #删除老的HBA卡的mask
.把**./symmaskdb list database ** 命令生成的信息中,Director ID是9C,Director port 是1 的 Device 下的信息放到一个aaa.txt文件中,格式如下(第一列是Devices下的内容,第二个是任意4位数字):
00A9 0000
0293 0000
0297 0000
./symmask -wwn 500143800118fb4a -dir 9C -p 1 add -f aaa.txt #新建一个mask,WWN号是你新的HBA卡光纤端口的WWN号这里是500143800118fb4a ,-dir 是Director ID, -p 是Director Port,aaa.txt中是磁盘设备号。
**./symmask refresh ** #把EMC后台MASK DB应用到前台FA
6、用powermt工具进行config,看是否链路是否已经可用
** powermt config ** #让power patch进行重新配置
**powermt display dev=all** #查看是否链路是否已经可用,显示如下:
Logical device ID=0293
state=alive; policy=SymmOpt; priority=0; queued-IOs=0
—————- Host ————— - Stor - – I/O Path - – Stats —
HW Path I/O Paths Interf. Mode State Q-IOs Errors
==============================================================================
10 1/0/6/1/0/4/0.11.11.0.0.1.0 c10t1d0 FA 8cB active alive 0 0
14 1/0/4/1/0/4/1.21.11.0.0.1.0 c14t1d0 FA 9cB active alive 0 0
powermt save #保存配置
7、做到上面一步,新的路径已经可用了,但还是有一些HP主机层上的工作要做,为这些新的路径生成设备文件,使用命令如下:
** insf -e -C disk ** #生成新的路径设备文件
8、在用vgchange来激活新路径时,你可能会得到报错,因为老的设备文件已经不可用了,你需要备份并删除老的/etc/lvmtab文件,用vgscan从磁盘来重新生成新的/etc/lvmtab的VG配置。
cd /etc; cp lvmtab lvmtab.bak; rm lvmtab #备份并删除老的/etc/lvmtab文件
** vgscan -a** #从磁盘来重新获得VG配置
** vgchange -a y /dev/vgqueora ** #激活VG
**vgdisplay -v /dev/vgqueora **#查看VG状态,从显示看,PV的dsk设备名已经从/dev/dsk/c08xxxx改成了/dev/dsk/c14xxxx了:),显示如下:
PV Name /dev/dsk/c14t1d7
PV Name /dev/dsk/c10t1d7 Alternate Link
PV Status available
Total PE 2912
Free PE 101
Autoswitch On
Proactive Polling On
mount /oraque #挂上分区
终于搞定了,哈哈。没想到在SAN环境中换个HBA卡的光纤端口有这么一大堆工作。相关难点主要是用EMC 的solutions Enabler工具配置mask,更换老的HBA卡端口的WWN号。EMC的DMX3是个全封闭系统,相关配置操作文档比较少。如果你有power link的帐号,你可以通过下面的链接来直接下载solutions Enabler的使用说明:
http://powerlink.emc.com/km/live1/en_US/Offering_Technical/Technical_Documentation/300-002-940_a08.pdf 如果你没有power link 的帐号,我也可以给你一个,呵呵。