SharePoint Server 2016 的零停機修補程式影片示範
適用於:Subscription Edition SharePoint in Microsoft 365
概觀
SharePoint Server 2016 的其中一項新功能為零停機修補。
在修補 SharePoint Server 2016 伺服器陣列時,零停機修補不需要任何伺服器停機時間,但確實需要在高可用性 (HA) 組態 (中設定伺服器數位,讓 SharePoint 角色裝載於多個伺服器) 上。 如此一來,就可以分批完成修補,其中某些備援伺服器會從負載平衡中取出、修補、取代及測試音效,然後其他伺服器才會執行相同的程式。
有兩個步驟可修補 SharePoint Server 2016 伺服器陣列中的伺服器。 首先,您會將修補程式的二進位檔安裝到每部伺服器,這稱為修補階段。 其次,完成修補階段之後,您必須啟動組建對組建升級階段來完成更新安裝。
在零停機修補期間,使用者可以新增和編輯檔案,並使用搜尋,就像任何其他時間一樣,存取負載平衡器仍然處理的伺服器。 同樣地,雖然資料庫架構在伺服器數位的修補和未修補端之間可能會有所不同,但 SharePoint Server 2016 會以回溯相容模式運作,而且其資料庫能夠正常運作,直到修補完成為止。
這個 SharePoint 教學課程會從頭到尾說明如何修補 SharePoint Server 2016 HA 伺服器陣列,包括在所有伺服器上安裝二進位檔案,以及建置對建置 (B2B) 的升級。
重要事項
在示範期間,已討論並示範分散式快取服務的正常關閉。 所描述的環境是測試伺服陣列,而顯示的程式不是客戶在即時環境中執行此動作的方式。
重要:如果您主動使用 Microblog、Newsfeeds 等區域,您必須改為使用下列步驟,在修補和升級順序期間,正常關閉每個分散式快取伺服器上的分散式快取服務:
順利停止分散式快取服務
$instanceName ="SPDistributedCacheService Name=AppFabricCachingService"
$serviceInstance = Get-SPServiceInstance | ? { ($.service.tostring () ) -eq $instanceName -and ($.server.name) -eq $env:computername}
$serviceInstance.Unprovision()
啟動分散式快取服務
$instanceName ="SPDistributedCacheService Name=AppFabricCachingService"
$serviceInstance = Get-SPServiceInstance | ? { ($.service.tostring () ) -eq $instanceName -and ($.server.name) -eq $env:computername}
$serviceInstance.Provision()
如需參考,以下是步驟的概觀,但如需 SharePoint 修補的進一步詳細數據,請觀看影片。
從負載平衡器中移除前端網頁伺服器 (SPWEB01)。
使用 STS & WSS 套件 (SPWEB01) 修補前端 Web 伺服器。
重新啟動前端網頁伺服器 (SPWEB01)。
將前端網頁伺服器 (SPWEB01) 新增回負載平衡器中。
從負載平衡器中移除前端網頁伺服器 (SPWEB02)。
修補前端網頁伺服器 (SPWEB02)。
重新啟動前端網頁伺服器 (SPWEB02) 電腦。
修補下列的應用程式伺服器︰平行的 SPAPP01、SPDCH01 和 SPSRCH01,然後重新啟動電腦。
修補下列的應用程式伺服器︰平行的 SPAPP02、SPDCH02 和 SPSRCH02,然後重新啟動電腦。
將前端 Web 伺服器 (SPWEB02) 出負載平衡器 (請參閱步驟 7) ,開啟 SharePoint 2016 管理命令介面,然後執行下列 PSConfig 命令:
PSConfig.exe -cmd upgrade -inplace b2b -wait -cmd applicationcontent -install -cmd installfeatures -cmd secureresources -cmd services -install
注意事項
影片中的語法經壓縮以節省時間,建議使用步驟 10 中所列的完整語法來執行。
升級完成後,將前端 Web 伺服器 (SPWEB02) 重新新增至負載平衡器。 將前端 Web 伺服器 (SPWEB02) 新增至負載平衡器之後,請移除前端 Web 伺服器 (SPWEB01) 。
在前端網頁伺服器 (SPWEB01) 電腦上,執行步驟 10 的 PSConfig 命令。
將前端網頁伺服器 (SPWEB01) 新增回負載平衡器中。
在應用程式伺服器 (SPAPP01) 上,執行步驟 10 的 PSConfig 命令。
在分散式快取伺服器 (SPDCH01) 上,執行步驟 10 的 PSConfig 命令。
在搜尋伺服器 (SPSRCH01) 上,執行步驟 10 的 PSConfig 命令。
升級完成後,請在 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
如需 Microsoft PowerShell for Azure Cmdlet 的其他資訊,請參閱 Get-AzureVM 和 Add-AzureEndpoint。
相關文章
安裝 SharePoint Server 2016 的軟體更新