转载 IBM AIX系统重新查找存储链路

我们AIX也有这个问题,先看看内容,以后要操作,不过肯定是要先找软件问题,再找硬件问题。fget_config -Av查出来是dacNONE   从lsattr -El 可以看出dac0 和dac1 是一个 dac2 是正常的,原来的dac1变成dac0了,

 

以下是同事处理的故障和整理的文档

1  系统环境介绍

两台P550主机(smscdb1和smscdb2)、一台Ds4700+Exp710,每台主机两块hba卡,ds4700两个控制器分别与两台主机的4个hba卡连接。

2  故障现象

smscdb1主机只能正常识别一条链路,另一条链路为dacnone,检查其硬件状态均为正常,errpt有系统报错。阵列报警显示有一条链路不是最佳路径。详细信息如下:

#errpt

 

# lsdev -C|grep fc

fcs0  Available 04-08  FC Adapter

fcs1  Available 0B-08  FC Adapter

fc正常

 

# lsdev -C|grep  fs

fscsi0  Available 04-08-02  FC SCSI I/O Controller Protocol Device

fscsi1  Available 0B-08-02  FC SCSI I/O Controller Protocol Device

fs正常

 

# lsdev -C|grep dac

dac0  Available 0B-08-02  1814-70A (70A) Disk Array Controller

正常应为两条链路 

 

# fget_config -vA

 ---dar0---

 User array name = ''

 dac0 ACTIVE  dacNONE ACTIVE

 Disk  DAC  LUN Logical Drive

 Hdisk2  dac0  0  1

 Hdisk3  dac0  0  1

 正常情况下第二条链路也应为dac1 ACTIVE

 

3  解决办法

第一步: 系统全备份和业务数据备份

#smit mksysb

第二步:将系统应用切换到备机smscdb2

 #smit hacmp

第三步:将系统的非本地hdisk删除。

#rmdev �Cdl hdisk2

#rmdev �Cdl hdisk3

第四步:删除系统链路信息 

# rmdev -dl fcs0 -R

#rmdev -dl fcs1 -R 

#rmdev �Cdl dar0

#rmdev �Cdl dac0 �CR

第五步:确认系统链路已被正常删除

#fget_config �CA 

无输出说明系统链路已被删除

第六步:重新识别系统信息

#cfgmgr �Cv

第七步:检查系统是否正常识别系统hba卡

# lsdev -C|grep fc

fcs0  Available 04-08  FC Adapter

fcs1  Available 0B-08  FC Adapter

fc正常

 

# lsdev -C|grep  fs

fscsi0  Available 04-08-02  FC SCSI I/O Controller Protocol Device

fscsi1  Available 0B-08-02  FC SCSI I/O Controller Protocol Device

fs正常

 

第八步:检查链路是否正常识别

#fget_config �CA

---dar0---

 User array name = ''

 dac0 ACTIVE  dacNONE ACTIVE

 Disk  DAC  LUN Logical Drive

 Hdisk2  dac0  0  1

 Hdisk3  dac0  0  1

 正常情况下第二条链路也应为dac1 ACTIVE,说明重建系统链路并没有解决问题。按照前期的解决方案重启服务器,并向用户说明情况需要重启服务器。

第九步:重启服务器

 #shutdown �CFr

第十步:重启服务后检查系统

#fget_config �CA

 User array name = ''

 dac0 ACTIVE  dacNONE ACTIVE

 Disk DAC  LUN Logical Drive

 Hdisk2  dac0  0  1

 Hdisk3  dac0  0  1

问题依旧。

 

第十一步:将smscdb1主机上的两条光线链路分别拔下,每次只允许一块hba卡接有光纤,将系统的所有链路信息删除后再重新识别系统阵列,详细步骤如下:

#rmdev �Cdl hdisk2

#rmdev �Cdl hdisk3

# rmdev -dl fcs0 -R

#rmdev -dl fcs1 -R 

#rmdev �Cdl dar0

#rmdev �Cdl dac0 �CR

#fget_config �CAv

在测试的过程中发现,当只连接其中一块其尾号为A0的hba卡的时候无法正常识别阵列,执行#lsdev -C |grep dac命令系统无输出,说明尾号为A0的hba卡与阵列的链路不通。

此时我对出现这种问题到底是由于什么原因造成的不能确认,可能是阵列或者主机端的光线模块故障,也可能是光线的问题,还有可能是阵列的配置问题。

第十二步:检查主机端的hab卡的状态

# lsdev -C|grep fc

fcs0  Available 04-08  FC Adapter

