1、双节点群集技术在门户网站系统中的应用摘 要 本文介绍了故障转移群集技术原理和特点,结合吉林石化门户网站数据库群集的系统部署,详细阐述了在 Windows Server 2008 R2 操作系统下实现 SQL Server 2008 的双节点数据库故障转移群集的方法。 关键词 故障转移群集;双节点群集;数据库;SQL Server 2008 中图分类号 TP393;F270.7 文献标识码 A 文章编号 1673 - 0194(2013)13-0041-03 0 引 言 吉林石化公司门户网站是本企业发布新闻、通知,实现二级单位管理、信息链接与查询、资源共享,集成各种综合应用系统的统一平台,保障门
2、户系统的正常运行至关重要。目前根据规划对门户网站系统进行全面的升级,此次升级后操作系统版本为 Windows Server 2008 R2,数据库的群集服务正是基于此操作系统内置的故障转移群集技术。 1 群集技术及原理 Windows Server 2008 提供了两种群集技术:故障转移群集(Failover Cluster)和网络负载平衡,其中故障转移群集主要用于搭建高可用性架构。故障转移群集是一组独立的计算机,这些计算机相互协作以提高应用程序和服务的可用性。群集内的每台服务器被称为节点(Node) ,节点之间通过网络硬件和软件连接在一起为用户提供服务,如果其中一个群集节点出现故障,另一个节
3、点就会开始提供服务(该过程称为故障转移) ,通过使用冗余节点来减少宕机时间1。其典型的应用包括文件服务器、数据库服务器和打印服务器。 故障转移群集只适用于 Windows Server 2008 R2 企业版和 Windows Server 2008 R2 数据中心版,目前应用最广泛的是双节点故障转移群集。双节点故障转移群集原理如图 1 所示。 Node A 和 Node B 组成双节点群集,对于客户端来说体现为一台虚拟的服务器,通过软件连接,将需要管理的资源提交给群集管理器。通过群集服务器,客户端发送给虚拟主机的服务请求由 Node A 上的服务程序或应用程序从磁盘阵列中读取业务数据处理以后
4、通过群集服务器返还给客户端。 Node A 和 Node B 采用直连,Node B 通过心跳信号检测 A 的状态,当群集服务器发现处于 Active 的节点发生故障时则关闭 Node A 上的服务和应用程序,同时释放 Node A 的主机名,IP 地址、磁盘阵列等控制权由 Node B 接管,然后启动 Node B 上的服务和程序,从而实现故障转移的目的。 其中群集搭建中需要共享的磁盘阵列用来做仲裁盘、DTC 和共享盘2。仲裁盘:群集系统数据的固定存储区域,网络连接失败后各节点联系的纽带,当群集网络故障导致节点间无法通讯后,仲裁机制可保证群集中只有一个节点进入联机状态。 DTC:即分布式事务
5、协调器,当主节点宕机时,备份节点会“取出”宕机时的工作状态继续提供服务。 共享盘:安装数据库文件。 2 吉林石化门户系统应用实例 2.1 设计思路 吉林石化门户系统的数据库服务器采用双节点的群集结构,当工作服务器运行正常时,备用服务器只是处于监听监测的状态,当工作服务器故障时,备用服务器接管主机的一切服务,待主机恢复正常后,将服务器切换到主机上运行,数据的一致性通过共享存储解决,实现门户系统的稳定可靠运行。 该系统采用的硬件平台配置为:数据库服务器采用两台 IBM X3850 X5,每台服务器配有 Emulex 光纤卡两块,两块双口网卡,磁盘阵列在原有的 EMC CX480 上进行扩展,扩展磁
6、盘容量为 600G*8,交换机采用 H3C S5500-28C。 软件配置为:操作系统选用 Microsoft Windows Server 2008 R2 Enterprise (64 位) ,数据库服务器安装 SQL Server 2008 R2 Enterprise(64 位) 。 部署前先做好服务器磁盘空间及 IP 地址规划,注意网络高级设置中的绑定顺序,服务器的生产网络要优于心跳网络,如图 2 所示。 2.2 实现方法 吉林石化部署的数据库服务器每台配置两块光纤卡,此光纤卡用于服务器与存储阵列的两台冗余光纤交换机相连接。两块双口网卡,其中一口网卡用于连接两台服务器的心跳线,一口网卡用
7、于将服务器连接在局域网内,一口网卡用于 CMS 频道数据迁移使用。 数据库服务器与磁盘阵列连接如图 3 所示。 硬件连接好之后,在两台配置相同的服务器上均安装 Windows 2008 Enterprise Server R2 企业版操作系统,安装光纤卡的驱动程序。 将 EMC CX480 中扩展的 8 块硬盘做一个 RAID 组,设置 RAID5+1 热备方式,划分 3 个 LUN:一个用于仲裁盘,容量为 1G;一个用于 DTC,容量为 1G;一个用于共享盘,容量为 2T。在两台服务器的磁盘管理器中,会看到窗口上多了 3 个磁盘,然而它并不是真正连接到服务器上的磁盘,而是磁盘阵列中的 LUN
8、,如图 4 所示。 然后需要两台服务器上分别验证访问这个 3 个磁盘的有效性,注意在一台服务器的共享磁盘上写数据时,另外一台访问的共享磁盘应处于脱机状态,待数据写完后再联机,查看文件的有效性,如此反复在另外一台服务器上进行测试,保证磁盘的可用性。 群集中的所有服务器都必须位于同一 Active Directory 域中,连接好磁盘阵列后,将服务器加入中国石油集团域控服务器及 DNS 服务器,再次登录时采用域账户登录,进行集中控制及应用软件部署。 根据添加故障转移群集功能的向导,我们需要对群集服务器作一系列的配置,具体步骤包括: (1)打开服务器管理器“功能”“故障转移群集” 选择“创建群集向导
9、” 。 (2)将两台服务器加入群集,确定群集名称。在安装添加群集功能结束后,Windows Server 2008 包含一个内置的验证过程,使用户能够对系统,存储及网络的配置是否适于集成进行确认,新的确认向导所进行的部分测试包括: 节点测试,确认服务器是否正在运行同样的操作系统版本及是否进行了相同的软件更新。 网络测试,确定是否计划的群集网络符合具体的需求,如针对网络冗余是否具有至少两个独立的子网。 存储测试,分析是否进行了正确的存储配置,以使所有共享的磁盘能通过全部的群集节点进行读取以及确认存储是否符合特定的需求3。 验证过程如图 5 所示。 验证结束后需要验证群集是否安装成功,在群集管理界
10、面上手动停止主服务器的服务,服务可以自动切换到备用服务器节点上,从而验证群集的正确性。 (3)配置仲裁磁盘及 IP, 配置 DTC 及 IP,其中仲裁磁盘选择多数节点与磁盘,选择大小至少 500 MB 且配置了 NTFS 分区的磁盘,我们这里为 1G。 (4)安装 SQL Server 2008 故障群集,需要注意的是在主机上安装新的 SQL Server 故障转移群集,在安装过程中实例安装到非系统盘,数据文件安装到共享磁盘。 (5)设置管理用户、密码、登录方式等。 (6)在备机上选择向 SQL Server 故障转移群集添加节点。 这样就完成了整个故障转移群集部署。 3 结 论 双节点群集技术的应用保障了用户访问系统数据的实时性、完整性,实现了门户系统稳定可靠。 主要参考文献 1刘鹏,靳文婷.故障转移集群部署在石油销售企业档案管理系统中的应用J.中国管理信息化,2012(8). 2李皓 .Windows Server 2008 中故障转移的创新点J.每周电脑报,2008(3). 3戴有炜.Windows Server 2008 R2 安装与管理M.北京:清华大学出版社,2011.