规划冗余性 (Search Server 2008)

更新时间: 2008年7月

应用到: Microsoft Search Server 2008

 

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

本文内容:

  • 关于冗余性

  • 定义服务器冗余性要求

  • 规划最低服务器冗余性级别

  • 选择基准服务器场拓扑

  • 规划查询服务器冗余性

  • 规划数据库服务器冗余性

  • 评估服务器的故障风险

本文介绍用于扩展 Microsoft Search Server 2008 服务器场中包含的冗余服务器角色的选项。读完本文后,您将能够确定和记录适合所用环境的冗余选项。

您在阅读本主题之前,请阅读以下主题:

请注意,Search Server 2008 和 Search Server 2008 Express 通常不承载内容,而是主要用于承载搜索服务,对 Windows SharePoint Services 和 Microsoft Office SharePoint Server 服务器场上的内容或其他远程内容源进行爬网,以及响应查询。在某些环境中,Search Server 2008 和 Search Server 2008 Express 可以用于承载内容。如果您计划使用 Search Server 2008 或 Search Server 2008 Express 来承载内容,请阅读性能和容量规划 (Windows SharePoint Services) 中的文章以确保您了解在同一服务器场中承载内容和运行 Search Server 2008 或 Search Server 2008 Express 的要求。

关于冗余性

术语冗余性 通常被误解为与可用性 同义。尽管这两个概念有关联,但并不相同。冗余性是指为达到任何目的(如改善服务器场的性能、扩展容量以容纳更多用户以及改善可用性)而在负载平衡的环境中使用多台服务器的情况。

可用性是一个更为专业的概念,它是指一种多服务器环境,目的是在一台或多台服务器无法运行时仍能接受连接并正常运行。因此,可用性是指冗余性以及故障转移机制和其他一些可能的特性。但是,一个冗余系统的可用性可能不高。

有关可用性的详细信息,请参阅规划可用性 (Search Server 2008)

本文介绍如何在 Search Server 2008 服务器场中实现冗余服务器。

定义服务器冗余性要求

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

在读完本节之后,您将可以确定是否必须通过部署冗余服务器在服务器部署拓扑中构建可扩展的容量,或确定规划没有冗余服务器的有限服务器部署对您的组织是否有意义。

规划最低服务器冗余性级别

若要部署冗余解决方案,则必须部署服务器场。

有几种可用作基准的不同服务器拓扑。其中每种拓扑都内含某一级别的服务器冗余性。本部分将对这些服务器场进行概述。

提示

在下面的说明中,我们将介绍其中的索引角色已安装为索引服务器并且查询角色已安装为查询服务器的服务器。

冗余拓扑

本部分包含冗余拓扑的示例。

五个或更多服务器场

最佳冗余服务器场拓扑介绍了单独的索引服务器,并且由五台或更多服务器计算机组成,其中包括至少两个群集配置中的数据库服务器计算机和至少两台查询服务器计算机。

五服务器场

如果使用此拓扑,您可以在专用的应用程序服务器上安装索引服务器角色。通过此设计您可以将索引转移到中间层,从而优化查询服务器计算机的性能。

请注意,此拓扑显示了提供手动故障转移的 SQL Server 群集配置。有关如何配置自动故障转移的 SQL Server 群集的详细信息,请参阅 SQL Server 2005 故障转移群集白皮书(该链接可能指向英文页面)安装 SQL Server 2008 故障转移群集(根据您所使用的 SQL Server 版本进行选择)。

含四台服务器的服务器场

构建有冗余性的最小服务器场由四台服务器组成:

  • 服务器 1 和 2:安装在两台计算机上的查询角色。

  • 服务器 3 和 4:群集或镜像数据库服务器。

四服务器场

在使用包含四台服务器的服务器场时,必须谨慎确定索引服务器角色的部署位置。无法同时向服务器场中的索引服务器和另一台服务器部署查询角色以实现冗余。这是因为,当索引角色与查询角色安装在同一台服务器计算机上时,索引角色不会再将内容索引传播到其他查询服务器。因此,如果您将索引服务器角色安装在其中一台 Web 服务器上,则无法同时在两台 Web 服务器上承载查询角色。您可以将索引角色安装在数据库服务器上,以便查询角色在 Web 服务器上实现冗余。但是,数据库服务器的性能将会受到影响,尤其在内容爬网时。

含三台服务器的服务器场

您可采用另一种方法在部署少量服务器时实现冗余。在使用包含三台服务器的服务器场时,您必须确定要实现冗余的服务器角色:Web 服务器角色或数据库服务器角色。

通过将第三台服务器添加到 Web 服务器层,可实现 Web 服务器角色的冗余。可以将查询角色和索引角色安装到同一台 Web 服务器上(请参阅本部分中的选项 A),也可以将它们分别安装在不同的 Web 服务器上(请参阅本部分中的选项 B)。

带冗余 Web 服务器的三服务器场

如果选择此拓扑结构,则无法将查询角色同时部署到两台 Web 服务器上以实现冗余。这是因为,如果查询服务器角色与索引服务器安装在同一台服务器上,则索引服务器不会将索引传播到其他查询服务器上。但是,您可以将索引角色安装到数据库服务器上。您便能够将查询角色部署到两台 Web 服务器上。但是,数据库服务器的性能将会受到影响。

虽然可用性受到限制,但是为两台服务器分配 Web 服务器角色将会提高小型服务器场的整体性能。当性能比数据冗余更重要时,可使用此拓扑结构。

