管理 SharePoint Server 2016 中的 MinRole 服务器场

 

**上一次修改主题:**2018-02-27

了解如何管理 SharePoint Server 2016 中的 MinRole 场部署。

MinRole 是一种基于 SharePoint Server 2016 引入的一组预定义服务器角色的新场拓扑。配置你的 SharePoint 场时,现在在创建新场或将服务器加入到现有场中时选择服务器的角色。SharePoint 将自动基于服务器的角色在各个服务器上配置服务。SharePoint Server 2016 已针对 MinRole 场拓扑进行了优化。

MinRole 管理

MinRole 的管理中心变更

随着 MinRole 功能的增加,管理中心网站出现一些变更。

管理此场中的服务器

此页显示已加入到场中的服务器。已向此页添加了两列:RoleCompliant

Displays Servers In Farm for the November PU 2016 in SharePoint Server 2016 (Feature Pack 1)

Role列显示分配给场中的服务器的角色。

备注

在“场中的服务器”页中,SQL Server 和 SMTP 服务器将列为属于“外部”角色,但在 Microsoft PowerShell 中,其服务器角色却显示为“无效”。这两个角色名称是等效的。

Compliant列显示服务器配置是否符合其服务器角色。如果服务器不合规,将提供Fix链接,自动将服务器重新配置为符合其服务器角色的预期配置。

备注

只有托管管理中心的服务器上的本地管理员组的成员才有权访问Fix链接。

管理此场中的服务

这是管理中心的“系统设置”类别中的新页。它显示场中每项服务的状态。此页包含三个相关的列:Auto ProvisionActionCompliant

Displays services in a SharePoint Server 2016 farm

Auto Provision列显示服务在场中是否已启用。如果显示值“”,将在场中 MinRole 托管的相应服务器上启动此服务的服务实例。如果显示值“”,该服务的服务实例将在场中 MinRole 托管的相应服务器上停止。

操作列显示以下三个值中的一个,具体取决于服务的类型以及它在服务器场中是否已启用:管理服务应用程序禁用自动设置启用自动设置

Manage Service Application值指示服务与服务应用程序关联。此服务在场中将由它自己的服务应用程序启用或禁用,通常是在你创建或删除服务应用程序时。单击链接访问“服务应用程序管理”页面。

备注

只有支持服务应用程序的服务中才会出现“管理服务应用程序”链接。

Disable Auto Provision链接禁用场中的服务。单击此链接时,与此服务关联的所有服务实例将在场中 MinRole 托管的相应服务器上停止。

Enable Auto Provision链接启用场中的服务。单击此链接时,此服务的服务实例将在场中 MinRole 托管的相应服务器上启动。

Compliant列显示服务在场中的每台服务器上是否合规。如果该服务在一台或多台服务器上不合规,将提供Fix链接。单击此链接可自动重新配置该服务的服务实例,以符合预期配置。

 

备注

只有托管管理中心的服务器上的本地管理员组的成员才有权访问Fix链接。

管理服务器上的服务

此页面显示服务器上的所有服务实例。将会出现一些变更,如下图中红色突出显示。

Displays services on servers in SharePoint Server 2016

在以前版本的 SharePoint 中,此页面仅可供管理中心服务器上的本地管理员组成员访问。在 SharePoint Server 2016 中,SharePoint 场管理员组的所有成员都有权访问此页面。

现在,服务器的角色显示在服务器名称旁边。

页面中添加了“合规”列。它会显示服务实例在该服务器上是否合规。如果该服务实例在该服务器上不合规,将提供一个修复链接。单击此链接在该服务器上重新配置服务实例,以匹配预期配置。

备注

只有托管管理中心的服务器上的本地管理员组的成员才有权访问修复链接。

Action 列已更改。对于由 MinRole 托管的服务器,移除了启动或停止服务的链接。对于该服务器上已启动的服务实例,唯一可操作的项目是“重新启动”。要启动或停止你现在使用的服务,请在“管理此场中的服务”页面中单击 Enable Auto ProvisionDisable Auto Provision 链接。

备注

分配给自定义角色的服务器仍会在操作列中显示启动停止链接。

备注

只有托管管理中心的服务器上的本地管理员组成员才有权访问RestartStartStop链接。

