Evidian SafeKit适应于应用程序集群的高可用软件Thomson 视频网的产品经理 Philippe Vidal 说：对于一个正在寻找简单且又经济实惠的高可用软件的软件发行商来说，SafeKit 是一个理想的应用程序集群方案。我们在全球广泛部署 SafeKit，目前基于Windows 系统上，已经有超过 80 个 SafeKit 集群通过陆上，卫星，光缆和网络电视连接我们的关键播放应用系统。SafeKit 保证了对我们的数据进行连续性和实时复制，以及在我们的软件和硬件在发生故障时，应用的自动失效备援。

SafeKit > 白皮书- 2 -高可用性，业务连续性和灾难恢复
每一个基于电脑系统的业务活动，大型或小型的，都会有遇到电脑失效的问题。不幸的是，失效发生时，如果没有配置高可用方案一个小问题可以演变成一个大的危机。

选择 SafeKit 软件集群方案的十个原因
1. 纯软件高可用方案
Evidian SafeKit是一个纯软件高可用方案。该方案简单而快速地确保了您的关键应用的全年
无间断性。
当传统的高可用方案专注于物理或虚拟服务器的失效备援时，SafeKit着重选择了关键应用的失效备援。
这个有中心应用和硬件独立的方案可以提供在云上的关键应用的高可用。

2. 高可用针对于所有种类的失效
一个应用的不可用性主要是3个问题造成的

硬件和环境：包括一个机房的完全故障。

软件：软件更新时的复原，服务超载，软件错误。

人为错误：操作错误和无法正确启动关键服务。

SafeKit解决了这些能保证关键应用的高可用的至关重要的问题。

3. 3个最佳软件集群案例拥有超过10年的全年无休运行经验，S 在三种情况下是集群方案市场的最佳选择：
1. 软件销售商可以在他们的宣传册里面添加，一个高可用性的软件选项。
2. 在分支公司，应用在标准硬件的高可用模式下运行，当地不需要特殊技能来管理这个方案。
3. 一个数据中心可以在Windows, Linux上，使用负载均衡，实时数据复制和失效备援，为多个应用提供一致的的高可用方案。

- 3 -4. 市场唯一的：三合一产品传统情况下，创建一个应用集群需要三个不同的产品：网络负载均衡器 为数据可用在SAN上被同步复制的硬盘阵列 为应用失效备援的高可用工具集

将这三个性能融入到一个软件产品中。
为降低后续安装费用，SafeKit在您现有的标准服务器上运行，并使用您的标准版OS和应用
程序：Oracle, Microsoft SQL服务器或其他数据库或文件。。。，甚至在Windows forPC。

5. 一个软件集群随插随用部署
Once a failover module is configured and tested for an application, deployment requires
no specific IT skills. Just install the application, the SafeKit software and the failover module
on two standard Windows, Linux servers. 为一个应用安装和测试失效备援模块是，配置不需要特殊的IT技能。只是在两个标准的Windows, Linux服务器上安装应用，SafeKit软件和失效备援模块。

6. 软件集群内应用整合的众多选择
SafeKit提供多种类型的软件集群。知道应用程序的集群配置是丰富的，是用一个或多个应
用模块制成的。SafeKit提供镜像模块（首要复制/次要复制/失效备援）。Farm模块 (网络负载均衡和失效备援)模块的配置需要一个心跳的服务器IP地址，集群的虚拟IP地址，Farm模块的负载均衡规则，镜像模块的文件复制路径，硬件软件失效探测器和失效时重新启动的服务器。

7. 容易的操作用来避免人为错误
在SafeKit的网络控制台上，操作员可以远程监控一个集群的应用状态（红色，绿色，洋红色），并通过简单的按钮执行操作(启动，停止)。
文档提供了测试来验证应用程序在高可用性模式下的正常运行，包括故障诊断程序。
使用一个通用的命令行接口，被SafeKit保护关键应用程序轻松地适应特定的监控主
机。

- 4 -

8. 交易应用程序的同步复制
SafeKit的同步复制性能加强了高可用性并防止数据丢失。这将确保一个硬盘上的交易应用
程序提交的任何数据将被复制在二级机上。
应用服务器可以位于不同地理位置的远程计算机的房间中，通过一个扩展局域网承受一个完整的房间的损失。

9. 避免异步复制造成的数据丢失
在异步复制(市场上其他经典解决方案)，主服务器失败会造成数据丢失的风险很高。因此重要的是选择SafeKit这样的同步复制解决方案，以确保关键应用程序的高可用性。

10. 1小时之后安装您的第一个软件集群
您可以免费试验SafeKit。1小时之后，您可以在两台虚拟或物理机上安装您的第一个软件集群。

- 5 -SafeKit 集群软件用应用程序模块配置 Windows, Linux集群
应用程序中心高可用方案
一个应用程序模块是SafeKit软件集群为一个应用定制的产品。它确定应用的了高可用配置
和失效备援程序。这个应用程序模块可以：
用应用程序部署一个随插随用的软件集群
选择与应用程序匹配的软件集群种类 在软件集群内配置应用程序恢复 为加速一个新的应用的整合发送模板
软件集群的随插随用部署一旦应用模块被设置和测试，部署不需要特殊IT技能：
1.
2.
3.
4.

