在db2 purescale 环境中,模拟 主CF 故障,备CF接管失败?

在4台物理机上搭建db2 purescale 测试环境系统环境: 物理主机资源:CPU:16C MEM:32G操作系统版本:suse 11 sp4数据库版本:v10.5fp10_linuxx64_universal_fixpack架构图:owzkoki6z2hwdg7qbx64q9y79q1umbh5ra179jax2i9srfd3zp0t4f测试前状态db2inst1@db2sr01:~> db2instance -...显示全部

在4台物理机上搭建db2 purescale 测试环境
系统环境:
物理主机资源:CPU:16C MEM:32G
操作系统版本:suse 11 sp4
数据库版本:v10.5fp10_linuxx64_universal_fixpack

架构图:
owzkoki6z2

owzkoki6z2

hwdg7qbx64q
hwdg7qbx64q

9y79q1umbh5
9y79q1umbh5

ra179jax2i9
ra179jax2i9

srfd3zp0t4f
srfd3zp0t4f

测试前状态

db2inst1@db2sr01:~> db2instance -list
ID TYPE STATE HOME_HOST CURRENT_HOST ALERT PARTITION_NUMBER LOGICAL_PORT NETNAME


0 MEMBER STARTED db2sr02 db2sr02 NO 0 0 db2sr02
1 MEMBER STARTED db2sr04 db2sr04 NO 0 0 db2sr04
128 CF PRIMARY db2sr01 db2sr01 NO - 0 db2sr01
129 CF PEER db2sr03 db2sr03 NO - 0 db2sr03

HOSTNAME STATE INSTANCE_STOPPED ALERT


db2sr03 ACTIVE NO NO
db2sr01 ACTIVE NO NO
db2sr04 ACTIVE NO NO
db2sr02 ACTIVE NO NO

手工执行 db2stop CF 128 #### db2sr03能正常接管CF,MEM1,MEM2能正常读写数据库

db2inst1@db2sr02:~> db2instance -list
ID TYPE STATE HOME_HOST CURRENT_HOST ALERT PARTITION_NUMBER LOGICAL_PORT NETNAME


0 MEMBER STARTED db2sr02 db2sr02 NO 0 0 db2sr02
1 MEMBER STARTED db2sr04 db2sr04 NO 0 0 db2sr04
128 CF PEER db2sr01 db2sr01 NO - 0 db2sr01
129 CF PRIMARY db2sr03 db2sr03 NO - 0 db2sr03

HOSTNAME STATE INSTANCE_STOPPED ALERT


db2sr03 ACTIVE NO NO
db2sr01 ACTIVE NO NO
db2sr04 ACTIVE NO NO
db2sr02 ACTIVE NO NO
db2inst1@db2sr02:~>

测试db2sr01宕机

db2inst1@db2sr01:~> db2instance -list
ID TYPE STATE HOME_HOST CURRENT_HOST ALERT PARTITION_NUMBER LOGICAL_PORT NETNAME


0 MEMBER STARTED db2sr02 db2sr02 NO 0 0 db2sr02
1 MEMBER STARTED db2sr04 db2sr04 NO 0 0 db2sr04
128 CF PRIMARY db2sr01 db2sr01 NO - 0 db2sr01
129 CF PEER db2sr03 db2sr03 NO - 0 db2sr03

HOSTNAME STATE INSTANCE_STOPPED ALERT


db2sr03 ACTIVE NO NO
db2sr01 ACTIVE NO NO
db2sr04 ACTIVE NO NO
db2sr02 ACTIVE NO NO
db2inst1@db2sr01:~>

拔掉 db2sr01电源后,状态如下,MEM1,MEM2无法读写数据库,db2sr03无法接管CF

db2inst1@db2sr03:~> db2instance -list
ID TYPE STATE HOME_HOST CURRENT_HOST ALERT PARTITION_NUMBER LOGICAL_PORT NETNAME


0 MEMBER STARTED db2sr02 db2sr02 NO 0 0 db2sr02
1 MEMBER STARTED db2sr04 db2sr04 NO 0 0 db2sr04
128 CF ERROR db2sr01 db2sr01 YES - 0 db2sr01
129 CF PEER db2sr03 db2sr03 NO - 0 db2sr03

HOSTNAME STATE INSTANCE_STOPPED ALERT


db2sr03 ACTIVE NO NO
db2sr02 ACTIVE NO NO
db2sr04 ACTIVE NO NO
db2sr01 INACTIVE NO YES
There is currently an alert for a member, CF, or host in the data-sharing instance. For more information on the alert, its impact, and how to clear it, run the following command: 'db2cluster -cm -list -alert'.
db2inst1@db2sr03:~>

在未开启db2sr01系统,CF状态一直保持ERROR状态,数据库不可用,对db2sr01进行加电后正常进入系统后,状态如下:

db2inst1@db2sr02:~> db2instance -list
ID TYPE STATE HOME_HOST CURRENT_HOST ALERT PARTITION_NUMBER LOGICAL_PORT NETNAME


0 MEMBER STARTED db2sr02 db2sr02 NO 0 0 db2sr02
1 MEMBER STARTED db2sr04 db2sr04 NO 0 0 db2sr04
128 CF PEER db2sr01 db2sr01 NO - 0 db2sr01
129 CF PRIMARY db2sr03 db2sr03 NO - 0 db2sr03

HOSTNAME STATE INSTANCE_STOPPED ALERT


db2sr03 ACTIVE NO NO
db2sr01 ACTIVE NO NO
db2sr04 ACTIVE NO NO
db2sr02 ACTIVE NO NO

只要4台主机的中的某一台重启,共享的GPFS文件系统都会卡大约10s以上。

日志如下:
l4u0v1qpfdc

l4u0v1qpfdc

kjj6d5g7f4a
kjj6d5g7f4a

自己猜测的原因:

1、会不会是GPFS文件系统引起,切换不成功。

后端的iscsi存储也是通过x86服务器搭建的,通过本地磁盘划分分区,映射给4台数据库服务器,本地磁盘不支持SCSI-3协议,导致GPFS文件系统出现故障时,不能快速切换。

/usr/lpp/mmfs/bin/mmchconfig usePersistentReserve=yes (修改参数,报错磁盘不支持)
aj345qp8wks

aj345qp8wks

有什么办法能解决?需要修改参数?恳请大家帮忙分析一下原因。
收起
参与13

查看其它 1 个回答anikikong的回答

anikikonganikikong课题专家组数据库运维工程师中国民生银行

不支持pr属性需要hang一会是正常的。cf不接管这个不正常,需要看日志分析,包括tsa和gpfs日志

银行 · 2019-01-03
浏览3529
xukaishi 邀答

回答者

anikikong
数据库运维工程师中国民生银行
擅长领域: 数据库灾备双活

anikikong 最近回答过的问题

回答状态

  • 发布时间:2019-01-03
  • 关注会员:3 人
  • 回答浏览:3529
  • X社区推广