Team Foundation Server の移動または複製 (ハードウェアの移動)

Team Foundation Server (TFS) ソフトウェアの配置を移動または複製できます。 TFS を新しいハードウェアに復元して、TFS をマシン間で移動します (復元ベースの移動と呼ばれます)。 たとえば、TFS をより容量が大きいまたは処理速度の速いサーバーに移動したいと考える場合があります。TFS が現在実行されているハードウェアの信頼性に懸念がある場合もあります。 TFS を新しいサーバーに移動することで、プロジェクトのいずれの履歴も失うことなく、TFS が実行されているハードウェアを変更できます。

TFS 配置を複製するには、移動と同じ手順に加えて、いくらか追加の作業を実行します。 ハードウェアと TFS の元の配置の使用を中止する予定の場合に移動を実行します。 元の TFS インスタンスを移動後に引き続き使用する予定の場合には複製を実行します。

重要

状況によっては、そのハードウェアだけでなく TFS 配置のドメインも変更したいと考える場合があります。 ドメインの変更は環境ベースの移動であり、これら 2 種類の移動を組み合わせないでください。 まずハードウェアの移動を完了してから、環境を変更します。

TFS を移動または複製するには、次の手順を実行します。

  1. アクセス許可を確認する

  2. データベースをバックアップしてソフトウェアをインストールする

    1. データベースと暗号化キーをバックアップする

    2. 新しいデータ層サーバーに SQL Server をインストールして構成する

    3. 新しいアプリケーション層サーバーにソフトウェアをインストールして構成する

  3. TFS データベースを新しいハードウェアに復元する

    1. TFS データベースを復元する

    2. コンテンツ データベースの新しい場所に SharePoint 製品をリダイレクトする

    3. (複製オプション) サーバー ID を再構成してデータベースを再マップする

  4. 新しいアプリケーション層サーバーの構成を更新する

    1. 新しいアプリケーション層を構成する

    2. Team Foundation Server の URL を更新する

    3. すべてのサービス アカウントを更新する

    4. ビルド サーバーを更新する

    5. TFS で SharePoint Web アプリケーションを構成する

    6. Reporting Services と SQL Server Analysis Services の構成

  5. アクセス許可を検証し、ユーザーに通知し、バックアップを構成する

    1. ユーザー、グループ、チーム、およびサービス アカウントのアクセス許可を確認する

    2. クライアント コンピューターのキャッシュを更新する

    3. ユーザーに通知する

    4. バックアップを構成する

1.アクセス許可を確認する

以前のハードウェアと新しいハードウェアの両方の管理者であることが必要です。 さらに、TFS および TFS 配置が依存するすべてのソフトウェアの管理者である (または同等のアクセス許可がある) ことが必要です。たとえば、SQL Server、レポート機能、SharePoint 製品などのソフトウェアです (配置でレポート機能または SharePoint を使用する場合)。Project Server など TFS 配置と相互運用されるソフトウェアもその一例です。

  • 次のグループのメンバーであることを確認します。

    • サーバー: Administrators (ローカル Administrators グループまたはその同等のグループ)

    • TFS: Team Foundation Administrators および Admin Console Users

    • SQL Server: sysadmin

    • SharePoint 製品: Farm Administrators (TFS 配置が SharePoint 製品と統合されている場合)

これらのいずれのグループのメンバーでない場合は、必要なアクセス許可をすぐに取得します。

2.バックアップしてインストールする

最初に TFS データベースをバックアップし、その後に新しいハードウェアにソフトウェアをインストールします。

2-a.データベースと SQL Server Reporting Services の暗号化キーをバックアップする

  1. TFS の管理コンソールを開き、[スケジュールされたバックアップ] ページで完全バックアップを実行します。 これにより、バックアップ計画でバックアップ対象として構成したすべてのデータがバックアップされますが、このバックアップはすぐに実行されます。バックアップ計画でスケジュールした時間には従いません。 配置でレポート機能を使用している場合は、このバックアップ セットの一部として暗号化キーをバックアップできます。

    ジョブが完了したらウィンドウを閉じることができる

    (バックアップを構成していない場合は、バックアップ計画を作成してから、完全バックアップを実行できるようになります)

  2. バックアップが完了したら、そのバックアップがストレージ デバイスまたはネットワーク共有で使用できること、新しいハードウェアからアクセスできることを確認します。

