高可用性解决方案报告建议书模板范文(完整方案).docx

高可用性解决方案

1.术语定义

1)高可用性:()

通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性

2)灾难恢复:()

指或灾害后,重新启用统的数据、及设备,恢复正常商业运作的过程

3)故障转移群集:()

微软操作系统针对服务器提供的一种服务,该服务用于防止单台服务器故障导致服务失效。

2.公司数据库使用现状及问题瓶颈

其他部门对应用开发部负责的融资管理系统性能提出以下问题:

1)数据部:

a)服务器不稳定

b)数据库性能配置低

2)市场部:

a)查询效率太低

3)产品部:

a)报表、支撑难

这些性能问题无不涉及到后台数据库的性能及可靠性问题。

还有一个安全问题也值得重视。目前,公司产品数据库和融资管系统都部署在一台服务器上。理论上,产品数据库不应与应用部署在同一台机器而暴露给用户,产品数据库最好只交由专职来管理。因为,万一应用遭受黑客攻击,产品数据将会面临巨大威胁,甚至有可能被永久性物理删除。前不久,就有报道携程数据遭受

有预谋的内部攻击被物理删除()。如果分开部署,那么即使应用遭受攻击,只要产品数据在,我们仍然可以在短时间内部署新的应用。

3.高可用技术简介

1)故障转移群集( )

共享存储,效率高,但某一个时间点只有一个节点处于状态,造成硬件资源浪费。

2)数据库镜像( )

提供几乎是瞬时的故障转移,以提高数据库的可用性。但其最大弊端在于镜像数据库处于不可读状态,同样造成硬件资源浪费。

3)日志传送( )

还原作业之间的间隔时间内的只读访问权限,可用做报表查询。一般用于远程的异步容灾,存在部分数据丢失的可能性。

4)复制()

基于数据库对象级别,灵活性较高,但弊端在于,它不支持命令,不便维护。

5)

是中提供的一种全新的高可用性技术,其集中了上述种高可用性技术的优点,以确保企业无需增加成本和提高复杂度,即可实现最高级别的可用性和数据保护。可在数据中心内部以及跨数据中心实现数据冗余,快速地实现应用程序故障转移,保护现有硬件资源,同时简化了其配置过程。可以实现服务器实例级和数据库级配置高可用性,所对应的技术就是故障转移群集实例和可用性组。

下图展示了使用可用性组的和解决方案

4.高可用性技术介绍

1)故障转移群集实例

一般来说,在单服务器情况下,当服务器上出现硬件或软件故障时,连接到该服务器的应用程序或客户端将会停机。在故障转移群集实例环境中,实例的高可用性受到冗余节点的保护。在群集环境中,一次只能有一个节点拥有群集的资源组。在出现故障(硬件故障、故障、应用程序或服务故障)或进行计划的升级时,该资源组的所有权就会转移至另一个群集节点。此过程对于连接到的客户端或应用程序是透明的,可以最大限度地缩短出现故障时应用程序或客户端的停机时间。因此故障转移群集实例必须由一组物理服务器节点构成,这些服务器节点推荐使用类似的硬件配置以及相同的软件配置,如的版本、版本、修补程序级别、组件以及实例名称。相同的配置是确保群集在节点间进行故障转移时能够正常运行的前提条件。

在原有故障转移群集的基础上功能得到了进一步的增强,支持跨越子网实现多站点群集,此技术一般用于两个或两个以上的数据中心,以同时提供本地高可用性和远程的灾难恢复。其中,每个故障转移群集节点都连接到其他子网或其他子网组。这些子网可以处于同一位置中,也可以位于地理上分散的站点。跨地理上分散的站点进行群集有时又被称为扩展群集。因为没有供所有节点都可以访问的共享存储,所以在多个子网上的数据存储

之间应该复制数据。因此,多子网故障转移群集除了具备高可用性之外,还提供了灾难恢复解决方案。下面以图例说明:

在上图中共有两个数据中心并且处于不同子网,本地数据中心使用的地址是,当本地数据中心发生故障时,服务会转移到远程数据中心,远程数据中心所使用的是不同地址,为来继续提供数据库服务,这两个地址之间是的关系,也就是说这两个地址任意一个在线的话,虚拟网络名称都可以正常的向客户端提供服务。

