ゼロ ダウンタイム修正プログラム適用のビデオ デモ (SharePoint Server 2016)
適用対象:2016 2019 Subscription Edition SharePoint in Microsoft 365
概要
SharePoint Server 2016 の新機能の 1 つに、ゼロ ダウンタイム修正プログラム適用があります。
ゼロ ダウンタイムパッチ適用では、SharePoint Server 2016 ファームのパッチ適用中にサーバーのダウンタイムは必要ありませんが、高可用性 (HA) 構成でファームを設定する必要があります (SharePoint ロールが複数のサーバーでホストされるようにするため)。 そうすることで、他のサーバーで同じプロセスを行う前に、特定の冗長サーバーを負荷分散の対象外とし、修正プログラム適用、置換、正常性のテストをバッチ処理で行うことができます。
SharePoint Server 2016 ファーム内のサーバーに修正プログラムを適用するには、2 段階のプロセスがあります。 まず、パッチのバイナリを各サーバーにインストールします。これはパッチ フェーズと呼ばれます。 次に、パッチ フェーズが完了したら、ビルドからビルドへのアップグレード フェーズを開始して更新プログラムのインストールを完了する必要があります。
ダウンタイムなしのパッチ適用中に、ユーザーはファイルを追加および編集し、検索を他の時点と同様に使用して、ロード バランサーによって引き続き処理されるサーバーにアクセスできます。 同様に、データベース スキーマはファームのパッチが適用された側とパッチが適用されていない側で異なる場合がありますが、SharePoint Server 2016 は下位互換性モードで動作し、そのデータベースは修正プログラムの適用が完了するまで適切に機能します。
この SharePoint チュートリアルは、SharePoint Server 2016 HA ファームに修正プログラムを適用する方法を説明します。すべてのサーバーへのバイナリ ファイルのインストール方法や、ビルドからビルド (B2B) へのアップグレード自体についても説明します。
重要
デモンストレーションでは、分散キャッシュ サービスの正常なシャットダウンについて説明され、示されました。 説明されている環境はテスト ファームであり、示されているプロセスがライブ環境でユーザーが行うべき方法というわけではありません。
重要: マイクロブログ、ニュースフィードなどの領域を積極的に使用している場合は、代わりに次の手順を使用して、パッチとアップグレードのシーケンス中に各分散キャッシュ サーバーの分散キャッシュ サービスを正常にシャットダウンする必要があります。
分散キャッシュ サービスを正常に停止させる
$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 パッチ適用の詳細については、ビデオを見てください。
フロントエンド Web サーバー (SPWEB01) をロード バランサーから削除します。
STS と WSS パッケージを使用して、フロントエンド Web サーバー (SPWEB01) に修正プログラムを適用します。
フロントエンド Web サーバー (SPWEB01) を再起動します。
フロントエンド Web サーバー (SPWEB01) をロード バランサーに再び追加します。
フロントエンド Web サーバー (SPWEB02) をロード バランサーから削除します。
フロントエンド Web サーバー (SPWEB02) に修正プログラムを適用します。
フロントエンド Web サーバー (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) を削除します。
フロントエンド Web サーバー (SPWEB01) コンピューター上には、手順 10 から PSConfig コマンドを実行します。
フロントエンド Web サーバー (SPWEB01) をロード バランサーに再び追加します。
アプリケーション サーバー (SPAPP01) で、手順 10 の PSConfig コマンドを実行します。
分散キャッシュ サーバー (SPDCH01) で、手順 10 の PSConfig コマンドを実行します。
検索サーバー (SPSRCH01) で、手順 10 の PSConfig コマンドを実行します。
アップグレードが完了したら、02 シリーズ サーバー (SPAPP02、SPDCH02、SPSRCH02) で同じ手順 (14-16) を実行します。
注:
サーバーへの修正プログラムの適用とアップグレードが完了したことを確認するために、全体のページをテストすることをお勧めします。
このビデオでは、次の Microsoft PowerShell スクリプトを使用して、Azure Service Management 内部ロード バランサーからサーバーを取り出しました。
#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 コマンドレットの詳細については、「 Get-AzureVM と Add-AzureEndpoint」を参照してください。
関連記事
ソフトウェア更新プログラムをインストールする (SharePoint Server 2016)
SharePoint Server 2016 ゼロ ダウンタイム修正プログラムの適用手順
ビデオ:リモートの Windows PowerShell を有効にして SharePoint Server で使用する方法