2-b.新しいデータ層サーバーに SQL Server をインストールして構成する

  • 新しいサーバーに SQL Server をインストールし、それが動作することを確認します。 以前の配置でレポート機能を使用していた場合は、レポート機能と分析サービスのコンポーネントがインストールされていることも確認します。 以前に使用していた同じバージョンとエディション (サービス パックと累積的な更新プログラムを含む) をインストールする必要があります。

    SQL Server 2008 R2 のインストール - 機能

    別の方法として、一致するバージョンが既にインストールされているサーバーに SQL Server のインスタンスを作成し、そのインスタンスに TFS のデータベースを復元できますが、その復元後に追加の設定が必要になります。

    SQL Server のインストールと構成のオプションの詳細については、こちらを参照してください。

    SQL Server のインストール後、配置でレポート機能を使用している場合は、SQL Server Management Studio を開き、ReportServer および ReportServerTempDB データベースをデタッチします。 この操作を実行しないと、TFS データベース用に作成したバックアップを使用してこれらのデータベースを復元できない場合があります。

    既存のデータベースを復元前にデタッチする必要がある

2-c.新しいアプリケーション層サーバーにソフトウェアをインストールして構成する

新しいサーバーを TFS 用に構成するには、TFS のサポートに必要なソフトウェアをまずインストールして構成する必要があります。 このソフトウェアには、次のコンポーネントが組み込まれています。

  • 配置構成でサポートされているオペレーティング システム

  • SharePoint 製品のサポートされているバージョン (配置が SharePoint 製品 と統合されており、その移動先が TFS と同じサーバーである場合)

注意

TFS の新しい配置のインストールと異なり、新しいサーバーへの移動では、標準の単一サーバーの一部として SharePoint 製品 をインストールしたり、詳細オプションをインストールしたりすることはできません。 以前の配置で使用していた SharePoint 製品 の同じバージョンとエディションを手動でインストールするか、SharePoint 製品のバージョンとエディションのガイダンスに従ってその配置を新しいハードウェアに個別に移動します。

新しい環境で Windows、IIS (既定で構成されていない場合)、および SharePoint (使用する場合) をインストールして構成し、サーバーとそのソフトウェアが正常に動作していることを確認します。

詳細については、「System Requirements for Team Foundation Server (Team Foundation Server のシステム要件)」および「TFS 用に SharePoint を新しいハードウェアに移動」を参照してください。

3.TFS データベースを新しいハードウェアに復元する

復元ツールを使用して TFS データベースを復元するには、新しいデータ層サーバーへの TFS のインストールのみ行って、構成は行わないでください。インストール後に、スケジュールされたバックアップ ノードで復元機能を使用します。

SQL Server の復元ツールを使用して TFS データベースを手動で復元する場合、その操作は可能ですが、手順はより難しくなります。 さらに、新しい配置でデータベースの休止状態を手動で終了することが必要になります。 TFS の復元ウィザードでは、この操作は復元プロセスの一部として自動的に実行されますが、その機能は SQL Server の復元ツールのものではありません。

TFS 用に SharePoint を新しいハードウェアに移動」の手順を使用して SharePoint Foundation 2013 をインストールし、そのサーバーを TFS のサーバーとして使用する予定の場合は、TFS と管理コンソールはサーバーにインストール済みということになり、この次の手順での最初の 2 つの操作はスキップできます。

3-a.TFS データベースを復元する

  1. TFS インストール メディアを起動します。 [Team Foundation Server セットアップ] ページで、[インストール] をクリックします。

  2. インストールが完了すると、Team Foundation Server 構成センターが開きます。 この画面は閉じます。

    管理コンソールは自動的に非構成の状態で開きます。 これは想定されている動作です。

  3. 復元ウィザードを起動するには、TFS の管理コンソールを開き、[スケジュールされたバックアップ] を開きます。

    復元ウィザードを開始

  4. バックアップ セットへのパスを指定し、以前の配置の休止後に作成したセットを選択します。

    ネットワーク パスを選択し、復元を設定します

  5. ウィザードが完了し、データベースが SQL Server の新しいインスタンスに復元されます。

    データベースは新しいサーバーに復元されます

