规划 Project Server 2007 中的容错和可用性

更新时间: 2008年10月

 

上一次修改主题: 2015-03-09

“容错”和“可用性”指多服务器环境的一项功能,当服务器场中的一个或多个组件无法运行时,多服务器环境可以接受连接并正常运行。可用性指的是冗余性,此外,还可能包括故障转移机制和其他一些可能的特性。

可以使用以下策略来改进 Microsoft Office Project Server 2007 部署的容错功能:

  • 群集

  • 硬件冗余

  • RAID 配置

  • 服务器角色冗余

  • 日志传送

  • 备用服务器

本文介绍有关上述每种策略的详细信息。您可以单独或组合应用这些策略。因为每个策略都有关联的成本,所以,在组织中应用每种策略之前,请务必考察相应策略的成本/收益比。

可用性

建议您将可用性要求视为 Office Project Server 2007 解决方案的核心设计的一部分。还可以在部署解决方案之后提供增强的可用性。为便于操作,建议您在服务器场中部署和调整核心解决方案,然后测试可用性解决方案。

什么是可用性?

可用性 指用户认为某个系统(如 Office Project Server 2007)在多大程度上处于可用状态。确保可用性是指确保系统有弹性,即,很少发生会影响服务的事故,并且在发生事故时,能够采取及时有效的措施。可用性策略可最大限度地避免用户感受到计划内和计划外故障时间。

最常见的可用性测量方法之一是以九的个数表示的运行时间百分比,即给定系统处于活动状态且运行正常的时间的百分比。例如,运行时间百分比为 99.999 的系统的可用性为五个九。

下表列出了九的个数与关联的日历时间等效值。

可接受的运行时间百分比 每日故障时间 每月故障时间 每年故障时间

95

72 分钟

36 小时

18 天

99

14 分钟

7 小时

4 天

99.9

86 秒

43 分钟

9 小时

99.99

8.6 秒

4 分钟

53 分钟

99.999

0.8 秒

26 秒

5 分钟

如果可以根据事实推测可能会出现的故障时间的总小时数,则可使用以下公式来计算每年、每月或每周的运行时间百分比:

-
每年运行时间百分比 = 100 –(8760 – 每年故障时间总小时数)/8760

-
每月运行时间百分比 = 100 –(24 * 当月天数– 该日历月中故障时间总小时数)/(24 * 当月天数)

-
每周运行时间百分比 = 100 –(168 – 该周故障时间总小时数)/168

可用性的辨析

可用性不是数据保护和恢复,也不是灾难恢复。在任何高度可用的系统中都应具有单独的数据保护和灾难恢复计划。

另外,可用性也不是业务连续性管理 (BCM)。BCM 包括在处理危机前已就绪的业务决策、流程和工具。危机可以是本地的、区域性或国内的事件,也可以只与您的业务相关。

可用性成本

可用性是较昂贵的系统需求之一。可用性级别越高,要保护的系统越多,可用性解决方案的复杂性和成本可能也就越高。投资可用性时,相应的成本包括:

  • 额外硬件和软件,通常包括软件之间的复杂操作,如用于故障转移和恢复的自定义脚本。

  • 额外操作复杂性。

获得可用性的成本应基于业务需求进行评估,并非组织中的所有解决方案都要求同一级别的可用性。可以为不同的网站、不同的服务(如搜索和商业智能)或不同的服务器场提供不同级别的可用性。

可用性是一个关键方面,信息技术 (IT) 小组需要在这一方面提供服务级别协议 (SLA) 来设定客户群的期望。许多 IT 组织都提供有各种分为不同收费等级的 SLA。

关于冗余性

冗余性 是可用性的关键组成部分。冗余性包括在负载平衡的环境中使用多台服务器来改善服务器场的性能或扩展容量以容纳更多用户等。冗余性还包括使用完全相同的备份组件(如供电设备或网络设备),以便在主组件出现故障时持续提供功能。

本文介绍如何在 Office Project Server 2007 服务器场中实现冗余服务器。

Office Project Server 2007 支持可缩放服务器场以改进容量、性能和可用性。通常,在确定开始时使用的服务器计算机的数量时,首先要考虑容量。在确定服务器场中的服务器数量以及服务器计算机的大小或容量时,除了性能因素之外,可用性也起一定作用。

确定可用性要求

若要评估组织对网站、服务或服务器场的故障时间的容限,请回答以下有关网站、服务或服务器场的问题。

  • 如果 Office Project Server 2007 变得不可用,贵组织的员工是否无法履行其预期工作职责?

  • 如果 Office Project Server 2007 变得不可用,业务和客户交易是否会中断,从而导致失去业务和客户?

如果对以上任一问题的回答是肯定的,则应投资于可用性解决方案。

尽管本文主要讨论 Office Project Server 2007 的可用性,但系统中的其他组件也会影响系统运行时间。尤其应考虑以下方面:

应确保基础架构依赖项(如电源、制冷、网络、目录和 SMTP)是完全冗余的。

