Moving a dual server instance to new hardware  
Author Message
pflangan





PostPosted: Team Foundation Server - General, Moving a dual server instance to new hardware Top

I'm in the middle of moving a dual server instance of tfs to a couple of test machines. We've successfully installed the tfs dual server setup to the app and data tiers, and restored the databases from the live instance to the test setup.

I'm just in the final stages of the move and am hesitant to run the tfsadminutil activateat command because of the prompt i receive.

It asks me to make sure the old app tier has stopped the tfs service before running the command.

My question is this.

By running the command on the new server, will it in any way affect the old instance.

The reasons; I have a live instance running on 2 machines, and I want to do some testing in a staging environment, so I need to live instance to be available after I do the move.

In essence I'm not moving an instance of tfs, I'm cloning it.




Visual Studio Team System29  
 
 
Dan Kershaw





PostPosted: Team Foundation Server - General, Moving a dual server instance to new hardware Top

Sorry for the delayed response. You are correct to be nervous!

Please make sure to follow the instructions on how to move a TFS instance to new hardware in the following help doc: http://msdn2.microsoft.com/en-us/library/ms404869.aspx

Make sure that you run TfsAdminUtil RenameDT (as described in the help docs) BEFORE running ActivateAT, so that your AT is correctly pointing at the cloned DT machine (after having restored the DBs). This *should* prevent any damage occuring on your old instance.

There may be another issue with this, that I need to check. Can you hold off for another day please

Thanks,



 
 
Dan Kershaw





PostPosted: Team Foundation Server - General, Moving a dual server instance to new hardware Top

Sorry for the delayed response.

I have one important question. Are the client machines that are connecting to the cloned server, ONLY connecting to the cloned server, and never to the production server, for the lifetime of the client machine If so, then this is safe. If not, then it *could* be possible for the client to appear to be connected to the cloned machine, when in fact it's connected to the production machine under the covers. This is because the client cache uses a machine instance ID from the server. Because you've "cloned" the production machine, there will now be 2 server machines with the same machine instance ID. Unfortunately our move instructions are for moving, rather than cloning, and we have no easy way to "restamp" the machine instance ID (stamping the ID happens at installation time only). However I will double check.

Thanks,



 
 
Dan Kershaw





PostPosted: Team Foundation Server - General, Moving a dual server instance to new hardware Top

I double checked with one of our devs and there is a way to "restamp" the cloned machine using a shipping command-line tool called InstanceInfo.exe (which can be found under the TFS install directory in the Tools folder on the Application Tier machine - along with the other server command line tools, like TFsAdminUtil). You should restamp the server after following the other "move" steps.

After making this change it should be safe to connect a client to both the original server and the cloned server. Here are the instructions (please replace the variables with your own settings).

Rem Clear the instance info

“%TFSInstallDir%\Tools\InstanceInfo.exe" stamp /setup /install /rollback /d TFSWorkItemTracking,TFSBuild,TFSVersionControl,TFSIntegration /s %DATATIER%

Rem re-stamp it with a new instance id

"% TFSInstallDir %\Tools\InstanceInfo.exe" stamp /d TFSWorkItemTracking,TFSBuild,TFSVersionControl,TFSIntegration /s %DATATIER%

Please let us know how this works.



 
 
pflangan





PostPosted: Team Foundation Server - General, Moving a dual server instance to new hardware Top

Thanks for the answer. We've successfully created our staging instance, with some hiccups, but nothing major.

Although we were pretty confident that the procedure would work, we actually disconnected the live machines from the network while we performed the steps.

just to comment on the above script, the second command should refere to the %NEWDATATIER% shouldn't it






 
 
James Manning - MSFT





PostPosted: Team Foundation Server - General, Moving a dual server instance to new hardware Top

Correct - Dan's steps are to be run on the "new" AT and pointing at the "new" DT - it will change the identifying info on the new (cloned from original) server so it will be different than the original server.

The original server's identifying information should be left as-is - there's no reason to change it.



 
 
msbuilddude





PostPosted: Team Foundation Server - General, Moving a dual server instance to new hardware Top

Hi James,

