一、系统情况
1、故障现象:
MSA2000 控制器A亮黄灯。
2、当前配置:
两台HP HL580 G5(linux系统)连接HP MSA2000存储,安装oracle10g
3、备份策略:
1)、每天凌晨0点进行rman全备、下午18点进行arch备份,备份到带库上
2)、每天晚上通过crontab设定的exp备份备份到存储上并将备份数据从存储复制到本地硬盘上
[root@dbsvr1 ~]# crontab -l
0 0 * * * su - oracle  -c  /db1arch/dmp/exp_full.sh
0 2 * * * su - oracle  -c  /db2arch/dmp/exp_full.sh
0 4 * * * cp /db1arch/dmp/exp_full*  /oracle_dmp/pszxdb1/.
0 5 * * * cp /db2arch/dmp/exp_full*  /oracle_dmp/pszxdb2/.
4、备份结果:
由于带库问题经常导致rman备份失败,但是exp备份正常,如果存储出现问题可从本地exp备份进行oracle恢复:
[root@dbsvr1 ~]# cat /db1arch/dmp/exp_full.sh
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
exp system/manage file=/db1arch/dmp/exp_full.dmp log=/db1arch/dmp/exp_full.log full=y buffer=4096000 feedback=10000 compress=n
[root@dbsvr1 ~]# ls -l /db1arch/dmp/
总计 3647980
-rwxr-xr-x 1 oracle oinstall        104 2012-12-11 expdpfull.sh
-rw-r----- 1 oracle oinstall  486723584 2013-07-16 expfull01.dmp
-rw-r----- 1 oracle oinstall  442470400 2012-12-24 expfull01.dmp.bak20130122
-rw-r----- 1 oracle oinstall  475975680 2013-05-09 expfull_20130509.dmp
-rw-r--r-- 1 oracle oinstall 2326142976 02-14 00:15 exp_full.dmp
-rw-r--r-- 1 oracle oinstall    322933 02-14 00:15 exp_full.log
-rw-r--r-- 1 oracle oinstall      30314 2013-07-16 expfull.log
-rwxrwxr-x 1 oracle oinstall        169 2009-05-14 exp_full.sh
-rw------- 1 oracle oinstall    173999 2012-12-11  nohup.out
[root@dbsvr1 ~]# ls -ltr /oracle_dmp/pszxdb1/
总计 2274172
-rwxr-xr-x 1 root root        169 02-14 04:00 exp_full.sh
-rw-r--r-- 1 root root    322933 02-14 04:00 exp_full.log
-rw-r--r-- 1 root root 2326142976 02-14 04:00 exp_full.dmp
二、MSA2000控制器故障处理过程
1、停止oracle数据库及监听:
su - oracle
lsnrctl stop
sqlplsu/as sysdba
sql>shutown immediate
sql>exit
2、去挂载文件系统
umount /db1data
umount /db1arch
3、记录存储配置信息:
请按照以下步骤收集配置信息:
记录系统用户名、密码和用户类型。 执行以下任一操作都可以到该信息:
从 HP StorageWorks MSA2000 Family Storage Management Utility (SMU) 中选择“ Manage > General Config > user configuration ”。
选择“ CLI > show users ”。
NOTE: 密码信息可能不可见,这取决于阵列的固件版本。 您将需要分配一个默认密码,然
后登录,再更改密码。
系统信息:
可以在 HP StorageWorks MSA2000 Family SMU 中到该信息。 选择“ Manage > General Config > system information ”。
也可以从“ CLI > show system ”中到该信息。
和 SNMP 通知设置:
可以在 HP StorageWorks MSA2000 Family SMU 中到该信息。 选择“ Manage > Event Notification ”
也可以从“ CLI > show snmp-paramters ”中到该信息。
日期和时间设置
可以在 HP StorageWorks MSA2000 Family SMU 中到该信息。 选择“ Manage > General Config > set date/time ”。
也可以从“ CLI > show controller-date ”中到该信息。
NTP 配置
安装oracle10g卷映射信息:
可以在 HP StorageWorks MSA2000 Family SMU 中到该信息。 选择“ Manage > Volume Management > volume mapping > map hosts to volume ”。
也可以从“ CLI > show volume-maps [volume] ”中到该信息。
快照排程信息:
可以在 HP StorageWorks MSA2000 Family SMU 中到该信息。 选择 “Manage > Scheduler” 。
也可以从“ CLI > show schedule-details [schedule] ”中到该信息。
为主机设定的 WWN 昵称:
可以在 HP StorageWorks MSA2000 Family SMU 中到该信息。 选择“ Manage > Volume Management > volume mapping > manage host list ”。
也可以从“ CLI > show host-wwn-names ”中到该信息。
4、所有虚拟磁盘移动到当前活动的控制器
SMU > 配置视图 > 选择 Vdisk > 配置 > 修改 Vdisk 所有者 > Vdisk 所有者 > A|B > 修改所有者 .
执行以下 CLI 命令:
# set vdisk owner b
5、关闭故障控制器
a. 在“配置视图”面板中选择系统,然后选择“工具”>“关闭或重新启动控制器”。
b. 设置以下选项并单击“确定”:
• 操作 —“关闭”
• 控制器类型 —“存储器”
• 控制器 — A
控制器上的蓝“可以取出”LED 亮起,指示可以安全取出该控制器。
6、断开连接到模块的电缆。标记每根电缆以便于重新连接。
7、重新拔插故障控制器
8、重新连接电缆。
9、检查模块状态,确认操作正常
如果更换后的控制器不能按预期启动,或者“故障/需要维修”LED 显示琥珀,则表示该模块未联机。请检查事件日志中是否出现错误消息,然后重新启动该控制器,使模块处于联机状态。要重新启动控制器,请输入以下命令:
1). 在“配置视图”面板中选择系统,然后选择“工具”>“关闭或重新启动控制器”。
2). 设置以下选项并单击“确定”:
• 操作 —“重新启动”
• 控制器类型 —“存储器”
• 控制器 — A
10、挂载文件系统
mount /db1data
mount /db1arch
11、启动oracle数据库及监听
su - oracle
sqlplsu/as sysdba
sql>startup
sql>exit
lsnrctl start
三、应急预案
1、预计故障:
在操作过程中,对存储进行操作可能导致存储配置信息丢失,主机无法识别存储,为保证在主机无法识别存储的情况下oracle数据库能够尽快启动,可以在进行MSA2000控制器故障处理前进行存储数据备份。
2、故障处理方案
1)、存储划分给主机的LUN有两个,并创建文件系统/db1data和/db1arch,根据df -k命令,/db1data和/db1arch仅使用了85G空间,而本地系统盘上的/根目录有200G空间,因此可以在MSA2000控制器故障处理前通过cp命令将存储上的数据备份到本地系统盘上
mkdir /db1databak
mkdir /db1archbak
cp -rp /db1data /db1databak
cp -rp /db1arch /db1archbak
2)、如果出现主机无法识别存储,可通过修改oracle参数文件,将oracle的数据文件及arc件存放目录改为/db1databak和/db1archbak,通过本地系统盘启动oracle。
3)、在进行MSA2000控制器故障处理前再进行一次exp备份,并将备份数据保存到本地系统盘上,如果通过cp命令备份的数据存在问题无法启动oracle数据库,同样可以通过exp备份出来的数据进行恢复,两样备份可以保证oracle数据库数据不会丢失,oracle数据库能够正常启动运行。