当前位置: 首页 > 科技观察

详细讲解OracleRAC的“HA”和“LB”以及如何使用脚本测试负载均衡

时间:2023-03-18 21:04:02 科技观察

Overviewaverageload。一、相关概念HA:HighAvailability高可用性LB:Loadbalance负载均衡,将负载均衡的分配给集群中的各个节点,从而提供整体的吞吐量。可用性是指系统可用的时间比率。通常,“平均故障间隔时间(MTTF)”和“平均修复时间(MTTR)”被用作可用的评估指标。公式:可用性=MTTF/(MTTF+MTTR)如果一台服务器连续运行6个月,出现故障,需要20分钟修复,则可用性为:6个月/(6个月+20分钟)*100=99.92%2、Rac(Realapplicationcluster)2.1、Failover(故障转移)Rac的高可用技术基础是Failover,也就是说集群中任何一个节点发生故障都不会影响用户的使用,并且可以最大程度解决单节点问题。一旦发生故障,连接到故障节点的用户会自动转移到健康节点,用户不会感知到这种故障转移。2.2、SCAN(singleclientaccessname)SCAN-VIP是oracle11gR2引入的一个很重要的特性,通过它可以实现对数据库实例的负载均衡连接,scan提供统一的名字来访问集群,不需要像10g一样,在每个访问数据库的客户端上配置多个VIP地址,实现负载均衡。在增加和删除节点的情况下,不需要对客户端进行任何配置更改,即可实现所有节点的负载均衡。PS:SCAN只能实现负载均衡,自动故障转移,需要service服务。3、监控和TAF3.1、监控本地监控:公网IP和VIPSCAN监控:SCANVIP3.2、TAF(TransparentApplicationFaiover)透明应用故障转移大多数应用系统(如Tomcat)在启动时都会建立与数据库的持久连接,在应用程序调优生命周期中重用这些链接。未提交的事务被回滚。建立链接并运行应用系统后,如果某个实例出现故障,则该实例链接的用户会自动迁移到其他健康的实例上。JDBC不支持TAF。分为:client-sideTAF(10g多用)server-sidTAF(11g常用)4.在server端测试TAF使用TAF服务名/scan_ip连接,查看当前连接的是哪个实例(例如:rtbrac1)queryselectinstance_namefromv$instance直接shutdown-hnowrtbrac1不需要在服务器的sqlplus端执行exit,再次执行selectinstance_namefromv$instance。如果稍后返回,则表示可以自动切换故障转移。检查当前scanip在哪个节点上(应该漂移到健康节点)5.脚本测试TAF服务器的负载均衡1.shell执行脚本(taf_load.sh)#!/bin/shcount=0while[$count-lt$1]docount=`expr$count+1`sqlplus-sglogowner/Q5$gEGy4@172.16.10.30:1521/otmdb@/home/oracle/scripts/test.sqldone2。SQL执行脚本(test.sql)colinstance_nameformata20selectinstance_namefromv$instance/exit;3.执行taf_load.sh(./taf_load.sh1000>>taf_load.log)查看日志比较两者的连接负载[oracle@RFDB1scripts]$./taf_load.sh1000>>taf_load.log[oracle@RFDB1scripts]$cattaf_load。日志|grep"RFDB1"|wc-l634[oracle@RFDB1scripts]$cattaf_load.log|grep"RFDB2"|wc-l366