使用 Windows PowerShell 管理服务器场中的服务

引入了新的 PowerShell cmdlet 以管理服务器场中的服务。

Cmdlet 名称

Description

语法示例

Get-SPService

Get-SPService cmdlet 可获取服务器场中的服务。

Get-SPService -Identity "Microsoft SharePoint Foundation Sandboxed Code Service"

Start-SPService

Start-SPService cmdlet 可启用场中的服务。该服务的服务实例将在场中 MinRole 托管的相应服务器上启动。

Start-SPService -Identity "Microsoft SharePoint Foundation Sandboxed Code Service"

Stop-SPService

Stop-SPService cmdlet 可禁用场中的服务。该服务的服务实例将在场中 MinRole 托管的相应服务器上停止。

Stop-SPService -Identity "Microsoft SharePoint Foundation Sandboxed Code Service"

备注

可选参数 IncludeCustomServerRole 已添加至 SharePoint Server 2016 的 2016 年 11 月 公开更新(功能包 1)中的 Start-SPServiceStop-SPService Windows PowerShell cmdlet。如果经过指定,它还会创建计时器作业,该作业可以启动或停止分配到自定义服务器角色的服务器上的服务实例。这是一个一次性的计时器作业。MinRole 将不会做出进一步尝试来管理分配到自定义服务器角色的服务器上的服务实例。
无法使用 Start-SPServiceStop-SPServicecmdlet 启动或停止具有关联的服务应用程序的服务。可以通过创建或删除其关联的服务应用程序启动或停止这些服务。如果你将 Start-SPServiceStop-SPService cmdlet 和已关联服务应用程序的服务一起使用,将显示一条错误消息,指示应创建或删除关联的服务应用程序。

运行状况监控

创建了一个新的运行状况分析器规则,以确保你的服务器在其最佳 MinRole 配置下运行。Server role configuration isn’t correct 规则在你场中的每台服务器上每天午夜运行一次。它会扫描服务器上的所有服务实例,检测是否有任何实例不合规。如果任何服务实例不合规,运行状况规则会自动重新配置以匹配预期设置。无需 SharePoint 场管理员手动干预。

Displays health rules for MinRole topology in SharePoint Server 2016

SharePoint 场管理员可以在仍然允许运行状况规则运行的情况下,禁用运行状况规则的自动修复功能。如果运行状况规则检测到服务器不合规且自动修复功能已禁用,它将在管理中心中生成一个运行状况报告。运行状况报告会确定哪些服务器不合规,提供自动修复服务器的功能并提供有关如何手动修复服务器的说明。

SharePoint 场管理员可以控制运行状况规则计划,增加或减少其运行频率,或者将其禁用使其永不计划。也可以按需运行。

备注

此运行状况规则不会扫描或修复分配给自定义角色的服务器。分配到自定义角色的服务器将不会由 MinRole 管理。

开发人员:如何将服务分配到服务器角色

如果你是一名想要使用服务创建应用程序的 SharePoint 开发人员,建议你将每种类型的服务实例分配到 MinRole 支持的一个或多个服务器角色:

向服务器角色分配服务

  1. 通过从 SPService 类继承来实施服务。

  2. 如果您想默认启用或禁用此服务,可以在新服务类的构造函数中设置 AutoProvision 属性的值。

  3. 通过从 SPServiceInstance 类继承来实现服务的服务实例类。

  4. 必要时,重写 ShouldProvision(SPServerRole serverRole) 方法将该服务分配到特定服务器角色。

有关如何将服务订阅到特定角色的详细信息,请参阅 SPService 类SPServiceInstance 类

集成角色转换预验证

  1. 通过从 SPServiceInstance 类继承来实现服务的服务实例类。

  2. 重写 IsReadyForRoleConversion(SPServerRole newRole, out IEnumerable<string> errorMessages) 方法来检测服务实例是否已准备好将角色转换到 newRole 参数指定的服务器角色。如果已准备就绪则返回 true,如果尚未准备就绪则返回 false如果你返回 false,则提供一个消息列表来说明为什么服务实例尚未准备好进行角色转换及通过 errorMessages 参数解决此问题的步骤。