3-b.コンテンツ データベースの新しい場所に SharePoint 製品をリダイレクトする

配置で SharePoint 製品 を使用している場合は、前に説明したように、「TFS 用に SharePoint を新しいハードウェアに移動」の手順に従って SharePoint 製品 の同じバージョンとエディションはインストール済みです。 以前の配置のコンテンツ データベース (WSS_Content) を復元セットの一部として新しいサーバーに復元したら、SharePoint 製品 を実行しているサーバーをこのデータベースの新しい場所にリダイレクトする必要があります。 このデータベースが動作できる状態でなければ、Team Foundation Server にそのデータベースの新しい場所を再構成することはできません。

  1. SharePoint Foundation を実行している新しいハードウェアで、管理者としてコマンド プロンプトを開きます。

  2. Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\bin ディレクトリに移動し、次のパラメーターを付けて stsadm.exe を実行します。ここで、SharePointFoundationServerName は SharePoint Foundation 2013 をインストールしたサーバーの名前です。SQLServerName は WSS_Content データベースを TFS データベースの復元セットの一部として復元したサーバーの名前です。

    stsadm.exe –o addcontentdb –url http://SharePointFoundationServerName/sites -databasename WSS_Content -databaseserver SQLServerName
    
  3. そのコマンドが正常に完了した後、次のコマンドを入力します。ここで、Domain\UserName は TFS 用に SharePoint Foundation 2013 をインストールして構成するために使用したアカウントです。

    stsadm.exe -o addpermissionpolicy -url http://SharePointFoundationServerName -userlogin Domain\UserName -permissionlevel "full control"
    

3-c.(複製オプション) サーバー ID を再構成してデータベースを再マップする

元の TFS インスタンスを引き続き使用する予定の場合には、新しいアプリケーション層サーバーで以下の一連の手順を実行してください。 これらの手順は、一方または両方の配置が破損するリスクを回避するために必要です。 両方のサーバーが有効な場合、特に同じ SharePoint またはレポートのリソースを指し示してしている場合は、破損が発生する可能性があります。

  1. 管理者としてコマンド プロンプト ウィンドウを開き、ドライブ:\%programfiles%\Microsoft Team Foundation Server 12.0\Tools ディレクトリに移動します。 コマンド プロンプト ウィンドウを開き、次のように入力します。

  2. TFSConfig PrepareClone コマンドを実行して、スケジュールされたバックアップ、SharePoint、およびレポート リソースについての情報を削除します。

    TFSConfig PrepareClone /SQLInstance:ServerName /DatabaseName:DatabaseName /notificationURL: ApplicationTierURL

  3. TFSConfig ChangeServerID コマンドを実行し、データベースに関連付けられているサーバー GUID を変更します。 GUID は、TFS 配置内で一意である必要があります。

    TFSConfig ChangeServerID /SQLInstance:ServerName] /DatabaseName:ConfigurationDatabaseName [/ProjectCollectionsOnly] [/ConfigDBOnly] [/usesqlalwayson]

  4. TFSConfig RemapDBs コマンドを実行し、複製された TFS をそのデータベースにリダイレクトします。

    TFSConfig RemapDBs /DatabaseName:ServerName;DatabaseName /SQLInstances:ServerName1,ServerName2 [/AnalysisInstance:ServerName] [/AnalysisDatabaseName:DatabaseName] [/preview] [/continue] [/usesqlalwayson]

4.新しいアプリケーション層サーバーの構成を更新する

新しいアプリケーション層サーバーで以下の手順を実行します。

