TFS 2008 Failover & WSS 3.0

I have been researching the WSS 3.0 scenario in TFS 2008 Failover Configuration & this is what I have:

 

#1. As per the TFS 2008 install guide , WSS 3.0 is supported in a TFS Failover Configuration only if it is installed on a separate box other than the application tier(s). Coming straight from the TFS Install Guide:

 

Checklist: Configure a Standby Server for the Application Tier

This checklist outlines the general steps for configuring a standby server for the application tier. To follow this list, you must have the following physical architecture:

· A data-tier server on which a supported version of SQL Server is installed and running.

· A server other than the application-tier server on which SharePoint Products and Technologies is installed and running.

· An application-tier server on which Visual Studio Team System Team Foundation Server is installed and running. If you are using Service Pack 1 (SP1) for Team Foundation Server on the primary application tier, you must also use it on the standby application tier.

· A server that meets the hardware and software requirements for the standby application tier.

You should print this checklist and mark each step as you complete it.

Also look at this blog where Ed Holloway has stated the same:

https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3900791&SiteID=1

 

Snippet from the blog post(response by Ed):

Our general guidance, and supported setup for warm-standby is that SharePoint should be run on a box other than the AT.

For more information please see the section "Checklist: Configure a Standby Server for the Application Tier" in the TFS Install Guide, available here - I've also pasted a subset of the details below.

This is the official information for customers doing failover AT setup & after going through section 2 of this email, I think it’s a much simpler investment but with additional cost of dedicating a server.

 

#2. Having said that what I have still investigated the possibility where a customer may not want to dedicate WSS 3.0 on a separate box, but want to deploy WSS 3.0 on both the primary AT & secondary AT boxes & “involve it” in the failover terminology.

 

First a little bit background work to understand before we go forward. When you install TFS 2008 on the WSS 3.0 box, TFS 2008 installation detects that an existing primary AT exists on a different box & prompts you to install TFS 2008 on the new AT as a standby. In doing so it does not prompt us for the WSS 3.0 location. This happens because I believe the installer was designed to believe that a WSS 3.0 deployment is on a different dedicated box other than the primary AT & that things are already set up in the right way for the failover configuration. TFS installation just skips any sharepoint deal.

 

Now proposed solutions that customers can go with if they want WSS 3.0 deployment to happen on both the Primary & Secondary ATs would be:

 

A. Install WSS 3.0 on the Standby AT a new server farm with its own config & admincontent db. Extend the default web site on the standby App Tier with a temporary content database. At the time when a failover needs to occur & the primary AT is not available. They can attach the content db of the WSS 3.0 deployment on the primary AT as the content db of the default web site on the secondary AT.

B. Install WSS 3.0 on the Standby AT as a new server in the existing server farm created by the WSS 3.0 deployment on the primary AT. This configuration will not create a new config & admincontent db. The WSS 3.0 deployment on the primary & standby AT will share the same Config & AdminContent dbs. The catch here is that once the standby AT becomes a server in an existing farm shared with the primary AT, you won’t be able to extend the default web site on it. When the need comes to failover to the WSS 3.0 instance on the standby AT (with the WSS 3.0 on primary no longer available), you would have to unextend the default web site of the primary AT through the central admin site on the secondary AT without deleting the content database. Then use the central admin site (or use the script that I am going to offer J) on the secondary AT to extend the default web site with a temporary content db on the secondary AT & attach the content database containing your site collection to this new web application.

 

The second solution although little bit complicated results in a lesser number of db’s required.

 

 

Also, I have created a scripts(basically batches)(look at the bottom) to:

1. Run Products & Technologies Wizard on a Primary AT box & to extend default web site with WSS 3.0. The batch is called PCWPrimary.bat.removeme. You can use this guy for a manual scripted configuration of WSS 3.0 irrespective of failover setups. This I assume should be quite handy.

2. Script to join the WSS 3.0 deployment on the Secondary AT box to the server farm created by Primary AT box.

3. The unextension of the default web site on the primary AT when its down through the secondary AT must be done through the Central Admin Site on the Secondary AT. The reason is WSS 3.0 does not provides the command line interface to completely remove a web application from a physical site.

 

 

 

======================= 

PCWPrimary.bat.removeme

=======================

@echo off

Rem Set ServerName to the SQL Server Instance
Set ServerName=SQLWSSTFS

Rem Do not Change this
Set ConfigDBName=WSS_Config

Rem Set SetupAccount to the TFS Setup Account
Set SetupAccount=DSV\Administrator

Rem Set Serviceaccount to the TFS Service Account
Set ServiceAccount=DSV\TFSService

Rem Set ServicePassword to the password of the TFSService Account
Set ServicePassword=P@ssw0rd

Rem Do not change this
Set AdminDBName=WSS_AdminContent

Rem Set WSSDIRPATH to the bin folder in the install location of WSS 3.0
Set WSSDIRPATH="C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN"

Rem Set WSS Admin's email
Set AdminEmail=user@domain.com

Rem Do not Change this
Set ContentDBName=WSS_Content

 

@echo on

@Echo ---- Dumping the PCW log at c:\PCWPrimary.txt ----

@echo off

Pause

CLS

cd %WSSDIRPATH%

Cls

@echo on

Rem Run Psconfig to create config & admincontent dbs & to provision the Central Admin Site

psconfig -cmd configdb -create -server %ServerName% -database %ConfigDBName% -user %ServiceAccount% -password %ServicePassword% -admincontentdatabase %AdminDBName% -cmd helpcollections -installall -cmd secureresources -cmd installfeatures -cmd adminvs -provision -port 17012 -windowsauthprovider onlyusentlm -cmd applicationcontent -install > "c:\PCWPrimary.txt"

 

Rem Extend the default web site

STSADM.EXE -o extendvs -url https://%ServerName%:80 -ownerlogin %SetupAccount% -owneremail %AdminEmail% -exclusivelyusentlm -databaseserver %ServerName% -databasename %ContentDBName% -donotcreatesite -description "Default Web Site"

IISReset

Rem Create the root site collection

stsadm -o createsite -url https://%ServerName% -ownerlogin %SetupAccount% -owneremail %AdminEmail% -sitetemplate STS

@echo All Operations completed succesfully..

@echo Please check C:\PCWPrimary.txt for details..

============================

PCWSecondary.bat.removeme

============================

@echo off

Rem Set ServerName to the SQL Server Instance
Set ServerName=SQLWSSTFS

Rem Do not Change this
Set ConfigDBName=WSS_Config

Rem Set Serviceaccount to the TFS Service Account
Set ServiceAccount=DSV\TFSService

Rem Set ServicePassword to the password of the TFSService Account
Set ServicePassword=P@ssw0rd

Rem Do not change this
Set AdminDBName=WSS_AdminContent

Rem Set WSSDIRPATH to the bin folder in the install location of WSS 3.0
Set WSSDIRPATH="C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN"

@echo on

@Echo ---- Dumping the PCW log at c:\PCWSecondary.txt ----

@echo off

Pause

CLS

cd %WSSDIRPATH%

Cls

@echo on

psconfig -cmd configdb -connect -server %ServerName% -database %ConfigDBName% -user %ServiceAccount% -password %ServicePassword% -cmd helpcollections -installall -cmd secureresources -cmd installfeatures -cmd adminvs -provision -port 17012 -windowsauthprovider onlyusentlm -cmd applicationcontent -install > "c:\PCWSecondary.txt"

@echo All Operations completed succesfully..

@echo Please check C:\PCWSecondary.txt for details..