湘龙工作室提供长沙做网站,长沙建站,长沙网站开发,软件制作,网站优化,域名注册,网络空间
长沙做网站

达梦与HA工作与测试方案

发布时间:2013/01/24 来源:长沙做网站

达梦与HA工作与测试方案
长沙做网站根据4月8号针对数据库与HA配合机制专题讨论结果,达梦公司与凝思公司人员对要改进的内容进行分析,并于4月13号在华中电网现场同华中电网工作人员就HA现有的的工作机制进行了深入的讨论。综合二次讨论的结果,确定了优化和改进的内容与目标。在HA常用操作处理上达成了共识,在此基础上形成了相应的测试方案。

优化内容与目标
达梦数据库
    根据讨论结果,达梦将会在以下三个方面开展工作,具体的内容如下。
问题及处理方案
1.    达梦数据库正常停止优化
达梦数据库正常停止优化,为操作系统提供一个合理的停止超时时间。使用tpcc标准测试模拟现场数据库正常操作压力,使用程序进行大表更新模拟现场数据采集压力,优化达梦服务进程及相关配置,保障达梦能在70秒内完成停止。同时考虑到数据库的停止时间可能会存在差异,在达梦的停止脚本中添加超时强杀处理机制,保障达梦能在70秒内完成停止。
2.    达梦数据库启动优化
达梦启动分为二个层面,从HA层面,达梦完成启动,目前达梦能在5至10秒内完成,即在5至10秒后,使用命令:service dmserverd status查看数据库是运行状态,已达到HA的要求,但此时,从数据库角度,达梦正在加载相关组件,不能对外提供数据库服务。此次优化的重点是在数据库层面的启动时间。使用tpcc标准测试模拟现场数据库正常操作压力,使用程序进行大表更新模拟现场数据采集压力,优化达梦服务进程及相关配置,使数据库能平均在2分钟内完成启动。
3.    提供外部程序,检测数据库状态
提供外部程序,检测数据库状态,解决达梦进程在,但不对外提供服务的问题。
凝思HA
针对现有HA存在的5个问题和解决方案如下,湘龙工作室目前已按照解决方案进行了优化和修改

问题(一)

描述
在一定的情况下,HA会启动切换备机的策略。HA首先会将管理的资源在主机按照逆序停止,在停止过程中,有可能会出现HA在规定的超时时间内无法正常停止某个资源(比如:dmserverd进程),HA怎么办?现在HA是将停止整套动作中止,然后再重新检查资源的状态,可是检查资源状态的时候,刚才被中断操作的资源对象是处umanaged状态,HA现在对于这样状态的资源没解决办法。

解决方案
配合达梦的超时强杀进程新特性,这样上述该问题在99.999%的情况下得到解决。如果达梦的超时强杀,还是不能解决该问题,那么就会启动重启处理。为什么直接重启,因为卸载文件系统和释放虚拟IP地址存在一定的数据丢失风险,因为dmserverd进程是异常停止的,存在数据处理的风险,所以才用重启处理。

问题(二)

描述
目前,HA不支持关键信息提示功能,比如:HA发生切换、HA出现无法处理的故障的情况。

解决方案
创建一个守护进程,监视HA日志文件,通过分析HA日志,输出告警信息。再调用四川电网的短信平台的接口,实现以短信的方式输出告警信息。

问题(三)

描述
    当前由于HA管理资源的启动、停止时间设置不合理,导致一些不合理的处理。

解决方案
配合达梦厂商测试,根据达梦实际的测试结果,修改相应的时间。

问题(四)

描述
在现实过程中,可能会出现心跳线断开的情况,在心跳线断开的情况下,目前HA会让备机也启动资源,但是主机的资源还在正常提供服务,那么会出现冲突。

解决方案
做心跳线冗余,采用双心跳线。如果在双心跳线,仍然无法满足需求,我们可以将接入外网的网线也添加到心跳线,这样就有四个心跳线。还可以添加一个串口线,作为心跳线来做冗余。
还可以通过ping网口,来检测心跳线是否正常来解决。但是这种方式,并没有真正完全HA的“裂脑”问题。主要还是建议通过心跳线冗余来解决。

