|
Sloan Digital Sky Survey
|
|
How to deploy to the cluster
|
Deploying to the cluster
You need the correct privs to do this.
The website files
Make sure the current version of the site you want is on test and working. Preferable checked out of cvs using a tag.
Log on SkyDev and open a cmd prompt to c:\deploy. This is the staging area for deployment.
cd to the app or site you wish to deploy e.g.
cd voservices\net\Registry
Next copy from test to this directory - robocopy is installed e.g.
Xcopy used like this will delete any files not in the directory on the other end so make sure you are in the correct directory or you may loose EVERYTHING.
C:\deploy\voservices\net\Registry>robocopy \\skytest\www\voservices\net\Registry /mir /np /log:c:\temp\testreg.log .
Make any changes to config files which may be needed in this copy i.e. switch from test to live
cd to the top level and Push this out to the cluster - this is easy as there is a script to do it called push so for the above example.
C:\deploy\voservices\net\Registry>cd \deploy
C:\deploy>push.cmd voservices\net\Registry
The metabase
- The IIS manager is under Administrative Tools in the start menu, and can be fired up directly as c:\windows\system32\inetsrv\iis.msc.
- The metabase-copying script is my tweaked copy of
c:\WINDOWS\system32\IIsCnfg.vbs. It's in
\\skysrv\vincent\src\IIsCnfg.vbs, and we made
\\skydev\deploy\pushmetabase.cmd to drive it conveniently.
- To push metabase changes to the cluster (assuming you don't want to
just make the changes manually for each node):
- Fire up the Network Load Balancing Manager (under admintools, or 'nlbmgr' in the default PATH) and connect to sdsswww01.
- Use nlbmgr to 'drainstop' www02 and www03.
- Manually make your changes to www01.
- Wait for 02 and 03 to drain, or decide that you're willing to
kill some active connections that you suspect will never die.
\\skysrv\vincent\misc\sdsswww-apps.msc can be handy in tracking
the progress of the drain, as can the output of 'netstat' on
each node. E.g., if perfmon shows active connections but no
running ASP or ASP.Net apps, it might be safer to boot the
server than if apps were actively running.
- Push the www01 changes to 02 and 03 with pushmetabase.cmd.
- If you're the paranoid type, maybe check
http://sx.pha.jhu.edu/bb/bb2.html to make sure that 02 and 03's
webservers are back online. This page updates about once a
minute. If you check now, you'll see that the pushes that I
just did were long enough that bb noticed them, at least on
www02.
- Start www02 and www03 in nlbmgr. For fun, watch the connection
counts rise sharply in sdsswww-apps.msc almost as soon as you
do this.
William O'Mullane
Last Modified :Thursday, July 22, 2004 at 11:34:31 AM
, $Revision 1.3 $