SharePoint Server 2016 中零停机时间修补视频演示

适用于:no-img-132013 yes-img-162016 no-img-192019 no-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

概述

SharePoint Server 2016 中的新增功能之一是零停机时间修补。

零停机时间修补在修补 SharePoint Server 2016 场时不需要任何服务器停机,但要求在高可用性 (HA) 配置 (设置场,以便 SharePoint 角色托管在多台服务器上) 。 这样一来,修补可以批次进行,其中,在其他服务器执行同一过程前,某些冗余服务器从负载平衡取出、修补、取代并对其完整性进行测试。

有一个两步过程来修补 SharePoint Server 2016 场中的服务器。 首先,将修补程序二进制文件安装到每个服务器,这称为修补阶段。 其次,完成修补阶段后,必须启动内部版本升级阶段完成更新安装。

在零停机时间修补期间,用户可以添加和编辑文件,并像在任何其他时间一样使用搜索,从而访问负载均衡器仍处理的服务器。 同样,尽管数据库架构在服务器场的修补和未修补的两侧之间可能有所不同,但 SharePoint Server 2016 在向后兼容模式下运行,并且其数据库能够正常运行,直到修补完成。

本 SharePoint 教程完整介绍了如何修补 SharePoint Server 2016 HA 场,包括在所有服务器上安装二进制文件,以及执行自身的内部版本 (B2B) 升级。

重要

本演示介绍并展示了分布式缓存服务的正常关闭。 所述环境是测试场,客户不得在实际环境中执行所展示的过程。

重要提示:如果主动使用微博、新闻源等区域,则需要在修补和升级序列期间,使用以下步骤来正常关闭每个分布式缓存服务器上的分布式缓存服务:

正常停止分布式缓存服务

$instanceName ="SPDistributedCacheService Name=AppFabricCachingService"

$serviceInstance = Get-SPServiceInstance | ? { ($.service.tostring () ) -eq $instanceName -和 ($.server.name) -eq $env:computername}

$serviceInstance.Unprovision()

启动分布式缓存服务

$instanceName ="SPDistributedCacheService Name=AppFabricCachingService"

$serviceInstance = Get-SPServiceInstance | ? { ($.service.tostring () ) -eq $instanceName -和 ($.server.name) -eq $env:computername}

$serviceInstance.Provision()

为了参考,下面概述了这些步骤,但有关 SharePoint 修补的更多详细信息,请观看视频。

  1. 将前端 Web 服务器 (SPWEB01) 从负载平衡器删除。

  2. 使用 STS 和 WSS 包修补前端 Web 服务器 (SPWEB01)。

  3. 重新启动前端 Web 服务器 (SPWEB01)。

  4. 将前端 Web 服务器 (SPWEB01) 添加回负载平衡器。

  5. 将前端 Web 服务器 (SPWEB02) 从负载平衡器删除。

  6. 修补前端 Web 服务器 (SPWEB02)。

  7. 重新启动前端 Web 服务器 (SPWEB02) 计算机。

  8. 修补以下应用程序服务器:SPAPP01、SPDCH01 和 SPSRCH01 并行,然后重新启动计算机。

  9. 修补以下应用程序服务器:SPAPP02、SPDCH02 和 SPSRCH02 并行,然后重新启动计算机。

  10. 使用前端 Web 服务器 (SPWEB02) 负载均衡器 (请参阅步骤 7) ,打开 SharePoint 2016 命令行管理程序,然后运行以下 PSConfig 命令: PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources -cmd services -install

    注意

    在视频中,语法进行了压缩以节省时间,但是步骤 10 中列出的完整语法才是推荐运行的语法。

  11. 升级完成后,将前端 Web 服务器 (SPWEB02) 添加回负载平衡器。 前端 Web 服务器 (SPWEB02) 添加到负载平衡器后,删除前端 Web 服务器 (SPWEB01)。

  12. 在前端 Web 服务器 (SPWEB01) 计算机上,运行步骤 10 的 PSConfig 命令。

  13. 将前端 Web 服务器 (SPWEB01) 添加回负载平衡器。

  14. 在应用程序服务器 (SPAPP01) 上,运行步骤 10 的 PSConfig 命令。

  15. 在分布式缓存服务器 (SPDCH01) 上,运行步骤 10 的 PSConfig 命令。

  16. 在搜索服务器 (SPSRCH01) 上,运行步骤 10 的 PSConfig 命令。

  17. 完成升级后,在 02 系列服务器(SPAPP02、SPDCH02、SPSRCH02)上运行相同步骤 (14-16)。

注意

我们建议测试整个页面以确保服务器的修补和升级已完成。

在视频中,以下Microsoft PowerShell 脚本用于将服务器从 Azure 服务管理内部负载均衡器中取出。

#Remove the SPWEB01 Azure Load Balanced EndPoint
$svc=<"NameYourLBService">
$vmname=<"NameofYourVM">
$epname="TCP-80-80"
Get-AzureVM -ServiceName $svc -Name $vmname | Remove-AzureEndpoint -Name $epname | Update-AzureVM
#Add the SPWEB01 AzureEndpoint back
$ilb="minroleilb"
$prot="tcp"
$locport=80
$pubport=80
$epname="TCP-80-80"
$lbsetname=<"NameYourLB">
$vmname=<"NameofYourVM">
Get-AzureVM -ServiceName $svc -Name $vmname | Add-AzureEndpoint -Name $epname -LbSetName $lbsetname -Protocol $prot -LocalPort $locport -PublicPort $pubport -DefaultProbe -InternalLoadBalancerName $ilb | Update-AzureVM
# Remove the SPWEB02 Azure Load Balanced EndPoint for the patch install and build to build (B2B) phase
$vmname=<"NameofYourVM">
$epname="TCP-80-80-2"
Get-AzureVM -ServiceName $svc -Name $vmname | Remove-AzureEndpoint -Name $epname | Update-AzureVM
#Add for the B2B SPWEB02 AzureEndPoint to ILB
$prot="tcp"
$locport=80
$pubport=80
$epname="TCP-80-80-2"
$lbsetname=<"NameYourLB">
$vmname=<"NameofYourVM">
Get-AzureVM -ServiceName $svc -Name $vmname | Add-AzureEndpoint -Name $epname -LbSetName $lbsetname -Protocol $prot -LocalPort $locport -PublicPort $pubport -DefaultProbe -InternalLoadBalancerName $ilb | Update-AzureVM
# B2B for SPWEB01::::: Phase Remove the SPWEB01 Azure Load Balanced EndPoint
$svc=<"NameYourLBService">
$vmname=<"NameofYourVM">
$epname="TCP-80-80"
Get-AzureVM -ServiceName $svc -Name $vmname | Remove-AzureEndpoint -Name $epname | Update-AzureVM
#Add the SPWEB01 AzureEndpoint back
$ilb="minroleilb"
$prot="tcp"
$locport=80
$pubport=80
$epname="TCP-80-80"
$lbsetname=<"NameYourLB">
$vmname=<"NameofYourVM">
Get-AzureVM -ServiceName $svc -Name $vmname | Add-AzureEndpoint -Name $epname -LbSetName $lbsetname -Protocol $prot -LocalPort $locport -PublicPort $pubport -DefaultProbe -InternalLoadBalancerName $ilb | Update-AzureVM

有关 azure cmdlet Microsoft PowerShell 的其他信息,请参阅 Get-AzureVMAdd-AzureEndpoint

安装 SharePoint Server 2016 的软件更新

SharePoint Server 2016 零停机时间修补步骤

视频:如何启用远程 Windows PowerShell 以用于 SharePoint 服务器