HA常用操作处理方案
做网站用什么软件?可以用达梦数据库。在这部分内容,重点讲解关于达梦服务异常相关的处理方案。

主机达梦服务进程在,但不提供服务处理流程
    如果出现达梦服务进程在,但对外不提供服务。通过达梦提供的检查达梦服务是否正常运行,强杀达梦服务,造成HA能够处理的关键进程宕机的情况,转由HA进行后续处理。

主机达梦服务进程不在处理流程

本机达梦服务进程不在包括本机正常停止和意外宕机,首先HA会优化在本机将达梦服务启动,如果失败才会启动切机流程,HA处理流程如下:

HA切机流程

下图是主机和备机HA正常运行时,执行service heartbeat stop的流程,此次HA重点改进了对于超时失败的处理机制。为了保障现场数据的安全性,在卸载相关资源超时后,会重启本机操作系统,由备机安全的接管理系统,对外提供服务。

测试方案

以下测试,均在现场环境数据库压力下进行,数据库压力包括:使用现场应用程序访问数据库正常操作压力,使用程序进行大表更新模拟现场数据采集压力。

此次测试,除对HA常规功能测试外,重点测试以下内容:

1、  关系数据库正常停止时间耗时。

2、  关系数据库正常停止后启动时间耗时。

3、  HA切机时间耗时。

4、  HA切机异常处理机制,保障切机顺利完成。

 

测试环境:

Devel1: 16CPU16G内存;

Hist216CPU16G内存;