4-a.新しいアプリケーション層サーバーを構成する

  1. TFS の管理コンソールから [インストール済みフィーチャーの構成] をクリックして構成センターを起動します。

  2. アプリケーション層専用ウィザードを起動します。[データベース] で、TFS データベースを復元した SQL Server の新しいインスタンスを指定します。 一覧から Tfs_Configuration データベースを選択します。

    SQL Server とデータベースのバックアップ セットを選択する

  3. ウィザードの最後のページを閉じる前に、"i" という記号が付いた情報を確認します。 これらは今後の参考になる可能性がある情報です。 最後のページには構成ログの場所も表示されます。

    問題点およびログ ファイルの場所に注意する

4-b.TFS URL を更新する

  1. アプリケーション層ノードに移動し、通知 と Team Web Access の URL を確認します。 それらの URL がまだ以前の配置の場所を参照していることに注意してください。 それらの URL を更新します。

    通知と Web URL の情報が古くなっている

  2. URL を新しいサーバーの名前で更新した後、その情報が正しいことを確認します。

    サーバーの URL として localhost が使用されている

4-c.すべてのサービス アカウントを更新する

TFS サービス アカウント (TFSService) およびデータ ソース アカウント (TFSReports) を更新する必要があります。 これらのアカウントが変更されていない場合でも、アカウントの ID と形式が確実に新しいサーバーに適した ID と形式になるように、情報を更新する必要があります。

  1. 管理者としてコマンド プロンプト ウィンドウを開き、ドライブ:\%programfiles%\Microsoft Team Foundation Server 12.0\Tools ディレクトリに移動します。

  2. コマンド プロンプトに次のコマンドを入力して、Team Foundation のサービス アカウントを追加します。DatabaseName は構成データベースの名前 (既定では TFS_Configuration) です。

    TfsConfig Accounts /add /AccountType:ApplicationTier /account:AccountName /SQLInstance:ServerName /DatabaseName:DatabaseName

  3. データ ソース アカウントを追加するには、コマンド プロンプトで次のコマンドを入力します。

    TfsConfig Accounts /add /AccountType:ReportingDataSource /account:AccountName /SQLInstance:ServerName /DatabaseName:DatabaseName

    詳細については、「Accounts コマンド」を参照してください。

4-d.ビルド サーバーを更新する

この時点で、移動した TFS 配置を参照するようにビルド サーバーをリダイレクトすることが必要になります。

  1. 各ビルド サーバーで、管理コンソールを開き、ビルド サービスを停止します。

  2. ビルド サービスのプロパティで、通信のプロパティを更新します。

    サービスを停止して変更を行う

4-d.SharePoint Web アプリケーションを構成する

配置で SharePoint 製品を使用しており、TFS の移動プロセスの一部として SharePoint Foundation 2013 を移動した場合は、新しい Web アプリケーションへの TFS のリダイレクトが必要になることがあります。 それ以外の場合でも、接続の修復は適切なパフォーマンスを確保するために役立ちます。

配置で SharePoint 製品を使用していないか、以前の SharePoint サーバーを使用し続ける場合は、次に示す手順をスキップできます。

  • 管理コンソールを開き、[SharePoint Web アプリケーション] に移動します。 Web アプリケーションがまだ以前のサイトを参照している場合、または新しい配置で一覧にない Web アプリケーションを使用している場合は、[変更] をクリックし、設定を更新します。

    TFS が古いアプリケーションにリダイレクトされる設定になっている

    表示されている情報が正しい場合、または情報を修正した後、[接続の修復] をクリックします。 この手順は、確実にすべてのアプリケーションが適切に機能するために役立ちます。

4-e.Reporting Services と Analysis Services の構成

配置にレポート サーバーを使用している場合は、その場所に Team Foundation Server をリダイレクトし、ウェアハウスを再起動して、Analysis Services のデータベースを手動でリビルドする必要があります。 レポート機能を使用していない場合は、次に示す手順はスキップします。

  1. レポート ノードに移動します。 表示されているレポート サーバーの値は、以前の値であって新しい値でないため、編集します。

    レポートが古いサーバーを指している

  2. 新しいサーバーを参照するように 3 つのすべてのタブの値を変更します。 新しい配置でのデータ ソース アカウントについて指定した情報が正しいことを確認します。

    3 つのタブすべてで情報が正しいことを確認する

  3. [ジョブの開始] をクリックしてレポート機能を再起動します。

  4. [リビルドの開始] をクリックしてウェアハウスをリビルドします。