在两台标准的Windows, Linux服务器上安装应用，在两台服务器上安装SafeKit软件，
在两台服务器上安装应用模块，设置服务器和集群的新名字不同的软件集群
SafeKit提供两个基础软件集群：镜像集群和farm 集群。几种应用模块可以配置在同一个软
件集群上。因此，高级集群架构可以被实施：混合farm/mirror，active/active 或N-1。

软件集群内的应用集成事实上，一个应用模块是一个Appli.Safe文件（压缩型）包括：
1. 主要的配置文件userconfig.xml包括：
 服务器的名字或物理IP地址 集群的名字或虚拟IP地址 实时复制的文档路径 （镜像模块） 网络负载均衡标准（farm 模块） 失效检查器软硬件的配置
2. 应用停止和启动的- 6 -使用 SafeKit 的镜像软件集群
实时复制和应用失效备援的高可用集群
镜像软件集群是一个主要备份高可用方案。应用在第一台服务器上运行，如果该服务器失效，自动在第二台服务器上重启。
镜像集群可以通过也可以不通过文件复制配置。使用文件复制功能，这个架构主要是为了
使用临界数据应对失效的后端应用提供高可用。
微软SQL，Server.Safe, MySQL.Safe 和 Oracle.Safe是“镜像”类应用模块的范例。基于
Mirror.Safe通用模块，您可以为您的应用自己编写镜像模块。
镜像软件集群工作方式如下。

- 7 -1. 正常运行PRIM

SECOND复制时，在SafeKit上只有文件的路径名称被设置。不需要两台服务器上的磁盘结构。复制
的路径有可能防止系统磁盘上。
SafeKit复制被应用打开的文件。文件中只有应用过程中被改变的才通过网络进行实时复制，以此限制流量。

2. 失效备援STOPALONE

当第一台服务器失效时，第二台服务器接管工作。SafeKit 自动切换集群的虚拟 IP 地址并在
第二台服务器上重新启动应用。多亏两台服务器的同步复制，应用程序可以在第二台服务
器上找到 SafeKit 最新的复制过的文件。应用程序在本地修改它的文件，继续在第二台服务
器上运行，而不需要在第一台服务器上复制。
切换的时间与错误检测的时间相同（缺省设置为30秒）再加上应用程序重启的时间。与硬盘复制方案不同的是，重新登录文件系统与运行复原程序没有延迟。

- 8 -3. 故障恢复与重新整合Reintegration

PRIM

故障恢复涉及到解决引起故障的问题后重新启动第一台服务器。SafeKit 自动重新同步文件，仅将第一台服务器故障时在第二台服务器上的有变动的文件更新。
重新的整合不会干扰应用程序，它继续在第二台服务器上运行。这就是SafeKit与其他方案的不同，其他方案会要求你停止第二台服务器上的应用程序去重新同步第一台服务器。

4. 回到正常的运营
SECONDPRIM

重新整合后，文件再次进入镜像模式，如第一步。应用程序在第二台服务器上运行，
SafeKit重新复制更新的文件以便备份第一台服务器，系统回到高可用模式。
如果管理员希望应用程序在第一台服务器上运行，在合适的时间他/她可以对其中一个手动
给一个“切换”指令，或者通过设置自动处理。

- 9 -同步复制 vs 异步复制
SafeKit 提供的镜像方案使得同步复制与其他文档复制的方案有很大的不同。
使用同步复制，当一个在主要服务器内复制过的文件执行了应用或文档系统缓存的 IO 硬盘时，在给应用或文档系统高速缓存发送 IO 确认前，SafeKit 等待 IO 从本地硬盘和次要服务器的确认。对于交易型应用的失效备援，这个机制是非常重要的。
同步复制要求服务器之间具备局域网的宽带，这可以通过扩展在两个异地远程计算机房中间的局域网来实现。
当使用其他方案的异步复制时， IO 被放置在主服务器上队列中，但主服务器不等次服务器
的 IO 确认。因此，如果主服务器失效时，所有数据就会来不及被通过网络复制到次服务器上。
交易型应用在失效时，就会丢失已被被提交数据。
异步复制可以基于一个速度慢的广域网远程备份数据来实现。
SafeKit 提供异步方案，将异步安装在主服务器上而不是次服务器上。这时，SafeKit 总是会等两台服务器确认后再给应用或高速缓冲器系统发确认。对于从服务器，有同步和异步两种选项。在异步情况下，当收到 IO 和硬盘存盘后次服务器给主服务器发送确认。在同步的情况下，次服务器把 IO 存到硬盘后给主服务器发送确认。如果我们考虑在同时停电两个服务器时，无法重新启动主服务器和要求重启次服务器，次要服务器上的同步模式是必需的。

- 10 -软件集群网络负载均衡与应用程序失效备援的可扩展性和高可用性
Farm clusterof 3 servers

UPUPUP