Just a suggestion. You should add a note about InstanceInfo.exe into the restore documentation (or create a restore doc specifically for making a new tfs server using copy of existing tfs server) - this would have saved us a lot of weird problems! (as well as others it looks like: http://www.holliday.com.au/blog/tfs-instanceid-servermapxml-and-how-to-cause-havoc.html)

-Mitch W


 
 
James Manning - MSFT





PostPosted: Team Foundation Server - General, Moving a dual server instance to new hardware Top

One of the problems is that "make a copy" like this isn't a supported scenario, so documenting it as such is a bad idea.

We'd much rather people create a second instance as a fresh install. I'll see if we can revisit the "clone" scenario to see if we're going to support it in a future release, but for V1 we'd much rather people not do this, even if it happened to work.



 
 
msbuilddude





PostPosted: Team Foundation Server - General, Moving a dual server instance to new hardware Top

I here you James.

We took a ghost image of the freshly built TFS server to fall back to (before the restore process), but we had a need to run some tests on the original data and needed the test environment to be an exact copy of the prod tfs server.

We ran those tests and have since ghosted back to the "fresh" TFS server.


 
 
Rune Gulbrandsen





PostPosted: Team Foundation Server - General, Moving a dual server instance to new hardware Top

Sorry for bringing up an old post, but I have a curios question about this problem.

In our company we had our production TFS installed on one computer, but moved it to a another computer. But we kept the old one as a testserver. We did not change the instanceid as this post states.

But... In this environment it works perfectly for on some clients to run dual servers, but for other clients it didn't work at all. Why's this Shouldn't this be the same for all After some digging trough the files in the cache folder I discovered that the new server config in ServerMap had a different ID than the one configured on the server. This should not happend

Anyway, I have fixed this problem now, so it should not cause any problems anymore (hopefully Wink )

--Rune


 
 
Thomas Edstrom





PostPosted: Team Foundation Server - General, Moving a dual server instance to new hardware Top

Hello!

We have run these 2 commands:

“%TFSInstallDir%\Tools\InstanceInfo.exe" stamp /setup /install /rollback /d TFSWorkItemTracking,TFSBuild,TFSVersionControl,TFSIntegration /s %DATATIER%

"% TFSInstallDir %\Tools\InstanceInfo.exe" stamp /d TFSWorkItemTracking,TFSBuild,TFSVersionControl,TFSIntegration /s %DATATIER%

Works just fine!

But browsing this on the Server (single tier)
http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx

...gives us the following error:
TF10216: Team Foundation services are currently unavailable. Try again later. If the problem persists, contact your Team Foundation Server administrator.



The eventlog tells us more:

TF53010: The following error has occurred in a Team Foundation component or extension:

Application Domain: /LM/W3SVC/3/Root/Warehouse-1003-128456393223055685

Assembly: Microsoft.TeamFoundation.Warehouse, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727

Detailed Message: TF30046: The instance information does not match. Team Foundation expected 3eeb4cd0-4cf6-485b-9d7c-6deb954d6582 but found c3ee6106-7b7a-4089-8896-77bacc302b3d.


So, the question is.... does the above scripts missing the TFSWarehouse database
So the correct one would be the following


“%TFSInstallDir%\Tools\InstanceInfo.exe" stamp /setup /install /rollback /d TFSWorkItemTracking,TFSBuild,TFSVersionControl,TFSIntegration,TFSWarehouse /s %DATATIER%

"% TFSInstallDir %\Tools\InstanceInfo.exe" stamp /d TFSWorkItemTracking,TFSBuild,TFSVersionControl,TFSIntegration,TFSWarehouse /s %DATATIER%



 
 
Patricio.afernandes





PostPosted: Team Foundation Server - General, Moving a dual server instance to new hardware Top

Guys, I had the same problem moving our TFS Server to another hardware configuration.

I lost about 1 day until I discovered this post, so please, document this tool and the above command lines, this is very important.

Thanks.


 
 
Gabriel Lozano-Moran





PostPosted: Team Foundation Server - General, Moving a dual server instance to new hardware Top

We are having the same issue as Thomas. In the Event log we get:

Event Type: Error
Event Source: TFS Warehouse
Event Category: None
Event ID: 3019
Date: 4/02/2008
Time: 15:05:13
User: N/A
Computer: TFS2008
Description:
TF53010: The following error has occurred in a Team Foundation component or extension:
Date (UTC): 4/02/2008 14:05:13
Machine: TFS2008
Application Domain: /LM/W3SVC/1460131769/Root/Warehouse-16-128466075103153324
Assembly: Microsoft.TeamFoundation.Warehouse, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727
Process Details:
Process Name: w3wp
Process Id: 3376
Thread Id: 2384
Account name: DOMAIN\TFSSERVICE

Detailed Message: TF30046: The instance information does not match. Team Foundation expected 181223da-cd58-4641-9748-8451deba853f but found 9b58f5b9-4ace-4e42-882e-85f01d143cca. Please contact your Team Foundation Server administrator.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Can you guys please verify that the the parameter list for InstanceInfo.exe is complete Should we add the TfsWarehouse database