数据库参数配置:BUFFER=150000CHKPNT_INTERVAL= 60(检查点时间间隔1分钟)CHKPNT_FLUSH = 20(刷盘比例20%

 

关系库测试

1 测试关系库实例进程停止时间

测试用例名称

测试关系库实例进程停止时间

用例编号

DB1

编制人

陈鹏

编制时间

2011-4-11

审核人

 

审核时间

 

测试目的:

 

验证关系库实例能否在70秒内停止,一共测试10次,10次都能正常停止

 

测试步骤:

 

  1. 执行关系库停库命令,记录终端返回命令执行成功时间;

此用例执行10次。

 

预期结果:

10次都能在70秒内停止,终端返回停止成功,10次都能正常停止

 

测试结果:

 

用例间的依赖关系:

备注:

相关程序:

测试结论:

      成功:[填写测试结论]

                                               失败:[填写Bug号]                                                        

         

 

2测试关系库实例进程正常停止后的启动时间

测试用例名称

测试关系库实例进程正常停止后的启动时间

用例编号

DB2

编制人

陈鹏

编制时间

2011-4-11

审核人

 

审核时间

 

测试目的:

 

验证关系库服务正常停止后,HA能否在10秒内拉起dmserverd,完成操作系统级启动。同时记录关系库服务加载完组件,对外提供服务时间间隔,计算平均时间。此用例执行10

 

测试步骤:

 

1、正常停止关系库服务后,观察dm日志,记录从停止成功到启动的时间是否在10秒内,即HA能否在10秒内拉起dmserverd

2、记录关系库服务加载完组件时间,通过查看关系库相关日志内容,显示关系库启动完毕,库组件加载完成,计算平均时间。(观察dm_XX.log

此用例执行10次。

 

预期结果:

 

1步:10次都能在10秒返回结果。

2步:平均时间在1分钟内

 

测试结果:

 

用例间的依赖关系:    

备注:

相关程序:

测试结论:

      成功:[填写测试结论]

                                               失败:[填写Bug号]                                                        

         

 

3 测试关系库实例进程异常停止后的启动时间

测试用例名称

关系库实例进程异常停止后的启动时间

用例编号

DB3

编制人

陈鹏

编制时间

2011-4-11

审核人

 

审核时间

 

测试目的:

 

验证关系库服务异常停止后,执行启动关系库命令后都能在10秒内返回值。完成操作系统级启动。

 

测试步骤:

 

1、  异常停止关系库服务后,执行启动关系库命令后,10秒内能返回结果给终端。执行kill -9 pid;date命令,记录从打印的date时间到dm日志中输出DM Database Server startup...的时间,两者时间差即为从强杀dmserver到启动的时间。

 

此用例执行10次。

 

预期结果:

 

第一步:10次都能在10秒返回结果。

 

测试结果:

 

用例间的依赖关系:

备注:

相关程序:

测试结论:

      成功:[填写测试结论]

                                               失败:[填写Bug号]                                                        

         

 

HA测试

测试前提:

  1. 在主机和从机上,安装麒麟或凝思操作系统;
  2. 在主机和从机上,安装双机热备HA软件;
  3. 在主机和从机上,设置双机热备软件相关的配置文件;

 

1 测试HA正常的工作状态

测试用例名称

测试HA正常的工作状态

用例编号

DB-HA1

编制人

陈鹏

编制时间

2011-4-11

审核人

 

审核时间

 

测试目的:

 

验证配置完双机系统的HA服务后,HA是否在主机上开启相关资源。

测试步骤:

  1. 在两台机器上都开启HA服务(先开启主机,后开启备份机)
  2. 查看主机上相关资源是否已开启:

#ifconfig#查看虚拟IP是否已配置(通常配置为bond0:0)

#df -h  #查看存储是否已挂载

#查看关系库相关服务是否已开启

 

预期结果:

  1步:主备机开启HA服务均成功;

2步:

虚拟IP已在主机上配置成功;

  存储已挂载;

关系库服务已在主机上运行。

 

测试结果:

 

用例间的依赖关系:

备注:

相关程序:

测试结论:

      成功:[填写测试结论]

                                               失败:[填写Bug号]                                                        

         

 

2测试设备宕机时的资源管理

测试用例名称

测试设备宕机时的资源管理

用例编号

DB-HA2

编制人

陈鹏

编制时间

2011-4-11

审核人

 

审核时间

 

测试目的:

 

当主机宕机时(意外断电,关闭HA服务等),备份机是否自动开启所有资源

测试步骤:

 

1.       关闭主机上的HA服务

2.       过一段时间后,在备机上查看资源是否开启:

 #ifconfig   #查看虚拟IP是否已漂移到备机

#df -h  #查看存储是否已挂载

#查看关系库服务是否已开启

 

预期结果:

 

2步:

虚拟IP已在备机上显示;

  存储已在备机上挂载;

关系库服务已在备机上运行。

 

测试结果(需记录详细操作步骤和每步耗时):

 

用例间的依赖关系:     依赖于DB-HA1

备注:

相关程序:

测试结论:

      成功:[填写测试结论]

                                               失败:[填写Bug号]                                                        

         

 

3测试本机的资源管理

测试用例名称

测试本机的资源管理

用例编号

DB-HA3

编制人

陈鹏

编制时间

2011-4-11

审核人

 

审核时间

 

测试目的:

 

HA管理的资源(如虚拟IP、文件系统、系统服务)不工作时,在本机自动恢复资源的操作

测试步骤:

 

1.    停止主机上的关系库服务

2.    过一段时间后(可在图形管理工具中配置),观察主机上的关系库服务是否自动重启。

 

 

预期结果:

 

2步:

主机上的关系库服务自动重启。

 

测试结果(需记录详细操作步骤和每步耗时):

 

用例间的依赖关系:     依赖于DB-HA1

备注:

相关程序:

测试结论:

      成功:[填写测试结论]

                                               失败:[填写Bug号]                                                        

         

 

4 测试集群中的资源管理

测试用例名称

测试集群中的资源管理

用例编号

DB-HA4

编制人

陈鹏

编制时间

2011-4-11-

审核人

 

审核时间

 

测试目的:

 

当集群中的工作结点在本机恢复资源失败时,将所有资源自动转移至备份机上

测试步骤:

 

1.       强杀主机达梦服务,并同时执行步骤2

2.       当主机上的关系库服务正常运行时,利用chmod命令去掉关系库服务进程的可执行属性(模拟关系库无法重新启动)

输入chmod -x dmserverd

或直接重命名dmserverdkill -9 pid;mv /etc/…

 

预期结果:

 

2步:

如果HA工作正常,过一段时间后,将会看到在主机上释放了所有资源,并在备份机上开启了所有资源。

 

测试结果(需记录详细操作步骤和每步耗时):

 

用例间的依赖关系:     依赖于DB-HA1

备注:

相关程序:

测试结论:

      成功:[填写测试结论]

                                               失败:[填写Bug号]                                                        

         

 

5 正常停止时HA重启关系库服务用时

测试用例名称

正常停止时HA重启关系库服务用时

用例编号

DB-HA5

编制人

陈鹏

编制时间

2011-4-11

审核人

 

审核时间

 

测试目的:

 

应用正常访问数据库状态下,当HA在主备上搭建成功并正常运行时,正常停止主机的关系库服务,测试从停止关系库服务开始到HA重启关系库服务成功的总时间。

测试步骤:

 

1.       在主机运行应用程序访问数据库对系统加压;

2.       停止主机的关系库服务

3.       过一段时间,观察关系库服务是否被HA重新启动;

4.       观察关系库日志中记录的停止时和重启成功的时间,计算从停止关系库服务开始到HA重启关系库服务成功的总时间。

 

预期结果:

 

2步:主机上关系库服务成功停止;

  3步:关系库服务被HA重启。

 

测试结果(需记录详细操作步骤和每步耗时):

 

用例间的依赖关系:     依赖于DB-HA1

备注:正常停止关系库服务用时:

启动关系库服务用时:

相关程序:

测试结论:

      成功:[填写测试结论]

                                               失败:[填写Bug号]                                                        

         

 

6 异常停止时HA重启关系库服务用时

测试用例名称

异常停止时HA重启关系库服务用时

用例编号

DB-HA6

编制人

陈鹏

编制时间

2011-4-11

审核人

 

审核时间

 

测试目的:

 

外部应用访问下,当HA在主备上搭建成功并正常运行时,直接kill主机的关系库服务进程,测试从直接kill关系库服务开始到HA重启关系库服务成功的总时间。

测试步骤:

 

1.       在主机运行应用程序访问数据库对系统加压;

2.       直接kill主机的关系库服务

3.       过一段时间,观察关系库服务是否被HA重新启动;

4.       观察关系库日志中记录的停止时和重启成功的时间,计算从直接kill关系库服务开始到HA重启关系库服务成功的总时间。

 

预期结果:

 

2步:直接kill主机上关系库服务成功;

3步:关系库服务被HA重启

 

测试结果(需记录详细操作步骤和每步耗时):

 

用例间的依赖关系:     依赖于DB-HA1

备注: 直接kill关系库服务后,HA重新启动关系库服务用时:

相关程序:

测试结论:

      成功:[填写测试结论]

                                               失败:[填写Bug号]                                                         

         

 

7 手动切换HA用时

测试用例名称

手动切换HA用时

用例编号

DB-HA7

编制人

陈鹏

编制时间

2011-4-11

审核人

 

审核时间

 

测试目的:

 

外部应用访问下,当HA在主备上搭建成功并正常运行时,手动切换HA使资源从主机转到备机上,测试切换完成所需时间

测试步骤:

 

1.         在主机运行应用程序访问数据库对系统加压;

2.         手动切换HA服务,停止主机上的HA

3.         记录停止HA服务时的时间点T1

4.         观察备机上资源启动情况,备机上资源都启动后,记录时间点T2

5.         计算从手动切换HA服务开始到备机成功启动资源的总共时间T2-T1

 

预期结果:

 

2步:HA服务成功停止;

4步:备机上资源成功启动。

 

测试结果(需记录详细操作步骤和每步耗时):

 

用例间的依赖关系:     依赖于DB-HA1

备注:

相关程序:

测试结论:

      成功:[填写测试结论]

                                               失败:[填写Bug号]    

         

 

8 HA切机异常处理测试

测试用例名称

HA切机异常处理测试

用例编号

DB-HA8

编制人

陈鹏

编制时间

2011-4-11

审核人

 

审核时间

 

测试目的:

 

外部应用访问下,当HA在主备上搭建成功并正常运行时,手动切换HA使资源从主机转到备机上,在过程中制造故障,使HA无法卸载磁盘,HA不会因此停止切机操作。正常完成切机。

测试步骤:

 

1.         在主机运行应用程序访问数据库对系统加压;

2.         使用程序登陆致磁盘上,进行简单读写操作。

3.         手动切换HA服务,停止主机上的HA

4.         主机无法卸载磁盘,HA会有后续操作,保障切机完成,如通过发出重启本机操作系统命令等手段强制卸载。

5.         观察备机上资源启动情况,资源都在备机启动。

 

预期结果:

 

4步:主机后续操作保证资源卸载完成。

5步:备机上资源成功启动。

 

测试结果(需记录详细操作步骤和每步耗时):

 

用例间的依赖关系:     依赖于DB-HA1

备注:

相关程序:

测试结论:

      成功:[填写测试结论]

                                               失败:[填写Bug号]    

         

 

9 拔备机网线处理测试

测试用例名称

拔备机网线处理测试

用例编号

DB-HA9

编制人

陈鹏

编制时间

2011-5-11

审核人

 

审核时间

 

测试目的:

 

HA在主备上搭建成功并正常运行时,拔掉备机上的网线(不拔心跳线),预期不影响主机上的资源运行。

测试步骤:

 

1.  HA在主备上搭建成功并正常运行时,拔掉备机上的网线;

2.  观察主机上资源(虚拟IP,磁盘,数据库服务)情况。

 

预期结果:

 

2步:资源(虚拟IP,磁盘,数据库服务)仍然在主机上,拔备机网线不影响主机运行。

 

测试结果:

   

用例间的依赖关系:     依赖于DB-HA1

备注:

相关程序:

测试结论:

      成功:[填写测试结论]

                                               失败:[填写Bug号]    

         

 

10 拔主机网线处理测试

测试用例名称

拔主机网线处理测试

用例编号

DB-HA10

编制人

陈鹏

编制时间

2011-5-11

审核人

 

审核时间

 

测试目的:

 

HA在主备上搭建成功并正常运行时,拔掉主机上的网线(不拔心跳线),预期资源切换到备机上。

测试步骤:

 

1、当HA在主备上搭建成功并正常运行时,拔掉主机上的网线;

2、观察备机上资源(虚拟IP,磁盘,数据库服务)情况。

 

预期结果:

 

2步:资源(虚拟IP,磁盘,数据库服务)从主机切换到了备机上。

 

测试结果:

   

用例间的依赖关系:     依赖于DB-HA1

备注:

相关程序:

测试结论:

      成功:[填写测试结论]

                                               失败:[填写Bug号]    



达梦与HA工作与测试方案资料下载地址:
http://www.csjwang.com/BreviaryImg/达梦与HA工作方案及测试.docx
长沙做网站的工作室湘龙工作室原创,转载请以链接形式注明出处,谢谢。
本文地址:http://www.csjwang.com/xiazai/damengyuHA-143/

做网站版权所有 2009-2015 湘ICP备11020044号   sitemap
地址:长沙市天心区五一西路189号锦绣中环29楼(已搬至岳麓区金星北路89号)   邮编:410001
电话:0731-82067301   QQ:2668200050   Email:longyun1077@163.com
湘龙工作室为您提供:长沙做网站,长沙建站,长沙网站开发,软件制作,网站优化,域名注册,网络空间服务
Copyright 2002-2010 长沙做网站www.csjwang.com. 版权所有
长沙做网站多少钱   长沙做网站公司   长沙做网站价格   长沙做网站的 培训班管理软件
分享到: