In the first part of the series we went through the challenges that are faced in deploying OpenDS as a Cluster Application and we outlined the steps that will need to be executed to configure an OpenDS Cluster.
In this post, we will be going through each step that we had listed down previously.
I have created a diagram which provides an overview of how the OpenDS application is deployed in a Cluster.
Extract OpenDS locally on both the Cluster nodes
Create an installation directory C:\OpenDS that will be used to install the OpenDS application. Download the latest version of OpenDS Software and extract its contents to the installation directory.
Prepare a Network Drive to be assigned for OpenDS Cluster
Both the Servers will need a common Shared Drive (SAN LUN) presented. This Shared Drive will be made a part of the OpenDS Cluster during Cluster creation. Assign the same Drive letter to this drive on both the nodes (say O:)
Decide on Name and IP Address that will be assigned for the OpenDS Cluster
You will be required to imput a DNS Name and an IP Address while creating the OpenDS Cluster. This DNS Name and IP Address should be unique on the Network.
Create a Visual Basic Script to be used as a Generic Script Resource
I have created a Visual Basic script that will be used for controlling the JAVA process used by the OPENDS. Create a Directory called Scripts in the Network Drive and store this script under that directory (O:\Scripts). This path will be provided while creating a Generic Script resource while configuring the OpenDS Cluster.
Create an On-Demand Scheduled Task on each Cluster node
I have created a Template of On-Demand Scheduled Task that can be downloaded from the link below. You just have to change the DomainA\Admin in the XML template to reflect your domain name and user name.
Once you have downloaded the above template, you can import it into the Task Scheduler Libray using the Import Task wizard. The Task Scheduler Library is available at the following Path: Start -> Administrative Tools -> Task Scheduler -> Task Scheduler Library
After you modify the <userid> in the XML template to reflect your domain user, you will be prompted to enter the credentials of the user. This user should have administrative rights on the Cluster node. Also make sure that the Task is created on both the nodes.
Copy the Instance files to the Network Drive of the OpenDS Cluster
Create an OpenDS directory in the Network Drive root (say O:\OpenDS) and Copy the directories changelogDb, config, locks, and logs to that directory. Note that only the above folders have to be copied. If an existing running instance of the OpenDS exsts, then copy the above directories from that instance and paste it into the Network drive directory (O:\OpenDS)
Change the instance.loc files on all nodes locally
Navigate to C:\OpenDS\ on both the nodes. Open the instance.loc file and modify its contents to reflect the new path of the OpenDS instance files (say O:\OpenDS)
Modify the config.ldif file on the Network Drive
Take a Backup of the esisting config.ldif file before editing. We have to modify the config file on the Network Drive (O:\OpenDS\Config\config.ldif) by replacing the IP Address from 0.0.0.0 to the one which will be used by the OpenDS Cluster. The Ports, if required can also be changed to make the OpenDS application listen on non-standard ports. This increases the security of the OpenDS application. Note down the changes that have been done to the config.ldif file (IP Address, Ports, etc.) and then Save the file in its existing location.
Go to LDAP Connection handler section in the config.ldif file. The section starts with dn: cn=LDAP Connection Handler,cn=Connection Handlers,cn=config. Navigate to the end of the LDAP Connection Handler section. Here you will be required to add all the IP Addresses that will interact with the OPENDS Cluster. The IP Addresses have to be added in the format ds-cfg-allowed-client:192.168.179.1, with one IP Address per line.
Any denied IP Addresses will be reported in the logs and they have to be added to allow access. I had around 10 IP Addresses added in my config.ldif file – thus in total 10 lines of extra configuration with each line beginning with ds-cfg-allowed-client: followed by the IP Address.
Create and Start the Generic Script Cluster
Once all the above information is collected and handy, we need to create a OpenDS Cluster based on a Generic Script.
Symon Perriman has written an excellent article titled Creating and Configuring a Generic Script Resource which explains in detail all the steps that are needed to created a Cluster based on a Generic Script. I followed the article to successfully create a OpenDS Cluster.
Simulate and Test the Server Failure
Navigate to the Failover Cluster Manager and right-click on OpenDS Cluster. Select Move this service or application to another node and click on the target node on which the OpenDS Cluster will be made active. The Cluster will be Online on the target node without any issues.
I expect this two-part series will be of help to all those who are looking forward for configuring the Directory Service based on Windows Cluster.
In this post, we discussed the implementation of OpenDS on a Windows Cluster using a generic script.
Click on the below link to access the first post of this series: