OA数据库升级方案论证

(整期优先)网络出版时间:2022-08-01
/ 2

OA数据库升级方案论证

卑进刚

13022619810222425X

摘要OA的使用范围越来越广,重要程度越来越高,现在OA的数据库服务器是单节点运行如果出现故障,OA系统不能使用将严重影响办公效率。为了数据安全稳定的运行,需要配置集群化多节点,减少数据库服务器故障。Windows故障转移集群能够实现多台服务器发生故障的时候切换,再通过监听程序监听磁盘情况,共享磁盘和主数据库服务器在那一台机器上就启动哪台服务器上的SqlServer服务,达到用户无感知效果。

关键词:OA;集群;数据库

前言

OA系统是Office Automation的简称就是办公自动化,现在又把其他系统的审批权限都集成到OA中,方便各个系统管理。OA的稳定就显得尤为重要,OA的应用服务器已经实现了集群负载模式,一台机器出现问题不影响业务和性能。数据库服务器由于受制于SqlServer数据库没能做成集群形式,成为OA系统的短板。增加数据安全保证数据稳定做成集群方式,从三方面进行论证。

1、windows server无域故障转移集群

随着Internet应用的深入,许多公司越来越依赖在线服务创造价值。这些重要的在线服务一般具有很严格的应用要求,单台服务器是无法满足如此苛刻的要求的,只能使用群集技术来实现。

Windows操作系统提供了一种全新的技术解决方案,它集成在Windows server操作系统中,被称为故障转移群集。故障转移群集主要是指一组独立的计算机,群集服务器(节点)通过网络和软件连接可协同工作,以增强应用程序和服务的可用性。故障转移群集包含一个连接到所有节点的存储设备,即共享存储设备。共享存储设备用于存储群集的公用数据和仲裁数据。双节点故障转移群集

为了保证共享存储设备上数据的完整性,故障转移群集内一次只有一个节点拥有共享存储设备的所有权。只有当该节点故障或者人为转移所有权时,才会由下一个节点拥有共享存储设备的所有权。这就决定了故障转移群集和网络负载平衡群集在功能上的不同,即故障转移群集内一般只有一个节点为用户提供服务(活跃状态),其余节点处于备份状态。当主动节点因为故障宕机时,会由下一个节点接替它继续为用户提供服务,而网络负载平衡群集内的节点可以同时为用户提供服务。

故障转移群集的特点

故障转移群集可通过资源故障转移而为应用程序提供高可用性的服务。它侧重于保持客户端对应用程序和系统服务的访问。故障转移群集最多可以支持64个节点和8000个虚拟机。可以利用本地或Microsoft Azure云见证作为仲裁。

故障检测

故障检测和防范时故障转移群集提供的关键优点。当群集中的节点或应用程序失败时,故障转移群集可以通过重新启动失败的应用程序或将故障系统的工作分散给幸存的群集节点来做出响应。故障转移群集故障检测和防范包括双向故障转移、应用程序故障转移、并行恢复及自动故障恢复。

群集服务九二一检测各个资源或节点的故障,并动态地将应用程序、数据和文件资源转移到群集中可用的正常服务器上,然后重新启动它们。因此,数据库、文件共享和应用程序等资源可以对用户和客户端应用程序保持高度可用性。

故障转移群集主要是通过心跳线、仲裁检测群集故障。

1、心跳线

群集的各个节点相互间会定期使用专用的群集网络交换设备发送消息(默认每隔5秒相互发送一次),因为只要群集节点还在工作,就会不停地、周期性地发送信息给群集内的其余节点,所有这些消息被称为心跳信息,用于传送心跳信息的专用网络被称为心跳线。通过心跳通信,每个节点可以检查其他节点及其应用程序的可用性。

如果某个备份节点发生了故障,则会在给定的时间内允许它以几种方式中的任何一种证明它仍处于正常运行中,并且可以同其他正常的节点通信。如果它无法证明,则此时会将它移除群集。

如果活跃节点发生故障,在指定的周期内(默认为两个周期,即10秒)备份节点没有接收到心跳信息,则将进行故障转移,由备用节点接管群集,对外提供服务。

2、仲裁

故障转移群集时否可以正常工作时由群集成员投票决定的,默认情况下,每个群集节点都可以投一票,另外,仲裁见证可以投额外的一票(仲裁见证可以是磁盘或文件共享资源)。只有投票超过半数,群集才能正常工作。

多数节点(无见证),仅群集节点具有投票权。适合群集节点数为奇数的情况。

带见证的多数节点(磁盘或文件共享),除群集节点具有投票权外,仲裁见证也有一票。适合群集节点数为偶数的情况。

无多数(仅磁盘见证),没有群集节点具有投票权,仅磁盘见证有一票。通常不建议使用此模型,容易发生单点故障。

2、数据库服务器数据库的搭建

要想保证数据库稳定肯定要有一个好的运行物理环境,如果使用一台服务器作为运行数据库的载体,服务器出现故障数据库肯定不能使用,那么应用也就不能被使用。集群模式正好就解决了这点问题,故障转移集群是用两台服务器搭建一个主备模式的切换集群,当主服务器出现故障自动切换到备用服务器此时备用服务器成为主服务器,出现故障的服务器进行维护与维修,修好或者维护好后上线作为备用服务器使用。这样就时时刻刻有一台服务器在备用。(要实现的效果如下图

1


1 升级前后对比图

2.1 配置服务器

安装两台服务器操作系统这里就不在详细赘述,主要配置如下

系统版本

windows2016

集群IP对外发布IP

10.2.1.250

网段

10.2.1.0

网关

10.2.1.1

设备配置

设备编号

IP地址

域名

1

10.2.1.222

oada1.jiqun

2

10.2.1.223

oada2.jiqun

按上面表设置计算机名和IP地址,然后修改C:\Windows\System32\drivers\etc下面的hosts文件如下图:


两台服务器hosts文件都做相同的配置。添加共享存储,创建故障转移集群,添加设备,添加完成进行测试,我们只需要访问对外IP10.2.1.250就能实际访问真正的业务系统,如果对外的IP对应着10.2.1.222服务器,如果此服务器发生故障我们访问10.2.1.250业务无故障因为集群的主服务器已经转移到10.2.1.223服务器上。因此实现了故障转移,减少业务故障发生。

2.2配置数据库

安装sqlserver2012数据库,配置完成后,首先把要挂载的数据库文件放在共享磁盘上,然后挂载数据文件到第一台服务器上,然后切换磁盘到另一台服务器上,再挂载数据库文件到另一台服务器上。这样把一个库文件挂载到了两台服务器上,当一个服务器故障时另一个服务器接管数据库启动,接管服务继续为用户提供服务

2.3配置监听程序

以上都配置好以后,服务器能够切换但是数据库服务启动和数据文件挂载不能确定,为了能够准确的确定磁盘是否切换过来,特地编写一个监控程序。流程图如下:


总结:通过搭建测试环境能够完美的实现故障转移,增加了系统的稳固性,提升了用户的体验度。