fcs1  Available 0B-08  FC Adapter

fc正常

 

# lsdev -C|grep  fs

fscsi0  Available 04-08-02  FC SCSI I/O Controller Protocol Device

fscsi1  Available 0B-08-02  FC SCSI I/O Controller Protocol Device

fs正常

用肉眼观察主机端的hba卡有光输出,结合fs和fc的状态排除主机端hba卡故障的可能性。

第十三步:登陆阵列检查控制器上的光线模块的状态正常,用肉眼观察模块也有光输出,排除阵列端光纤模块故障的可能性。

第十四步:将阵列端光纤插入光纤模块在,主机端检查光纤有光输出;将主机端的光纤插入hba卡,在阵列端观察光纤任然有光输出,排除了光纤故障的可能性。这样就初步排除了硬件故障的肯能性。

第十五步:连接阵列,检查阵列的详细信息

检查阵列发现在阵列的map信息中有5块hba卡的信息,但是通过检查主机的hba的信息发现,每台主机2块hba卡,总共只有4块hba卡,通过与主机hba的wwn号核对发现有一块hba卡的wwn末两位为30的hba的信息在主机上无法找到。主机只有4块hba卡,但是在阵列的配置信息中却有5个wwn号,这是绝对不正常的现象,初步判断可能是由于阵列的一条链路对应了两个hba,造成配置信息混乱而无法正常识别链路。

第十六步:此时与客户沟通,需要对阵列做操作,确定对业务没有任何影响,客户同意后将控制器B重启(由于系统的一条链路不在最佳路径,系统的两个array都是使用的A控制器,因此不用切换控制器),重启控制B后,再检查阵列的map信息发现系统中只有4块hba卡,根据wwn号检查发现真是两台主机的4块hba卡。

第十七步:按照系统提示信息将阵列上array2的切换到B控制器上。

第十八步:在smscdb1主机上重新识别系统链路信息

#cfgmgr �Cv

#fget_config �CAv

User array name = ''

 dac0 ACTIVE  dac1 ACTIVE

 Disk  DAC  LUN Logical Drive

 Hdisk2  dac0  0  1

 Hdisk3  dac1  0  1

两条链路正常。

 

第十九步:检查系统hdisk信息

#lspv

hdisk0  00033b51914bb615  rootvg  active
hdisk1  00033b5128510ed5  rootvg  active
hdisk2  none None 
hdisk3  none None 

由于datavg还在备机smscdb2上是激活状态,因此无法将datavg的信息导入主机smscdb1上。和客户说明情况需要停止业务几分钟,由于在前期的变更方案中没有提及要中断业务,因此客户现场工程师电话联系其领导得到许可后将主备机中的双机都停掉。

在smscdb2上执行

#varyoffvg datavg

#exportvg datavg

在smscdb1上执行

#importvg �Cy datavg hdisk2

#varyoffvg datavg

再在smscdb2上执行

#importvg �Cy datavg

第二十步:确认两台主机上的datavg信息正常

#lspv
hdisk0  00033b51914bb615 rootvg  active
hdisk1  00033b5128510ed5 rootvg  active
hdisk2   00033b5157b3af75 datavg 
hdisk3  00033b5157aff78c  datavg  

确认两台主机的datavg信息一致。

第二十一步:启双机

在两个节点上分别执行#smit clstart

正常启动

第二十二步:检查数据库是否正常启动

#ps �Cef|grep oracle

发现数据库的进程不正常,无数据库监听进程,检查数据库日志发现系统报权限错误。将双机全部停掉。

在两个节点上都执行#smit clstop

第二十三步:在smscdb1上执行如下命令:

#cd /dev

#ls �Cl

发现有关数据库的rlv_*的所有文件的权限都变成了system:root,正常情况先应为oracle:dba,因此将所有rlv_*开头的所有文件权限改为oracle:dba

#cd /

#chown oracle:dba /dev/rlv_*

#lslv 输出正常。

第二十四步:在两个节点上启双机

先在节点smscdb1上执行#smit clstart

#/usr/es/sbin/cluster/clstat �Ca

确认双机状态正常。

#ps �Cef|grep oracle  检查数据库正常

 

再在smscdb2上执行#smit clstart

#/usr/es/sbin/cluster/clstat �Ca

确认双机状态正常。

第二十五步:将业务从节点1切换到节点2上

#smit hacmp 将资源切换到节点2上

#ps �Cef|grep oracle  检查数据库正常

 

你可能感兴趣的:(IBM,AIX,系统重新查找存储链路,dacNone)