Thursday, January 20, 2011

Clustering Server Manager (CSM) Implementation - Network Load Balancing

We had made things a bit more seamless and easy in 5.0 SP1 release as far as cluster is concerned so I have listed both approaches based on whether you want to stay on 5.0 release of AgilePoint or want to upgrade to 5.0 SP1.

Irrespective of which option you go for make sure following things are done in your environment which are pre requisites of any NLB app

1) Make sure web.config of AgilePoint Server and Enterprise Manager has SessionState set to SQLServer. For example,

<sessionState mode="SQLServer"

regenerateExpiredSessionId="true"

timeout="30"

sqlConnectionString="Server=<server-name>;Trusted_Connection=True;"

stateNetworkTimeout="30"/>

2) Ping from one machine to another, i.e. ping machine A from machine B and from B to A

3) Make sure firewall is off on both machine

Option 1

If your CSM component needs to be installed on separate server outside AP server farm. This is what we supported till 5.0

1) Install AgilePoint CSM component on an server which is outside AgilePoint farm servers. It has a very small footprint so can be installed on any existing server like database server. It does not need dedicated machine of its own.

2) Activate both AgilePoint servers with NLB keys.

3) Open AgilePoint Server Configuration utility. You will start seeing a new field  for cluster server manager. You need to replace machine name with name of machine where you installed CSM component. Save configuration and reset IIS. Do this on both machines.

image

4) Once you have done step 3 on both servers, you can go to machine where you installed CSM and we provide a utility there to test your NLB is working fine or not. If you have an old installation, your folder name is 'Ascentn Corp'. If you have new installation, then 'AgilePoint' will be your folder name. I have an old installation in picture below. Once you run this as shown below you should get response from both machines. If you see that it means NLB is fine.

clip_image004

 

Option 2

We were getting request from customers that can they install AgilePoint CSM on same machine as AgilePoint server so that they do not have to worry about managing it on other machine. In 5.0 SP1, we have added a new logic such that it can be hosted on same machine. Here is what you need to do.

1) Using 5.0 installer, install AgilePoint CSM on both AgilePoint servers. Use NLB keys for activation of both servers.

2) Upgrade both machines to AgilePoint 5.0 SP1 by running the upgrade package. This is a straight forward upgrade.

3) There is an entry to be made in the registry to point the CSM to AgilePoint database. This contains a connection string. In this case you do not have to set cluster server manager machine name as done in step 3 of option 1. The reason is that CSM is on that machine so it does not need this information separately.

You would need to manually create one registry key for option 2 since CSM is going to be on same machine as AP server. Here is the key which need to be created

clip_image006

In this registry value copy AgilePoint Database connection string to CSM registry. You can get this value from your netflow.cfg file. Please take note of the DB provided in front section of the connection string, e.g. MSSQLDatabase: connection lifetime=5;min pool size=10;server=T410-1;database=AgilePoint47;trusted_Connection=yes

4) Click ok on AgilePoint Configuration Utility and reset IIS. This needs to be done on both machines. Please note that in this case you should not see the cluster server manager textbox in AP configuration utility as in option 1. If you see that you need to delete one entry from registry or netflow.cfg file.

5) After making above entry on both machines, restart CSM (windows service on both machine). Please make sure that the logon identity for CSM windows service is having DBO privileges on AgilePoint database.

· Query database and make the CSM works, i.e. you can see WF_CLSUTER_SERVER_URI has one record.

clip_image008

If you see URL=machineA:13841, stop CSM window service on machine A and query again. You will see URL will be MachineB:13841.

· Now make sure both machine windows services are started. Run iisreset and check the AgilePont Server log file.

One machine will have:

010-11-07 16:51:12.688 >>> Initialize Cluster Event Dispatcher, uri=tcp://T410-006:13481/192.168.0.24/55a1a2b7-46cb-4148-a15f-a4e2a18d1b44:False

The other machine have:

2010-11-07 16:51:02.564 >>> Initialize Cluster Event Dispatcher, uri=tcp://T410-006:13481/192.168.0.24/97adaa57-8d82-47e9-aafb-f50c0c667a0c:True

Here, the 'True' means it is the master server.

6) Now use the ping utility to test for NLB as done in option 1

Both options do not take much time. Only difference is whether you want to install CSM on same machine or different machine.

No comments:

Post a Comment