非冗余拓扑

非冗余拓扑可能包含多个服务器,但都不是冗余的,因为一个服务器只能充当一个服务器角色。例如,包含一个查询服务器、一个索引服务器和一个数据库服务器的服务器场不是冗余的拓扑。

如果不必在服务器部署中构建额外的容量和性能,则服务器的最基本拓扑为一台或两台服务器。如果要在有限的范围内使用,您可以部署单台 Search Server 2008 服务器或 Microsoft Search Server 2008 Express(其设计仅局限为单台应用程序服务器)。

下列图表显示了非冗余拓扑的示例。

单服务器部署 双服务器场

选择基准服务器场拓扑

本文前面介绍的每种服务器场拓扑都代表用于设计部署的基准起点。最适合组织的起点取决于必须拥有冗余的服务器角色。

本文的其余部分将介绍每个服务器角色的冗余性选项。读完本文后,您将能够确定可提供组织所需冗余的基准拓扑。在您规划容量和性能时,将使用此拓扑作为基准。

规划查询服务器冗余性

本节用于:

  • 确定组织是否需要在 Web 层实现冗余性。

  • 规划要实施的查询服务器负载平衡技术。

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

查询角色可以部署到任意数量的 Web 服务器上。不过,这样做有一个限制。如果将查询角色部署到承载索引角色的同一服务器上,则不应将查询角色部署到任何其他服务器计算机上。这是因为索引角色会识别位于同一台服务器上的查询角色。因此,索引角色不会试图传播索引。

索引应用程序服务器角色在 Search Server 2008 中无法实现冗余。在 Search Server 2008 中,索引角色与共享服务提供程序 (SSP) 关联。索引角色为每个 SSP 构建一个索引。您无法部署多台索引服务器来提高容量。索引服务器与单个 SSP 关联,并且在 Search Server 2008 中,您只可以拥有单个 SSP。

下一步是规划要实施的负载平衡技术。Search Server 2008 支持下列两种负载平衡方法:

  • 软件,例如 Windows Server 2003 操作系统中的网络负载平衡 (NLB) 服务。NLB 在查询服务器上运行,并使用 TCP/IP 来传送请求。因为 NLB 和其他软件负载平衡解决方案在查询服务器上运行,所以它们使用查询服务器系统资源。这会减少可用于提供查询服务的资源。但是,这对系统资源的影响并不大,并且软件解决方案可以处理多达 32 台查询服务器。

  • 硬件,例如传送器或交换机。负载平衡硬件使用网络来定向查询服务器之间的查询通信。负载平衡硬件的安装费用比软件高得多。但是不会影响查询服务器上的资源使用。Search Server 2008 可与任何负载平衡硬件一起使用。

此外,还有第三种负载平衡方法,即域名系统 (DNS) 的轮循负载平衡,但不建议使用此方法。DNS 轮循负载平衡可能会在查询服务器上占用大量资源,而且速度比负载平衡软件或硬件慢。我们建议您不要将其与 Search Server 2008 一起使用。此外,在将用户传送到服务器时,DNS 轮循负载平衡不考虑会话负载,从而可能导致服务器过载。

文章如何在 Windows Server 2003 中配置网络负载平衡参数 (https://go.microsoft.com/fwlink/?linkid=124067&clcid=0x804) 介绍配置 NLB 的说明。如果决定实施另一种负载平衡技术,请在规划和部署过程中将这一点考虑在内。

规划数据库服务器冗余性

本节将帮助您确定解决方案是否需要数据库服务器角色冗余。后面的规划主题将帮助您确定最适合所用环境的数据库冗余技术。有关详细信息,请参阅规划和设计数据库存储和管理

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

评估服务器的故障风险

本节概述了单个查询服务器或索引服务器出现故障的预期结果。换句话说,如果您将查询服务器角色只部署到一台服务器,当此服务器出现故障时会有什么样的潜在后果。了解潜在后果可帮助您确定服务器场中服务器分配的优先级。下表列出了应用程序服务器角色,并介绍了每种角色的停机后果。

服务器角色 停机后果

查询

用户无法发出全文查询。用户仍然可以浏览网站并访问网站上显示的内容。如果您的应用程序依赖用户或客户通过搜索查找内容,请制定计划将查询服务器角色部署到多台服务器。在包含 5 台服务器的服务器场中,通过将查询角色部署到两台 Web 服务器计算机上可以轻松完成此操作。

索引

在还原索引服务以及生成新的或更新的索引之前,查询服务器将继续使用现有内容索引。因此,当索引角色不可用时,搜索结果将不包括新的或更改过的内容。

数据库

用户将无法访问服务器场。试图查看服务器场中的网页将导致错误消息。如果您的应用程序依赖用户或客户通过搜索查找内容,请制定计划部署群集数据库服务器配置。

如果查询服务器角色的可用性要求是 99% 或更高,则常规的冗余性建议将计划在至少两台服务器计算机上安装查询服务器角色。

如果您的组织能够接受在 IT 人员将应用程序服务器角色部署到另一台服务器,或将服务还原到现有服务器所用的这段时间内,暂时无法使用此功能,则您可以考虑将该角色部署到单台应用程序服务器。

另请参阅

概念

规划可用性 (Search Server 2008)

其他资源

规划和设计数据库存储和管理
如何在 Windows Server 2003 中配置网络负载平衡参数
SQL Server 2005 故障转移群集白皮书
安装 SQL Server 2008 故障转移群集