How to configure Sense/Net in NLB
Sense/Net ECMS is a robust and scalable system that lets administrators add more resources as needed. The most common way to provide High availability is to employ more web servers. This article describes a way to setup an NLB (Network Load Balancing) environment for Sense/Net ECMS.
Administrators may want to add two or more web servers for the following reasons:
- to make the site be able to serve more requests
- to be able to complete maintainance tasks on one web node while the others are running and minimize the risk of the site becoming unavailable in case of an unexpected hardware failure
Check the High availability article for more info on scalability. This article assumes that you have one web server up and running. Please check the How to install Sense/Net article for how to install the system on a standalone server.
Set up a new web site
Set up another IIS web site on a different machine - either virtual or physical machine. You may copy the content of the source web folder, except the LuceneIndex and backup folders. The index will be copied to the destination folder using one of the methods explained in the next two sections.
You will need to set the Bindings collection of the new IIS site to match the original URLs. If you want to add a new URL for the new web site (e.g. if you want to access the new site directly by the address http://nlb1.example.com) please check the following tutorial:
In IIS Manager under the Advanced settings of the web site you should check that the ID of the new site is the same as the original site.
Create an index backup
The easiest way to spread the index across new web sites is to create a new index backup using the original web site as a source. This way the database will contain a compressed backup of the index that the newly employed web site will be able to get during startup. See the Backup Tool article for more information about making an index backup.
Copy the index folder manually
Alternatively you may copy the index folder of the original web site but only if the site is stopped. If you have the opportunity to stop the original web site you may copy the LuceneIndex folder to the destination web folder. This may be the only option if the index is too big for the regular backup operation.
Copying the index of a running web site is highly unrecommended as it can lead to a corrupted index.
The web sites need to communicate with each other - Sense/Net ECM uses MSMQ for this. For more information about setting up MSMQ channels on multiple web nodes please check the following article:
In this case you need to create a new MSMQ channel on the destination machine for the new appdomain and add this new channel to the web.config of all the existing sites and tools.
In an NLB environment the Session State setting must be SQLServer. In the following articles you can find some information about configuring the session state.
The web.config file will contain the following differences accross web servers:
- MSMQ channel names order - see the previous section
- Machine Key - here you can find some information about configuring the machine key.
The recommended way to setup permissions is to create one domain account for handling all the authentication tasks in a Sense/Net ECMS instance. These are the following:
- web folder access
- full control for the whole web folder or
- full control for only the LuceneIndex and backup folders and read permission for the rest
- MSMQ permissions: add Receive/Peek/Send message permissions for the app pool identity user(s)
- Database: if you use a common domain user for everything, you do not need to modify database permissions - otherwise add permissions for the new user to the database and modify the connection string in the web.config file.
Please check the Configuration for Production Environment article for more detailed informaition about setting the necessary permissions.
Network Load Balancer
If you did not setup a network load balancer that will manage the traffic for the different web sites please install it now.
Start the web site
You may start the web site in IIS now and send a request to the new site (if you can access it through a direct URL as described above). If you decided to provide the index for the new site by making a backup, the system will get the index from the database and execute the necessary indexing activities (e.g. if new content was added since the backup was made).
Test the new web server
You may test the new web server by accessing Content Explorer through a direct url of the new site and add a test content (e.g. a folder) somewhere in the Content Repository. All the other web sites should display the new content in the tree almost immediately (you need to close and reopen that subtree in Content Explorer). If the new content has not appeared, the problem is most likely related to MSMQ.
- High availability
- How to install Sense/Net
- Configuration for Production Environment
- Communication between appdomains
- How to change url and authentication settings