为系统选择符合需要的转换机制(无论是 DNS 还是硬件负载平衡)。有关负载平衡 Web 服务器的最佳方案,请参阅以下文章:

群集

群集可防止系统出现应用程序故障或操作系统故障。您还可以在不使群集计算机脱机的情况下对其执行许多任务,包括升级应用程序或操作系统,或安装 Service Pack 或更新。

服务器群集的作用是使应用程序保持可用状态,而不是保护数据。若要防止病毒、损坏以及其他威胁危害数据,您需要可靠的数据保护和恢复计划。群集技术无法防止由于病毒、软件损坏或人为错误导致的故障。

SQL Server 故障转移群集

故障转移群集专为有状态的应用程序而设计。有状态的应用程序具有长期运行的内存状态,或者它们具有大量的、频繁更新的数据状态。

故障转移群集允许对资源进行故障转移,以提供高可用性。故障转移群集还使客户端与应用程序和服务保持连接。

在故障转移群集中,节点共享对数据的访问。节点既可以是主动的,也可以是被动的,并且每个节点的配置取决于运行模式(主动或被动)以及您在群集中配置故障转移的方式。对于被指定为处理故障转移的服务器,确定其规模时,应考虑到它除了自身的工作负荷之外,还需要处理故障节点的工作负荷。

在 Office Project Server 2007 部署中,可以将故障转移群集用于 SQL Server。

负载平衡的群集

负载平衡的群集是一组完全相同的且通常为克隆出来的计算机,它们用来增强 Web 服务器、Microsoft Internet Security and Acceleration (ISA) 服务器(对于代理和防火墙服务器)和其他接收传输控制协议 (TCP) 和用户数据报协议 (UDP) 流量的应用程序的性能。因为群集节点相互之间通常是完全相同的克隆,因而可以独立运行,所以,群集中的所有节点都处于主动状态。

Office Project Server 2007 支持两种负载平衡方法:

  • 软件,例如 Microsoft Windows Server 2003 操作系统中的网络负载平衡 (NLB) 服务。NLB 在前端 Web 服务器上运行,并使用 TCP/IP 来传送请求。因为 NLB(以及其他软件负载平衡解决方案)在前端 Web 服务器上运行,所以 NLB 使用前端 Web 系统资源,从而减少了可用于为网页提供服务的资源。但是,这对系统资源的影响并不大,一个软件解决方案最多可以处理 32 台前端 Web 服务器。

  • 硬件,例如路由器或交换机。负载平衡硬件使用网络来定向各前端 Web 服务器之间的网站流量。负载平衡硬件的安装费用比软件高,但负载平衡硬件不影响前端 Web 服务器上的资源。Office Project Server 2007 可与任何负载平衡硬件一起使用。

此外,还有第三种负载平衡方法,即域名系统 (DNS) 的轮循负载平衡,但不建议使用此方法。DNS 轮循负载平衡可能会占用前端 Web 服务器上的大量资源,而且运行速度比负载平衡软件或硬件都慢,因此不建议与 Office Project Server 2007 一起使用。此外,在将用户传送到服务器时,DNS 轮循负载平衡不考虑会话负载,从而导致服务器过载。

硬件冗余

您可以通过部署附加硬件配置来复制组织的硬件配置,为您的 Office Project Server 2007 部署提供一定程度的容错性。通过这种方法,如果一个数据输入/输出 (I/O) 路径或服务器的物理硬件组件(例如,计算机、网络和存储区域网络组件)出现故障,系统将不受影响。用于最大限度减少单点故障的硬件根据您要实现冗余的组件不同而异。硬件供应商通常提供重复的硬件作为其存储解决方案的一部分。

RAID 配置

通过使用独立磁盘冗余阵列 (RAID),您可以改善 Office Project Server 2007 部署的容错能力。RAID 在多个磁盘上存储完全相同的数据,以实现冗余性、改善性能和提高平均故障时间 (MTBF)。在 RAID 配置中,一部分物理存储容量包含与硬盘上存储的数据相关的冗余信息。这些冗余信息是奇偶校验信息(对于 RAID-5 卷)或数据的完全独立备份(对于镜像卷)。如果其中一个磁盘或访问路径出现故障,或者如果无法读取磁盘上的某个扇区,则通过冗余信息可重新生成数据。

为确保运行 Office Project Server 2007 的计算机在单个磁盘出现故障的情况下仍可继续正常工作,您可以在 Office Project Server 2007 部署中的各个硬盘上使用 RAID 磁盘镜像或带奇偶校验的磁盘带区。磁盘镜像或带奇偶校验的磁盘带区可为硬盘上的数据创建冗余数据。

Office Project Server 2007 数据库是 I/O 密集型程度很高的数据库。出于这一原因,建议您采用 RAID 10,以获得最佳性能并对包含 Office Project Server 2007 数据库的驱动器实现冗余。

使用 RAID 配置不能防止文件损坏或其他文件错误。因此,请不要将 RAID 配置用作对服务器上的重要数据保持当前备份的替代手段。