Farm 软件集群通过透明的网络流量分配提供网络负载均衡，软硬件失效备援。架构为增加系统负载提供了一个简单的方案。
同一个应用程序在每个服务器上运行，通过 farm 上不同服务器的网络活动分配负载被均衡了。
Farm 集群适合网络服务等前端应用程序。
Apache_farm.Safe 和 Microsoft IIS_farm.Safe 是farm应用程序模块的样例。你可以基于通用的您也可以以Farm.sake模块模板为自己的应用程序编写自己的Farm模块。

使用虚拟 IP 地址实现网络负载均衡的原理
虚拟 IP 地址在 Farm 集群中的每一个服务器的本地进行配置。进入虚拟 IP 地址的网络流量被所有的服务器所接收，被过滤器进行分割后，再进入服务器核心。
过滤器内部的网络负载均衡机制基于客户数据包的身份特征（IP 地址，客户端的 TCP 端口）。 依靠客户端数据包的特征，只有一个服务器上的过滤器接收数据包。其他服务器上的过滤器拒绝接受这个数据包。当一个数据包被服务器上的过滤器接收后，只有这个服务
器上被应用程序使用的 CPU 和内存被用来相应请求。输出的信息直接从应用服务器传递给客户端。
如果一个服务器失效，Safekit 的成员协议重新配置网络负载均衡集群里的过滤器，来重新平衡剩下可用服务器的负载。

- 11 -

有状态和无状态的 WEB 服务网络负载均衡在有状态的服务器上，会话是至关重要的。一个客户端必须连接同一个服务器，在多个 HTTP/TCP 会话中来获取服务器的上下文环境。这种情况下，SafeKit 的负载均衡规
则配置基于客户的 IP 地址。因此，同样的客户端在多个 TCP 会话中，总是连接同一个服务器。不同的客户端分配在 Farm 集群中的其他服务器上。这种配置应用在会话为主
的应用上。
无状态服务器，与会话没有那么密切相关。同样的客户端可以在多个 HTTP/TCP 会话
中，连接不同的服务器。因为，在每一个服务器上不存在与会话相关的上下文环境。
这样的情况下，Safekit 的负载均衡规则配置基于客户端的 TCP 会话。这样的配置是服务器之间分布会话的最好方式，但是前提是需要 TCP 服务与会话无关。
其他负载均衡机制对UDP服务，防火墙都是有效的。

- 12 -

SafeKit 的 farm/镜像混合软件集群网络负载均衡，文档复制和应用程序失效备援你可将farm和镜像应用程序模块在服务器的同一个集群上混合。
这个选项可以允许你在相同的应用程序服务器上实施一个多层应用程序价格，例如Apache_farm.Safe（负载均衡和失效备援的farm架构），与MySQL.Safe（复制和失效备援的镜像架构）。

Farm Cluster on 3 servers

Apache UP

Apache UP

Apache UP

Mirror Cluster on 2 servers
MySQL
PRIM
SECOND由此，负载均衡，文档复制和失效备援在相同的服务器上被协调管理。这是SafeKit的一个
特性，这种混合集群在市场上是唯一的！

- 13 -

SafeKit 的 Active/active 软件集群
交叉复制和想好接管
在一个active / active集群上，可以实现运行在两台系统服务器上的应用程序之间互为故障备援(Appli1.Safe 和 Appli2.Safe)。每一个服务器都是另外一个服务器的备份。

UsersAppli1

Appli1

Appli2PRIM1SECOND1

SECOND2

Users
Appli2PRIM2在 Active/Active 集群中，如果一个服务器失效，所有的应用程序将会在同样的物理服
务器上被激活。当失效的服务器重新启动后，应用程序会返回缺省的主服务器。
一个互为故障备援集群比两个分开的镜像集群更经济，因为不需要为一个花很多时间等待主服务器故障的备份服务器投资。当出现故障时，其余的服务器必须能够承受两个应用程序的合并工作量。

- 14 -

SafeKit 的软件集群 N-to-1
从多个服务器到一个的复制与应用程序失效备援在N-to-1集群，N个镜像应用程序模块被安装在N个主服务器上和一个备份服务器上。

Users
Appli1

Appli1

PRIM1

Users
Appli2

Appli2PRIM2SECOND1
SECOND2
SECOND3

Users
Appli3

Appli3PRIM3如果N个Active服务器中的一个发生故障，单独的备份服务器重新启动失效服务器的模块。
问题立刻被解决，故障服务器被重新启动，应用程序转回到其原来的服务器上。
发生故障时，不同于active/active集群，当主服务器出现故障，备份服务器不用去承担双重的工作量。假设只有一个故障发生 – 这个方案可用支持多个主服务器的同时故障，但是单独的备份服务器将要承担所有发生故障的服务器的工作量。

- 15 -

39 C2 03LU 11

For more information: www.evidian.com/zh-hans/© Eviden. Evidian is the registered trademark of Eviden. All products, brand names, service marks, trademarks and other names
mentioned in this document are proprietary to their respective owners and are protected by applicable trademark and copyright laws.
Evidian reserves the right to modify the characteristics of its products without prior notice.