5.アクセス許可を検証し、ユーザーに通知し、バックアップを構成する

新しいハードウェアに移動したら、配置のすべてのユーザー、グループ、およびサービス アカウントが、各サーバーでこれらが正常に機能するために必要なアクセス許可を持つように構成されていることを確認します。 一部のアクセス許可 (SQL Server やローカル コンピューターに対する追加のアクセス許可など) は自動的に移行することはできません。 たとえば、Team Foundation の管理者が管理コンソールを開くには、アプリケーション層サーバーでローカルな Administrators グループのメンバーである必要があり、Administrators グループに手動で管理者を追加する必要があります。

5-a.ユーザー、グループ、およびサービス アカウントのアクセス許可の検証

  • サーバーにログオンし、ユーザー、グループ、およびサービス アカウントが操作に必要なアクセス許可を持つように構成されていることを確認します。 プロジェクト グループやチームのメンバーシップを手動でスポットチェックし、それらのグループやチームに必要となるアクセス許可があることを確認します。

  • チーム プロジェクト コレクションを参照し、そのコレクション内のすべてのプロジェクトが想定どおりに表示されること、それらのプロジェクト内の各ユーザーが適切にそれぞれの作業項目にアクセスできることを確認します。

  • Team Web Access を開き、チーム サイトとチームが想定どおりに表示されることを確認します。

想定されるグループとアクセス許可がわからない場合、 詳細については、「チーム プロジェクトへのユーザーの追加」、「チーム プロジェクト コレクションの管理アクセス許可の設定」、「Team Foundation Server の管理アクセス許可の設定」、および「Team Foundation Server におけるサービス アカウントと依存関係」を参照してください。

5-b.クライアント コンピューターのデータ キャッシュを更新する

5-c.ユーザーに通知する

TFS の移動が完了した時点で、移動した配置に接続する方法をユーザーに通知する必要があります。 具体的には、ユーザーに次の情報を提供する必要があります。

  • プロジェクトに再接続するための新しいサーバーの名前と Team Web Access の URL。

  • 配置でレポート機能を使用している場合は、レポート機能の新しいデータベース名。

  • 配置で SharePoint を使用している場合は、SharePoint の新しい URL。

  • ユーザーが Git リポジトリを使用するチーム プロジェクトのメンバーである場合は、そのプロジェクトのリポジトリごとにローカルにある各クローンの更新方法。 具体的には、各クローンに対して次のコマンドを実行する必要があります。

    git remote set-url <remote name> <new URL>
    

    ユーザーは [エクスプローラー] タブからチーム プロジェクトを参照することで、各クローンの URL を確認できます。

    URL をコピーしてリポジトリを手動で複製

    Git の詳細については、こちらを参照してください。

5-d.新しい TFS インスタンスでバックアップを構成する

管理コンソールで、[スケジュールされたバックアップ] ノードに移動し、スケジュールされたバックアップを再構成して、新しいサーバー上の TFS データベースがバックアップされるようにします。

詳細については、「バックアップ スケジュールおよび計画の構成」を参照してください。

Q & A

Q: 物理サーバーではなくドメインを変更したいと考えています。可能でしょうか。

A: できます。 それは環境ベースの移動と呼ばれています。手順については、こちらを参照してください。 環境ベースの移動をハードウェア ベースの移動と組み合わせないでください。 まずハードウェアの移動を完了してから、環境を変更します。

Q: ハードウェアの移動後に、Project Server に統合するためにはどのような手順が必要ですか。

A: はい。ハードウェアの移動完了後、TFSAdmin ProjectServer /RegisterPWA コマンドを /tfs/force/pwa オプション付きで使用して、TFS を Project Server に再登録することが必要になります。 TFS と Project Server の統合の詳細については、こちらを参照してください。