複数サーバでのTFS構築(1)

今回も検証ネタです。
「1台のSQL Serverに複数のTFSが接続できるか?」という話があったので確認してみようとしたのですが、ちょっと引っかかるとことがあったのでメモ代わりに残そうかと。
(今回はTFS2010で確認しましたが、おそらくTFS2012でも同じだと思われます)

TFSの構築パターンとしては
 ・基本
 ・標準の単一サーバ
 ・詳細
 ・アプリケーション層のみ
の4種類になりますが、複数サーバ構成ができるのは
 ・詳細
 ・アプリケーション層のみ
の2種類になります。

結論としては、TFSの高可用性のためアプリケーション層を複数サーバに構築すること(Team Foundation Serverファームの作成)は可能ですが、<del>SQL Serverをケチって</del>SQL Serverの台数を最小化するために、構築済みのTFS用SQL Serverを流用することはできないということになります。

具体的には、「とある部署でTFSが構築済みで、コレクション名としてDefaultCollectionを使用しているが、別部署でTFSを使用することになった。」といったときに
○高負荷が予想されるので、サーバを分離したい。コレクション名はDefaultCollectionでなくてもいい。
 →アプリケーション層サーバの追加でOK
○コレクション名をDefaultCollectionで使いたいし、SQL Serverは共用するけど完全に独立して運用したい
 →「詳細」パターンでのセットアップ→NG
となるということです。
(個人的にですが、部署単位で運用を分離したい場合、コレクション単位で部門ユーザを設定し、ビルドサーバは別々に構築するのがいいかなと思います)

あと、複数サーバで構築する際の大前提として、「TFSのサービスアカウントがドメインアカウントで実行されている」というのがありますので、ワークグループ環境では構築できません。

MSDN内に複数サーバでのTFS構築に関する資料がありますので、詳細はそちらで確認してみてください。
(「シナリオ : 既存のインフラストラクチャまたは複数のサーバーを使用した Team Foundation Server のインストール」)

参考程度ですが、NGパターンで構築した場合にどうなるかです。
2台目のサーバにTFSをインストールし、構成ウィザードを「詳細」で進めます。
データベースは1台目に構築済みのものを使用しますので、「SQL Server インスタンス」には1台目のサーバ名を入力します。

005

その後の設定は、プロジェクトの要望に合わせて適用に設定します。
こんな感じで最後の構成チェックまで進められますが、チェックでエラーになってしまいます。

006

エラーメッセージを見ると、データベース「Tfs_Configuration」が作成できないとでています。
このデータベースはコレクション別ではないので、どうしようもありません。

次は、OKパターン(アプリケーション層の追加)の構築概要についてです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください