Lync Server 2013 フロントエンド プール ABC フェールオーバーの手順
トピック最終更新日時: 2014-05-22
ABC フェールオーバー手順を実行するには、次の手順に従います。 この手順には、各手順の概要と、各手順に対して実行するコマンドとコマンドレットが含まれています。
コマンドレットを実行するには、管理者として実行を使用して Lync Server Management Shell を開きます。
ABC フェールオーバーを実行するには
プール A が中央管理サーバー (CMS) のホストであるかどうかを確認します。
次のコマンドレットを実行します。
Get-CsService -CentralManagement
アクティブ CMS の [ID] フィールドがプール A の完全修飾ドメイン名 (FQDN) を指している場合は、この手順の手順 2 と 3 を使用して中央管理サーバーを最初にフェールオーバーします。 それ以外の場合は、手順 4 に進みます。
次のコマンドレットを実行して、ディザスター リカバリー モードで CMS をプール B にフェールオーバーします。
Invoke-CsManagementServerFailover -BackupSqlServerFqdn <Pool B BE FQDN> -BackupSqlInstanceName <Pool B BE instance name> [-BackupMirrorSqlServerFqdn <Pool B Mirror BE FQDN> -BackupMirrorSqlInstanceName <Pool B Mirror BE Instance name>] -Force -Verbose
これを行った後は、回復性を高めるために、CMS をプール B から別の既存のペアプールに移動することをお勧めします。 詳細については、「 Move-CsManagementServer.」を参照してください。
プール A に CMS が含まれている場合は、プール A からプール B の LIS データベース (Lis.mdf) に LIS 構成をインポートします。 これは、LIS データを定期的にバックアップしている場合にのみ機能します。 LIS 構成をインポートするには、次のコマンドレットを実行します。
Import-CsLisConfiguration -FileName <String> Publish-CsLisConfiguration
バックアップされた Lync Server 応答グループ サービス ワークフローをプール A からプール B にインポートします。
注意
現在、 Import-CsRgsConfiguration コマンドレットでは、プール A のキュー名とワークフロー名がプール B のキューとワークフロー名とは異なっている必要があります。名前が異なる場合は、 Import-CsRgsConfiguration コマンドレットの実行時にエラーが発生します。また、Import-CsRgsConfiguration コマンドレットに進む前に、プール B でキューとワークフローの名前を変更 する 必要があります。
応答グループ構成をプール A からプール B にインポートするには、2 つのオプションがあります。使用するオプションは、プール B のアプリケーション レベルの設定をプール A のアプリケーション レベルの設定で上書きするかどうかによって異なります。
プール B の設定を上書きする場合は、 Import-CsRgsConfiguration コマンドレットを ReplaceExistingSettings オプションで実行します。
Import-CsRgsConfiguration -Destination "service:ApplicationServer:<Pool B FQDN>" -FileName "C:\RgsExportPrimary.zip" -ReplaceExistingRgsSettings
プール B の設定を上書きしない場合は、ReplaceExistingSettings オプションを指定せずに Import-CsRgsConfiguration コマンドレットを使用します。
Import-CsRgsConfiguration -Destination "service:ApplicationServer:<Pool B FQDN>" -FileName "C:\RgsExportPrimary.zip"
警告
バックアップ プール (プール B) のアプリケーション レベルの設定をプライマリ プール (プール A) の設定で上書きしない場合、応答グループ アプリケーションはプールごとにアプリケーション レベルの設定のセットを 1 つだけ格納できるため、プール A が失われた場合、プール A のアプリケーション レベルの設定は失われることに注意してください。 プール A を置き換えるためにプール C をデプロイする場合は、既定の保留音オーディオ ファイルを含め、アプリケーション レベルの設定を再構成する必要があります。
次のコマンドレットを実行して、インポートされた応答グループを表示することで、応答グループ構成のインポートが成功したことを確認します。 インポートされた応答グループは、プール A によって引き続き所有されることに注意してください。
Get-CsRgsWorkflow -Identity "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>" Get-CsRgsQueue -Identity "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>" Get-CsRgsAgentGroup -Identity "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>"
[割り当てられていない番号] で、選択したアナウンス サービスとして "お知らせ" を使用している未割り当て番号範囲をプール A からプール B に移動します。これを行うには、
プール B のプール A にデプロイされたすべてのお知らせを再作成します。お知らせをプール A にデプロイするときにオーディオ ファイルが使用された場合、これらのファイルはプール B でアナウンスを再作成するために必要になります。プール B でアナウンスを再作成するには、 New-CsAnnouncement コマンドレットを使用し、プール B を親サービスとして使用します。
プール A のアナウンスをターゲットにしているすべての未割り当て番号範囲を、プール B の新しくデプロイされたアナウンスに再ターゲットします。プール A のお知らせを対象とする割り当てられていない番号範囲ごとに、次のコマンドレットを実行します。
Set-CsUnassignedNumber -Identity "<Range Name>" -AnnouncementService "<Pool B FQDN>" -AnnouncementName "<New Announcement in pool B>"
注意
この手順は、選択したアナウンス サービスとして "Exchange UM" を使用する割り当てられていない番号範囲には必要ありません。
次のコマンドレットを実行して、ディザスター リカバリー (DR) モードでプール A からプール B にフェールオーバーします。
Invoke-CsPoolFailover -PoolFqdn <Pool A FQDN> -DisasterMode
プール C をビルドしますが、プール C でサービスを開始しないでください。
この手順は、手順 5 と手順 6 と同時に実行できることに注意してください。
次のコマンドレットを実行して、プール A にホームユーザーを強制的にプール C に移動します。
Get-csuser -Filter {RegistrarPool -eq "<Pool A FQDN>"} | Move-CsUser -Target <Pool C FQDN> -Force
この時点で、プール A に所属するユーザーは、サービスの停止が発生し始めます。 この停止は手順 16 まで続きます。この時点で、プール C でサービスが開始されます。
次のコマンドレットを実行して、プール A の会議ディレクトリを強制的にプール C に移動します。
Move-CsConferenceDirectory -Identity <Conference Directory ID of Pool A> -TargetPool <Pool C FQDN> -Force
次のコマンドレットを実行して、会議自動応答 (CAA) Contact オブジェクトを強制的にプール A からプール C に移動させます。
Move-csApplicationEndpoint -Identity "<Pool A CAA Uri>" -targetApplicationPool <Pool C FQDN> -force
プール B からプール C に会議コンテンツをコピーします。
次のコマンドレットを実行して、プール B からユーザー データをエクスポートし、ユーザー データをプール C にインポートします。
Export-CsUserData -PoolFqdn <Pool B Fqdn> -FileName <String> Import-CsUserData -PoolFqdn <Pool C Fqdn> -FileName <String>
バックアップされたコール パーク アプリケーション データをプール A からプール C に復元し、プール A のコール パークオービット範囲をプール C に割り当てます。
プール A のコール パークオービット範囲を、Lync Server コントロール パネルまたは Lync Server Management Shell を使用してプール C に再割り当てできます。 Lync Server Management Shell の場合は、プール A に割り当てられているコール パークオービット範囲ごとに次のコマンドレットを実行します (Identity パラメーターは、プール A に属するコール パークオービット範囲を参照します)。
Set-CsCallParkOrbit -Identity "<Call Park Orbit Identity>" -CallParkService "service:ApplicationServer:<Pool C FQDN>"
プール A のコール パーク用にカスタマイズされた保留音が構成されている場合は、プール C のコール パークでカスタマイズされた保留音ファイルを復元します。
Xcopy <Source> <Destination: Pool C CPS File Store Path>
次に例を示します。
Xcopy "Source Path" "<Pool C File Store Path>\OcsFileStore\coX-ApplicationServer-X\AppServerFiles\CPS\"
最後に、 Set-CsCpsConfiguration コマンドレットを使用して、プール C のコール パーク設定を再構成します。 Call Park アプリケーションでは、プールごとに 1 つの設定セットとカスタマイズされた保留音楽オーディオ ファイルを 1 つだけ格納できます。これらの設定は、障害発生時にバックアップまたは保持されません。
常設チャットの次ホップ プールがプール A を指している場合は、次ホップ サーバーがプール C を指すようにトポロジの変更を行って公開します。
トポロジ ビルダーで、常設チャット プールを次ホップとしてプール C をポイントするように変更します。 これを行うには、常設チャット プールを右クリックし、[ 全般 ] タブをクリックして、 次ホップ プールでプール C の名前を入力します。
次のコマンドレットを実行して、プール C でサービスを開始します。
Start-csWindowsService
この時点で、最初にプール A に所属していたユーザーのサービス停止は終了します。
次のコマンドレットを実行して、インポート用のプール A が所有するプール B からプール C に Lync Server 応答グループ サービス ワークフローをエクスポートします。
Export-CsRgsConfiguration -Source "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>" -FileName "C:\RgsExportPrimaryUpdated.zip"
プール B からプール C に Lync Server 応答グループ サービス ワークフローをインポートします。
応答グループ構成をプール B からプール C にインポートするには、2 つのオプションがあります。使用するオプションは、プール C のアプリケーション レベルの設定をプール B のアプリケーション レベルの設定で上書きするかどうかによって異なります。
プール C の設定を上書きする場合は、 Import-CsRgsConfiguration コマンドレットを ReplaceExistingSettings オプションで実行します。
Import-CsRgsConfiguration -Destination "service:ApplicationServer:<Pool C FQDN>" -FileName "C:\RgsExportPrimary.zip" -ReplaceExistingRgsSettings
プール C の設定を上書きしない場合は、ReplaceExistingSettings オプションを指定せずに Import-CsRgsConfiguration コマンドレットを使用します。
Import-CsRgsConfiguration -Destination "service:ApplicationServer:<Pool B FQDN>" -FileName "C:\RgsExportPrimary.zip"
警告
プール C のアプリケーション レベルの設定をバックアップ プール (プール B) の設定で上書きしない場合、応答グループ アプリケーションはプールごとにアプリケーション レベルの設定のセットを 1 つだけ格納できるため、プール B のアプリケーション レベルの設定は失われることに注意してください。
次のコマンドレットを実行して、プール C にインポートされた応答グループを表示することで、応答グループ構成のインポートが成功したことを確認します。
Get-CsRgsWorkflow -Identity "service:ApplicationServer:<Pool C FQDN>" -ShowAll Get-CsRgsQueue -Identity "service:ApplicationServer:<Pool C FQDN>" -ShowAll Get-CsRgsAgentGroup -Identity "service:ApplicationServer:<Pool C FQDN>" -ShowAll
インポートされた構成がプール C で確認されたら、プライマリ プールが所有する応答グループをプール B から削除します。これにより、応答グループのダウンタイムが最小限に抑えられます。
この手順では、エクスポートされた構成で新しいファイルを作成し、プール B からファイルを削除します。
Export-CsRgsConfiguration -Source "service:ApplicationServer:<Pool B FQDN>" -Owner "service:ApplicationServer:<Pool A FQDN>" -FileName "C:\RgsExportPrimaryUpdated.zip" -RemoveExportedConfiguration
プール A からプール B に移動された未割り当て番号範囲をプール C に移動します。
プール C で、プール B のプール A から再作成されたすべてのお知らせを再作成します。移動するアナウンスを展開するときにオーディオ ファイルが使用されていた場合は、これらのファイルを使用して、プール C でアナウンスを再作成する必要があります。プール C でアナウンスを再作成するには、 New-CsAnnouncement コマンドレットを使用し、プール C を親サービスとして使用します。
プール A からプール B に再ターゲットされたすべての未割り当て番号範囲をプール C に再ターゲットします。再ターゲットする必要がある割り当てられていない番号範囲ごとに、次のコマンドレットを実行します。
Set-CsUnassignedNumber -Identity "<Range Name>" -AnnouncementService "<Pool C FQDN>" -AnnouncementName "<New Announcement in pool C>"
(省略可能)プール B からプール B で使用されなくなった場合は、プール C で再作成されたアナウンスを削除します。お知らせを削除するには、 Remove-CsAnnouncement コマンドレットを使用します。
注意
この手順は、アナウンス サービスとして "Exchange UM" を使用する割り当てられていない番号範囲には必要ありません。
次のコマンドレットを実行して、プール B のプール A のユーザー データをクリーンアップします。
Remove-CsUserStoreBackupData -PoolFqdn <Pool B FQDN> -Verbose
トポロジ ビルダーで次の操作を行います。
プール A とプール B のペアを解除します。プール B とプール C のペア。次に、トポロジからプール A を削除し、発行します。 これを行うには、以下のようにします。
トポロジ ビルダーで、プール B を右クリックし、[ プロパティの編集] をクリックします。
左側のウィンドウで [ 回復性 ] をクリックします。
[ 関連付けられたバックアップ プール] の下のボックスで [プール C] を選択します。プール B は以前にこのプールに関連付けられていたため、[関連するバックアップ プール] 選択ボックスには最初にプール A が表示されることに注意してください。
[音声の自動フェールオーバーとフェールバック] を選択し、[OK] をクリックします。
このプールの詳細情報を表示すると、関連付けられているプールが右ウィンドウの [復元] の下に表示されます。
コンソール ツリーで、プール A を右クリックし、[削除] をクリックします。
トポロジを公開します。
プール C でブートストラップ アプリケーションを実行してバックアップ サービス アプリケーションをインストールし、プール C のローカル コンピューター上の展開フォルダーから次の手順を実行してバックアップ サービス アプリケーションを開始します。
Run "%SYSTEMROOT%\Program Files\Microsoft Lync Server 2013\Deployment\Bootstrapper.exe" Start-CsWindowsService -name LyncBackup
次のコマンドレットを実行して、プール B のバックアップ サービス アプリケーションを再起動します。
Stop-CsWindowsService -name LyncBackup Start-CsWindowsService -name LyncBackup
プール C が Standard Edition (SE) プールであり、プール B に CMS がある場合は、次のコマンドレットを実行して、CMS データベースをプール C に手動でインストールします。
Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn <Pool C FQDN> -SqlInstanceName rtc
バックアップ サービスを呼び出して、B と C をペアリングする前に生成された古い会議コンテンツをプール B からプール C に同期し、プール C の開始後と B と C がペア化される前に生成されたプール C からプール B に新しい会議コンテンツを同期します。 これを行うには、次のコマンドレットを実行します。
Invoke-CsBackupServiceSync -PoolFqdn <Pool C FQDN> Invoke-CsBackupServiceSync -PoolFqdn <Pool B FQDN>
プール A に関連付けられている存続可能ブランチ アプライアンス X ごとに、
次のコマンドレットを実行して SBA X をシャットダウンします。
Stop-CsWindowsService
SBA X に所属するユーザーの一覧を含むファイルを作成します。この一覧は、ユーザーが手順 30 で SBA X に戻ったときに必要になります。 これを行うには、次のコマンドレットを実行します。
Get-CsUser -Filter {RegistrarPool -eq "<SBA X FQDN>"} | Export-Csv d:\sbaxusers.txt
次のコマンドレットを実行して、SBA X に所属するユーザーを強制的にプール C に移動します。
Get-CsUser -Filter {RegistrarPool -eq "<SBA X FQDN>"} | Move-CsUser -Target <Pool C FQDN> -Force -Verbose
最初に次のコマンドレットを実行して、これらのユーザーのデータを更新します。
Convert-csUserData -InputFile <Data file exported from PoolB> -OutputFile c:\Logs\ExportedUserData.xml -TargetVersionLync2010 $a=get-csuser -Filter {RegistrarPool -eq "FQDN of SBA X"} | select SipAddress foreach($x in $a) {$x.SipAddress.Substring(4) >> users.txt}
次に、次のスクリプトを実行します。
$users=gc c:\logs\users.txt foreach ($user in $users) { Update-CsUserData -FileName c:\logs\exportedUserDAta.xml -UserFilter $user - }
注意
サービスの停止は、プール A に関連付けられている SBA に所属しているユーザーがプール C に移動するまで発生します。
トポロジ ビルダーで、以前にプール A に関連付けられた SBA X ごとに、次の操作を行います。
関連付けをプール C に変更します。これを行うには、ブランチ サイトをクリックし、[存続可能ブランチ アプライアンス] または [サーバー] ノードを展開し、[ 存続可能ブランチ アプライアンス] をクリックします。 次に、この存続可能ブランチ アプライアンスがプール C として接続する フロントエンド プールの User Services プール を選択し、[ 次へ] をクリックします。
トポロジを公開します。 これを行うには、コンソール ツリーで新しい 存続可能ブランチ アプライアンスを右クリックし、[ トポロジ] をクリックして、[ 発行] をクリックします。
プール C に関連付けられた SBA X ごとに、
存続可能ブランチ アプライアンスで次のコマンドレットを実行して、SBA X を起動します。
Start-CsWindowsService
最初に SBA X に所属していたユーザーをプール C から SBA X に移動するには、次のコマンドレットを実行します。
Import-Csv d:\sbaxusers.txt | Move-CsUser -Target <SBA X FQDN> -Force