基于iSCSI的SQL Server 2012群集测试(四)--模拟群集故障转移

6、模拟群集故障转移

6.1 模拟手动故障转移(1+1)

模拟手动故障转移的目的有以下几点:

  • 测试群集是否能正常故障转移

  • 测试修改端口是否能同步到备节点

  • 测试禁用full-text和Browser服务对故障转移是否有影响

  • 测试禁用管道协议对故障转移是否有影响

以上问题在“基于iSCSI的SQL Server 2012群集测试(二)--SQL群集安装后初始化配置测试”已经有说明,以下是在设置完成后故障转移的整个过程。正常完成。

活动节点的服务情况

clip_image002

非活动节点的服务情况

clip_image004

手动故障转移各个状态过程

clip_image006

clip_image008

clip_image010

clip_image012

clip_image014

clip_image016

clip_image018

clip_image020

6.2 模拟SQL Server意外停止的情况下故障转移(1+1)

如果在SQL Server服务管理器停止SQL Server服务,并不会发生故障转移,认为正常脱机;

而且我们并不建议从管理器中停止服务,最好方式在故障转移群集管理器中,使资源脱机。

clip_image022

clip_image024

因此可以通过kill服务所在进程,使得SQL Server意外停止;通过测试发现,意外停止SQL Server服务,第一次会导致在本节点自动重启,第二次群集故障转移,第三次就保持失败状态,不再转移;

clip_image026

查看后发现服务属性指定在六个小时内最大故障数为1,也就是说六个小时内如果多次故障,将会保持失败状态,服务将不可用;

建议改成:微软建议的最大故障数是节点数减一,我建议将值改成3和一个小时的故障;也就是如果一个小时内发生3个故障,将人工处理。

clip_image028clip_image030

6.3 模拟活动节点服务器意外断电时故障转移

虚拟服务器要模拟断电比较难,无法通过拔电源断电。为了更逼真的模拟是服务器意外断电,此处使用shutdown命令来让服务器立即强制重启,来观察SQL Server群集故障转移情况。

在节点vms001执行命令:shutdown -r –f –t 0,来让节点服务器vms001强制重新启动,延迟0秒。由于服务器vms001是立即重启。在几秒后转移到另外一个节点。

clip_image032

6.4 模拟SQL Server突然断网故障转移

目前公司有四个网络

外网:非用于群集

存储:非用于群集,专用于存储通信

内网:用于公共网络

心跳:用于心跳网络

  • 在活动节点禁用心跳网络后,并未发生转移;因此在禁用心跳网络之后,会在公共网络进行群集通信;可实现自动故障转移。

  • 在活动节点禁用公共网络后,由于域网络不可用,将导致整个服务不可用

clip_image034

6.5 模拟群集账户锁定下故障转移

账户锁定的情况下,运行正常,但一旦发生故障转移,将无法重启服务。

模拟故障转移结论

  • 故障转移过程,会将修改的监听端口号同步到备节点,前提在Browser服务开启的情况下,若Browser服务未开启,将导致资源失败。

  • Browser服务和full-text服务可以禁用后,对故障转移没有影响,但是在错误日志中会记录未能启用这两个服务。

  • 在意外停止下,会发生自动故障转移,具体要根据故障转移服务的基本设置

  • 在断电的情况下,会实现快速故障转移。

  • 心跳网络的失败,不会影响故障转移和正常的业务。

posted @ 2014-03-25 17:16  阿传说  阅读(941)  评论(8编辑  收藏  举报