Moving a dual server instance to new hardware |
|
Author |
Message |
pflangan
|
Posted: 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
|
Posted: 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
|
Posted: 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
|
Posted: 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
|
Posted: 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
|
Posted: 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
|
Posted: Team Foundation Server - General, Moving a dual server instance to new hardware |
Top |
|
|
|
James Manning - MSFT
|
Posted: 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
|
Posted: 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
|
Posted: 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 )
--Rune
|
|
|
|
|
Thomas Edstrom
|
Posted: 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
|
Posted: 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
|
Posted: 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
|
|
|
|
|
|
|