K/3 标准部署方案
定义:用两台(或多台)服务器+磁盘阵列柜,构成数据库故障转移群集,适合要保证业务不间断的客户。 故障转移群集(Failover Cluster),又可称为高可用群集(High Availability Cluster),俗称双机热备,主要功
能是保证服务不中断,当提供服务的主机宕机或因其他原因不能联系时,备份机会及时在线接替服务。替换
过程依照实现技术和设备的不同,持续几秒到几十秒不等,通常客户端不会察觉到服务中断。 21
SQL Server 2000/2005/2008 数据库引擎,都有故障转移群集功能,金蝶 K/3 都能很好的支持
要实现 SQL Server 数据库故障转移群集,有几个必要条件:
-
要有共享存储设备,通常是磁盘阵列柜,直连或通过 FC SAN、iSCSI 与节点服务器连接;
-
所有节点服务器的硬件配置最好相同或相近,如果做不到,至少物理内存容量要一样;
-
节点服务器的操作系统必须是 Windows Server 企业版或数据中心,标准版没有群集功能;
-
SQL Server 2005/2008可以用标准版或企业版搭建群集,标准版只支持双机群集,企业版可支持 多机群集;SQLServer 2000 群集则必须用企业版搭建,SQLServer 2000 标准版没有群集功能;
-
必须有活动目录/域支持,工作组环境无法实现群集;但基于性能和高可用性考虑,域控制器不 推荐作为 SQL Server 集群节点(SQL Server 2005/2008 已禁止域控作为群集节点,SQL Server 2000 可以将域控作为群集节点但强烈不推荐)。
此外还必须明确:
-
SQL Server 群集不能实现负载均衡、不提高数据库性能,只起到故障转移,也即双机(多机)热备作用,到 2008 为止各版 SQL Server 群集都只有故障转移功能;
-
SQL Server 群集不能提高数据安全性,群集的数据实际只有一份(在阵列柜上),虽然磁盘阵列的 理论可靠性比一般内部磁盘高,但不是绝对的,提高数据安全性必须通过定时备份、远程数据同 步等手段解决;
-
一些第三方群集软件可以不通过 Windows 群集功能(MSCS)实现 SQL Server 群集,K/3跟这些软 件通常是兼容的,但没有广泛测试过,所以不能完全保证。
SQL Server群集下列几种不同部署模式,K/3 都能很好支持,可根据客户需要进行选择:
第一种:Active-Passive 群集
最常用的 SQLServer 群集部署模式,称之为 Active-Passive (主动-被动)模式,群集平时只有主节点 工作,备份节点处于闲置状态,只在主节点故障时被自动激活以接替服务。
Active-Passive 模式的优点:部署简单,不容易出问题,所以应用比较广泛。
Active-Passive 模式的缺点:服务器资源利用率较低,平时备份机完全不工作,即至少 50%的服务器资 源闲置。
第二种:Active-Active 群集
故障转移群集的另一种部署模式 Active-Active (主动-主动),即两个群集节点各运行一个SQL Server 实例,互为备份,任一节点故障时两个实例会同时在剩下的另一节点上运行。
Active-Active 群集的优点:平时两台服务器都工作,没有闲置节点,服务器资源利用率高。
Active-Active 群集的缺点:故障转移时两个实例挤在一个节点运行,激增的工作负载可能造成剩下那 个节点也崩溃;而且切换后还需要协调两个实例争抢的服务器内存,所以对数据库管理员的技能要求较高。
第三种: N+1 群集
如果群集需要运行多个数据库实例,从提高资源利用率、方便管理角度来说,较好的部署模式是采用 N+1 群集,它实际是 Active-Passive 部署模式的扩展,能够在一定程度上克服 Active-Passive 群集资源利用率低的缺点,也不像 Active-Active 群集那样难于管理。
N+1 群集就是“N 个数据库实例,运行在N+1 个群集节点上”,多出的一个节点作为群集上所有实例共 同的备用节点。举例说要运作 A、B 两个数据库实例,那么群集需要(2+1),也即 3 个服务器节点,其中两个 节点分别运行 A、B 实例,剩下一个节点作为 A、B 共同的的备用节点,当 A 或者 B 主节点故障时,实例都 会转移到这个备用节点。因为 A、B 实例主机通常不会同时出故障,所以共用一个备用节点是一般安全的。同理如果 3 个实例则需要 4 个节点,4 个实例需要 5 个节点,余此类推。
N+1 群集的优点:运行多实例时有优势,资源利用率比一般 Active-Passive 群集高,管理比Active-Active
群集简单。
N+1 群集的缺点:需要节点服务器比较多,而且如果两个或以上实例同时出故障,公共备用节点可能会出现资源不足的问题——当然多个实例同时出故障的可能性不大,N+1 群集部署模式也是基于此假定来设计的。