集群高可用的切换失败分析

集群高可用方案是指主备机模式,利用双机软件在主机发生故障时自动启动备机,让备机接管生产。应用的数据都需要放在外置存储上。


主备机自动切换不成功有很多原因。在生产系统中,有过如下问题导致切换失败:主备机应用用户密码不一致、SNA配置不一致、PV不一致等。下面有个实际案例:


双击环境:HP Superdome和hp RP8420中有个分区互备。操作系统版本: HP-UX v11i1 DB2为8.2版本。


A上的业务切换到B,发现只启动了5个MQ的进程,其他的MQ和DB2的进程无法启动。停止B上的业务,A的业务可以正常启动。


原因分析:
MQ是32位的应用
DB2实例要使用32位的共享内存


对于32位的应用,能够访问的内存大小是4G,分成四段:
Q1:1GB,用于进程的文本段
Q2:1GB,用于进程的数据段
Q3:1GB,用于共享内存和内存的map机共享lib库
Q4:1GB,其中0.25G系统使用,另外的0.75用于共享内存和内存的map机共享lib库
也就是说,能给32位应用使用的共享内存的大小最大是1.75G,这是32位应用的一个限制。


A机正常运行时的32位的共享内存Q3段使用了380M,剩余了一块比较大且连续的435M;Q4段剩余:676M,几乎没有使用。


B机上的32位的共享内存Q3段使用了517MB,剩余2块连续的一块144M,另外一块108M; Q4段几乎全部用光,其中一段517M是被db2sysc进程占用,只剩余多段几兆或者十几兆的空间。


在将A业务切换到B后,32位的共享内存几乎耗尽,此时仅启动了5个MQ的进程。


建议如下:


1.将MQ和DB2升级到64位,需要重新编译应用。
2. 将B业务切换到其他分区,保证A业务可以正常切换。

你可能感兴趣的:(高可用,集群,切换失败分析)