在此需要使用到存储级别的复制技术,将本地数据中心数据库中的数据文件及日志文件复制到远程数据中心,当本地数据中心发生故障时,群集检测到故障,远程数据中心存储软件可以检测到复制失效,会将存储转换为读写状态,接下来群集会将远程站点可读写的存储设备挂接到远程的节点上,此时存储复制的方向就从远程数据中心向本地数据中心复制。也就是说,故障转移群集实例成功启动后,群集服务将监视基础群集的运行状况和实例的运行状况。中允许群集服务使用专用连接来轮询实例,以便通过系统存储过程获取详细的组件诊断信息。好处是,利用与实例的专用连接,能够对组件诊断信息进行可靠轮询,即使在故障转移群集实例负荷较重时也是如此。利用详细的组件诊断信息,可以配置更灵活的故障转移策略,由此用户能选择哪些故障条件将触发故障转移以及哪些故障条件将不触发故障转移。用户利用产生的诊断信息,还可以通过追溯方式更好地对自动故障转移进行故障排除。此诊断信息将存储到与错误日志并置的日志文件中。可以将这些日志文件加载到日志文件查看器中以检查导致出现故障转移的组件状态,从而确定导致该故障转移的原因。

2)可用性组

可用性组是中提供的全新功能,确保了应用程序数据的可用性,实现零数据丢失。可用性组技术融合了数据库群集和数据库镜像的优点,此技术的一大好处是提供非共享存储,可以避免因为存储的单点故障而造成的整个可用性方案失效。

可用性组基于数据库(组)级别,是将一组用户数据库(可以是一个或多个)划到一个组中。每组可用性数据库都由一个可用性副本承载。可用性副本包括一个主副本和一到四个辅助副本(最多支持个)。主副本用于承载主数据库,辅助副本则承载一组辅助数据库并作为可用性组的潜在故障转移目标。主副本使主数据库可用于客户端的读写连接,实现对数据库的更改操作。同时在数据库级别进行同步。主副本将每个主数据库的事务日志记录发送到每个辅助数据库。每个辅助副本缓存事务日志记录,然后将它们还原到相应的辅助数据库。主数据库与每个连接的辅助数据库独立进行数据同步。因此,一个辅助数据库可以挂起或失败而不会影响其他辅助数据库,一个主数据库可以挂起或失败而不会影响其他主数据库。

此外,用户可以借助辅助数据库来实现近实时的报表查询,将查询的负载分担到只读副本。相对于数据库群集及镜像来说,可以更好的利用硬件资源,从而提高效率并降低成本。

下面看一下可用性组架构,如下图所示:

部署可用性组需要一个故障转移群集() 群集。给定可用性组的每个可用性副本必须位于相同群

集的不同节点上。部署可用性组时,系统会为每个可用性组创建一个资源组。群集将监视此资源组,判断节点间的状态,以便评估主副本的运行状况。当发生失败时实现故障的转移,针对可用性组的仲裁基于群集中的所有节点,而与某一给定群集节点是否承载任何可用性副本无关。

用户可以通过创建一个可用性组侦听器来提供到给定可用性组的主副本的客户端连接。“可用性组侦听器”采用名称的方式连接给定可用性组的资源,以便将客户端连接定向到相应的可用性副本。

对于每个可用性副本,所支持的事务提交模式分为同步提交模式或异步提交模式。在异步提交模式下,主副本无需等待确认异步提交辅助副本已强制写入日志,便可提交事务。异步提交模式可最大限度地减少辅助数据库上的事务滞后时间,但允许它们滞后于主数据库,因此可能会导致某些数据丢失。此可用性模式是一种灾难恢复解决方案,适合于可用性副本的分布距离较远的情况。所谓同步提交模式是指在提交事务之前,同步提交主副本要等待同步提交辅助副本确认它已完成强制写入日志。同步提交模式可确保在给定的辅助数据库与主数据库同步时,充分保护已提交的事务。这种保护的代价是延长事务滞后时间。此可用性模式相对于性能而言更强调高可用性和数据保护,当主副本和辅助副本距离较近时可以使用此方法,解决时时同步的问题。

正因为可用性组集现有高可用性技术的优点于一身,不得不说,它是新特性中最为璀璨的一个。5.东方融资网可实施的测试部署方案

1)宿主机

宿主使用工作站(),其基本配置如下:

b)处理器:() ()

c)内存():

d)版本:

2)虚拟机配置

数据库服务器基本配置:个逻辑,内存,硬盘()

3)可用性组安装配置架构图

如下图所示,一个群集中包含三个节点(,)节点和节点组成群集,实现实例级别的自动故障转移和可用性组,可用性组添加侦听[],用于客户端的连接,以实现可用组切换而不用修改客户端连接配置。

