前端池高可用性和管理

了解 Skype for Business Server 中的前端池管理,包括管理池、仲裁丢失以及仅包含两个前端服务器的池的特殊步骤。

在 Skype for Business Server 中,前端池的体系结构使用分布式系统模型,每个用户的数据保留在池中多达三台前端服务器上。 建议所有Enterprise Edition前端池至少包含三个前端服务器。

注意

Skype for Business Server 2019 不支持Enterprise Edition具有两个前端服务器的前端池,并且不允许在该方案中发布拓扑。

规划前端池的管理

Skype for Business Server使用基于Windows Fabric的分布式系统模型。 在此模型中,每个用户和会议的重要数据存储在前端池中的三台前端服务器上。 这三个存储特定数据集的服务器称为replicas。

使用前端池的分布式模型时,池必须运行一定数量的服务器才能使池正常运行。 池有两种丢失模式。

  • 路由组级别仲裁丢失,是由于特定路由组的副本服务器不足引起的。 路由组是指驻留在池中的一组用户。 每个路由组在池中都有三个副本:一个主要副本和两个辅助副本。

  • 池级别仲裁丢失,当池中运行的种子服务器不足时导致的。

路由组级别仲裁丢失

当您首次启动新的前端池时,务必确保有 85% 的服务器已启动且正在运行,如下表所示。 如果正在运行的服务器数目较少,则服务可能会滞留在启动状态,而池可能无法启动。

池中服务器的总数
使池第一次启动所必须运行的服务器的数量
2
1
3
3
4
3
5
4
6
5
7
5
8
6
9
7
10
8
11
9
12
10
2019 Skype for Business Server 16
12

以后每次启动池时,都应启动 85% 的服务器(如上表所示)。 如果无法启动此数量的服务器 (但可以启动足够的服务器,以便不会在池级别仲裁丢失) ,则可以使用 Reset-CsPoolRegistrarState -ResetType QuorumLossRecovery cmdlet 使池能够从此路由组级别的仲裁丢失中恢复并取得进展。 有关如何使用此 cmdlet 的详细信息,请参阅 Reset-CsPoolRegistrarState

注意

在服务器数量偶数的池中,Skype for Business Server使用主 SQL 数据库作为见证服务器。 在这样的池中,如果关闭主数据库并切换到镜像副本,并关闭足够的前端服务器,使没有足够的前端服务器根据上表运行,整个池将关闭。 有关详细信息,请参阅 数据库镜像见证

池级别仲裁丢失

若要使前端池完全正常运行,它不能处于池级仲裁丢失状态。 如果正在运行的服务器数量低于下表所示的正常运作级别,则池中的其余服务器将停止所有 Skype for Business Server 服务。 请注意,下表中的数字假定池中的后端服务器正在运行。

池中的前端服务器总数
使池发挥作用所必须运行的服务器的数量
2
1
3-4
任意 2 台
5-6
任意 3 台
7
任意 4 台
8-9
前 7 台服务器中的任意 4 台
10-12
前 9 台服务器中的任意 5 台
2019 Skype for Business Server 12-16
前 12 个服务器中的任何 7 个

在上表中,“第一个服务器”是首次启动池时按时间顺序首先启动的服务器。 若要确定这些服务器,可以将 cmdlet 与 选项一 Get-CsComputer 起使用 -PoolFqdn 。 此 cmdlet 将按服务器在池中的出现顺序显示服务器,列表最上方的服务器就是前几台服务器。

重要

2019 Skype for Business Server前端服务器的最大数量已增加到 16 个

确保池正常工作的其他步骤

您应注意其他几项因素,以确保您的前端池仍正常工作。

  • 首次将用户移动到池时,请确保至少有三个前端服务器正在运行。

  • 如果您为灾难恢复的目的建立此池和另一池之间的一对关系,那么在建立此关系后,必须确保在某些时候此池具有三个同时运行的前端服务器以正确将数据与备份池同步。 有关池配对和灾难恢复功能的详细信息,请参阅在 Skype for Business Server 中规划高可用性和灾难恢复

带有两个前端服务器的前端池

建议不要部署仅包含两个前端服务器的前端池。 这种小型池无法像更大的池一样提供强大的高可用性解决方案,同时还需要花费额外精力进行管理。 此外,如果双服务器池的后端服务器发生故障,整个池本身也可能会很快关闭。 如果只想部署一台或两台运行Skype for Business Server的服务器,建议将它们部署为 Standard Edition 服务器。

如果需要部署包含两个前端服务器的池,请遵循以下准则:

  • 如果两个前端服务器之一出现故障,应尽快尝试恢复故障服务器。 同样,如果需要升级两台服务器之一,升级完成后将其尽快联机。

  • 如果因某些原因需要将两台服务器同时停机,当该池停机后执行下列操作:

    • 最佳做法是同时重启两个前端服务器。

    • 如果无法同时重新启动两台服务器,则应该按其停机时的相反顺序来启动它们。

    • 如果无法按该顺序恢复它们,请在备份池之前使用以下 cmdlet: Reset-CsPoolRegistrarState -ResetType QuorumLossRecovery -PoolFQDN <FQDN>

前端池配置失败和更改

如果前端服务器失败,且在近期不可能替换,则从拓扑删除该服务器。 当再次可用时向该拓扑添加新的前端服务器。

在您对前端池作出配置更改时(比如添加或删除服务器),您必须遵守以下准则:

  • 发布新拓扑后,必须在池中重新启动每个前端池。 一次重新启动一个。

  • 如果在配置更改期间整个池已关闭,请在发布新拓扑后运行以下 cmdlet: Reset-CsPoolRegistrarState -PoolFQDN <PoolFQDN> -ResetType ServiceReset