由于事务日志文件和数据库文件对于运行 Office Project Server 2007 的计算机的正常运转至关重要,因此,您可以在单独的物理磁盘上保留事务日志文件和数据库文件。还可以使用 RAID 磁盘镜像或带奇偶校验的磁盘带区来防止由于单个物理硬盘缺失而导致 Office Project Server 2007 数据库出现故障。

如果环境中包含存储区域网络 (SAN),则您的部署可能已具有所需的磁盘冗余性。在 SAN 环境中,建议您不要将 Office Project Server 2007 部署及其关联的组件与其他 I/O 密集型应用程序放在相同的磁盘轴上,否则可能导致性能下降。Office Project Server 2007 数据已针对顺序读取进行优化,这使它非常适用于 SAN 环境。

服务器角色冗余

选择何种基准服务器拓扑结构取决于对实现应用程序服务器角色冗余性的要求。本节介绍与其冗余选择相关的应用程序服务器角色。

可冗余的角色

这些应用程序服务器角色可以部署到多台服务器。部署到每台服务器的代码是相同的,而应用程序服务器角色不存储任何数据。换句话说,这些服务器角色的每个实例均相同。如果其中一台服务器计算机出现故障,已保存的数据不会丢失。Web 服务器自动在可用的应用程序服务器计算机之间对这些服务器角色请求进行负载平衡。

可以按冗余方式部署 Office Project Server 2007 Project 应用程序服务。这样,可以提高 PWA 数据请求的吞吐量并提高部署的容量。但是,在多台服务器上部署 Project 应用程序服务不会提高服务器场的可用性。如果其中一台服务器出现故障,服务器场将不会自动检测此故障,并将继续将请求发送到出现故障的 Project 应用程序服务服务器,直到手动从服务器场中删除它。

不可冗余的角色

您在 Office Project Server 2007 中可以启用的某些应用程序服务器角色无法实现冗余,例如,Windows SharePoint Services 3.0 搜索。这一应用程序服务器角色可以部署到多台服务器;但是,多台服务器不可冗余。此服务器角色将被配置为对内容进行爬网并生成内容索引。如果将此角色部署到多台服务器,则每台服务器对不同的内容进行爬网。

数据库服务器冗余

数据库服务器角色对解决方案可用性的影响大于其他任何角色。如果 Web 服务器或应用程序服务器出现故障,可以快速还原或重新部署这些角色。但是,如果数据库服务器出现故障,则解决方案将依赖于数据库服务器的还原操作。还原操作可能包括重建数据库服务器,然后从备份媒体还原数据。在这种情况下,可能会丢失自上一次备份作业以来新生成的数据或已更改的数据,具体取决于 SQL Server 的配置方式。此外,在还原数据库服务器角色的过程中,解决方案将完全不可用。

在任何系统中,都建议您与硬件供应商合作,以获得适合该系统的容错硬件,包括 RAID 阵列。

规划组件的容错能力时,请考虑以下方面:

  • 可能无法实现服务器中每个组件的完全冗余。此时可使用其他服务器来实现额外冗余。

  • 确保服务器有多个电源并且分别连接到不同的供电设备,以获得最大冗余。

日志传送

借助于 Microsoft SQL Server,您可以使用日志传送功能,持续将事务日志从一个数据库传送到另一个数据库。持续从元数据库中备份事务日志,然后将这些日志复制并还原到目标数据库,可以使目标数据库与源数据库保持同步。日志传送功能提供了一种自动方法来维护备用服务器。

备用服务器

备用服务器是辅助服务器,它可以在主生产服务器出现故障时进入联机状态。备用服务器上安装了主服务器上所安装的相同软件组件。通过使用备份服务器,用户可以在主服务器变得不可用时继续使用 Office Project Server 2007 数据。

备份服务器也可用在主服务器由于定期维护而不可用的情况下。例如,如果您必须使主服务器脱机以进行硬件或软件升级,则可以使用备用服务器,直到主服务器返回联机状态。

使用备份服务器时要考虑的最重要因素是备份服务器上的硬件、软件更新和固件更新必须与备份服务器要取代的主服务器上的对应项完全相同。

如果备份服务器是数据库服务器,则它必须包含主服务器上数据库的副本。如果主服务器进入脱机状态而备用服务器进入联机状态,则当主服务器再次变得可用时,对位于备份服务器上的数据库副本进行的任何更改都必须复制回主服务器上。否则,将丢失这些更改。当用户开始再次使用主服务器时,应将主服务器上的数据库备份和复制到备份服务器上。

为了确保备用服务器与主服务器保持同步,最好的方法是使用日志传送。如果主服务器出现故障,或者即使单个数据库出现故障,备份服务器上的数据库也可供用户进程使用。任何无法访问主服务器的用户进程都必须转而使用备份服务器。

如果您具有单独的前端 Web 服务器作为部署的一部分,则可以在前端 Web 服务器上安装 Project 应用程序服务并使它们处于关闭状态。然后,当其中一台 Office Project Server 2007 服务器出现故障时,您可以激活前端 Web 上的 Project 应用程序服务,以便轻松地使备份服务器进入联机状态。