4)群集安装

将三个服务器都加入域环境中;并安装和故障转移群集功能后,开始创建新群集。

第一步:配置主域控服务器

a)在仪表板服务器角色中添加服务器及服务,并配置域名为。

b)配置本机为。

c)建立域账户,账户属性设置为密码永不过期

第二步:配置三个数据库服务器,

a)设置(),()

b)关闭防火墙

c)加入域

d)在仪表板功能中添加和故障转移群集

第三步:创建新群集

a)在数据库服务器上创建新群集。

b)将、添加到该群集中。

c)群集配置为。

d)测试验证通过后,域中自动生成$域账户。

e)在上创建仲裁共享文件夹,并共享给$域账户,设定其读写权限。

第四步:,安装

a)分别安装

b)网络配置服务中数据库服务启用高可用性组。

c)数据库服务及代理登录设置为域账户

第五步:仲裁配置

为配置简单且在资源有限的情况下,该测试环境中群集仲裁配置为多数节点和文件共享的模式。配置过程见以下截图:

a)更多操作配置群集仲裁

图b)进入配置群集仲裁向导界面

c)选择多数节点和文件夹共享仲裁模式

第六步:创建测试数据库

a)在数据库实例上创建测试数据库和

b)和做好完整备份

c)在盘创建共享文件夹(添加可用性数据库时用到该共享目录),并设置域账户对该共享目录可读

写权限。

第七步:创建测试可用性组

a)在上创建可用性组

b)选择可用性组数据库和

c)选择可用性副本,并设置为同步提交模式副本(实现故障自动转移)。

d)可用性组添加监听,并设置为静态()

e)可查看到上和标识为已同步。

第八步:验证

a)验证故障自动转移功能

●关闭服务器。数据库客户端连接,可查看到此时已切换为主副本,上的和也已切换为主数据库。

●再启动,并在的可用性组中加入后,可查看到此时又作为辅助副本。

●关闭,此时又查看到变为主副本。

b)验证监听的实时监听及可用性组同步功能

●客户端连接服务,可访问到数据库和。

●在数据库中新表,在新表。

●连接数据库实例,发现的上可查看到,可查看到。

c)验证辅助副本的只读访问。

●查看属性,此时为主副本,为辅助副本。

●数据库管理工具连接。

●在上执行写操作将失败,执行查询操作成功。

6.问题总结

1)是否依赖于域环境?

答: 是, 依赖于故障转移群集(只有在故障转移群集中的才能启动高可行性组功能),而故障转移群集依赖于域环境.

2)为了启用高可用性组功能服务是否必须使用域账户运行?

答: 否,在使用非域账户运行的服务上仍然可构建高可用性组,服务运行账户决定中管理员的操作权限, 如果运行的域账户有访问网络资源的权限,那么账户也拥有访问该资源的权限.

3)当域控服务器失效时, 高可用性组是否继续可用?

答:当域控服务器失效时,无法进行自动故障转移, 无法使用机器名直接访问数据库,但仍可使用或高可用性

组侦听器所拥有的进行访问.

4)域控服务器重启对高可用性组的影响?

答:当域控服务器短暂重启时,对高可用性组影响较小,在域控服务器重新恢复后,无需对高可用性组进行任何配置修改。如域控服务器长期失效时,建议删除高可用性组。

5)主域控服务器和辅助域控服务器的区别?

答:主域控服务器是建立域时的第一台域控服务器,而辅助域控服务器则是域创建后添加的域控服务器,常见配置中会将辅助域控服务器指向主域控服务器,主域控和辅助域控都各自独立存放域相关信息,域控之间使用广播方式来传递更新信息以达到信息复制的目的,多台域控服务器能提高域中账户验证速度,辅助域控可起到容错功能,主域控发生故障时,辅助域控能取代主域控提供服务。

6)当域控服务器失效时,是否仍然可以使用域账户登录服务器?

答:不一定,服务器有一定的缓存机制,在账户第一次登录验证后,会保存该账户信息一段时间,在该时间段范围内域控服务器失效时,用户依然能登录服务器。(因此建议服务运行的域账户属性设置为密码永不过期)

7)当域控服务器失效或域账户密码变更时,以域账户运行的服务是否会受到影响?

答:正在运行的服务不会受到影响,但当服务再次重启时,需要验证账户的密码,此时会重启失败。

相关文档
最新文档