故障模拟"/>
RAC 故障模拟
1 拔掉节点1、节点2的EMC存储光纤,模拟一边存储宕掉
css日志如下:节点1::
[cssd(4129042)]CRS-1649:An I/O error occured for voting file: /dev/remc0_04a5; details at (:CSSNM00060:) in /oracle/app/11.2.0/grid/log/testdb1/cssd/ocssd.log.
节点2:
[cssd(4195026)]CRS-1604:CSSD voting file is offline: /dev/remc0_04a5; details at (:CSSNM00069:) in /oracle/app/11.2.0/grid/log/testdb2/cssd/ocssd.log.
节点3:
[cssd(3604942)]CRS-1604:CSSD voting file is offline: /dev/remc0_04a5; details at (:CSSNM00069:) in /oracle/app/11.2.0/grid/log/testdb3/cssd/ocssd.log.
节点4:
[cssd(3015132)]CRS-1604:CSSD voting file is offline: /dev/remc0_04a5; details at (:CSSNM00069:) in /oracle/app/11.2.0/grid/log/testdb4/cssd/ocssd.log.
CRS状态正常,查看votedisk如下:
$ /oracle/app/11.2.0/grid/bin/crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 8a31ddf5013d4fb1bfdbb01d6fc6eb7b (/dev/rhitachi_v0_11cc) [OCRVOTE]
2. ONLINE 1ef9486d54b24f8cbf07814d2848a009 (/voting_disk/vote_disk_nfs) [OCRVOTE]
Located 2 voting disk(s). ----少了一组
当把存储光纤插回去之后手动online磁盘,两边存储会自动同步数据
alter diskgroup SYSDG online disks in failgroup fail_1;
alter diskgroup DATADG online disks in failgroup fail_1;
2 reboot节点1、2主机,模拟主机突然宕掉故障
当reboot节点1、2主机,查看crs资源状态如下:
测试结果
当宕掉1个或多个节点时,其VIP会飘至正常节点,所有客户端重连接到可用节点,当测试主机重启完成之后,CRS会自动拉起,且VIP会正常回飘。
3 模拟public网络中断
由于主机做了虚拟化,无法拔除网线。使用命令ifconfig en1 down宕掉节点1 public ip所在的网卡进行测试
1)查看节点1发现公有IP、VIP及SCAN IP均在网卡en1上。
root@testdb1:/#netstat -in
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
en1 1500 link#2 0.14.5e.79.5c.ca 5153732 0 4066346 2
en1 1500 100.15.64 100.15.64.180 5153732 0 4066346 2
en1 1500 100.15.64 100.15.64.184 5153732 0 4066346 2
en1 1500 100.15.64 100.15.64.188 5153732 0 4066346 2
en2 1500 link#3 0.14.5e.79.5b.e6 40305463 0 44224443 2
en2 1500 7.154.64 7.154.64.1 40305463 0 44224443 2
en2 1500 169.254 169.254.78.30 40305463 0 44224443 2 0
lo0 16896 link#1 2316784 0 2316787 0 0
lo0 16896 127 127.0.0.1 2316784 0 2316787 0 0
lo0 16896 ::1%1 2316784 0 2316787 0 0
2)使用命令ifconfig en1 down进行测试
root@testdb1:/oracle/app/11.2.0/grid/bin#ifconfig en1 down
3)查看crs资源状态发现vip,scan ip均已飘至正常节点
4)将节点1的en1网卡启起来
root@testdb1:/#ifconfig en1 up
service network restart
5)查看crs资源状态发现vip正常回飘 scan 不会
测试结果
测试节点(节点1)监听停止,SCAN LISTENER原来在该节点运行,已漂移到其他可用节点,测试节点 VIP漂移到其他可用节点,当网卡起来之后(public网络恢复正常),
VIP正常回飘,测试节点监听自动online,SCAN LISTENER及scan VIP没回飘。而后我们依次测试宕掉其他节点的public IP所在网卡,
v发现SCAN LISTENER漂移至instance_number最小的节点,而vip随机漂移。
4 宕掉监听测试
通过kill监听进程实现 ASM LISTENER LISTENER-SCAN 都可以重启
测试结果
原有连接没有收到影响,新的连接不能连到该节点实例,应用通过TAF或自动重连到另一节点
监听进程自动重新启动
5 数据库单个实例crash测试
通过kill pmon进程实现
测试结果
kill pmon进程后,数据库实例crash,并且实例自动重启,重启完成后会话自动重新连接
6 模拟CSSD进程crash
通过kill cssd进程实现
测试结果
kill cssd进程后,该节点重启,VIP飘至其他正常节点,主机启动完成后CRS自动拉起,集群重新配置。
7 模拟CRSD进程crash
通过kill crsd进程实现
测试结果
kill crsd.bin进程后,一分钟内该进程自动拉起。原理:crsd进程crash将会被orarootagent检测到,同时crsd进程会被自动重启。
8 模拟EVMD进程crash EVENT management
通过kill evmd进程实现
测试结果
kill evmd.bin进程后,一分钟内该进程自动拉起。原理:evmd进程crash将被ohasd进程检测到,evmd、orarootagent和crsd进程将会被重启
ohasd ocssd ocrsd evmd
cluster VIP DG ASM DB
9 模拟ASM进程crash
通过kill ASM进程实现
[root@rac2 ~]# ps -ef|grep pmon
grid 3193 1 0 20:38 ? 00:00:00 asm_pmon_+ASM2
oracle 9247 1 0 20:40 ? 00:00:00 ora_pmon_orcl2
root 11476 2610 0 20:41 pts/0 00:00:00 grep --color=auto pmon
[root@rac2 ~]# kill -9 3193
测试结果
[grid@rac2 ~]$ crsctl status res -t
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4000: Command Status failed, or completed with errors. ----一直这样
可以通过
[root@rac2 ~]# ps -ef|grep cssd
root 2777 1 0 20:37 ? 00:00:01 /u01/app/19.0.0/grid/bin/cssdmonitor
root 2812 1 0 20:37 ? 00:00:01 /u01/app/19.0.0/grid/bin/cssdagent
grid 2830 1 1 20:37 ? 00:00:07 /u01/app/19.0.0/grid/bin/ocssd.bin
root 12486 2610 0 20:49 pts/0 00:00:00 grep --color=auto cssd
[root@rac2 ~]# kill -9 2830
[root@rac2 ~]# 机器重启
更多推荐
RAC 故障模拟
发布评论