The purpose of this blog is to provide a detailed information on upgrading the existing cluster from XenMobile Device Manager (XDM) v8.7 to XenMobile Device Manager v9.0

Important:

1. It is recommended to take a snapshot of the existing XDM environment. The reason is, you will need to delete the additional configurations you have done while configuring the XDM cluster on 8.7.

2. The XDM v8.7 supported everywan clustering method where as XDM v9.0 supports multinode clustering. So, inorder to upgrade the clustering, you need to remove the existing clustering on XDM 8.7, delete the cluster configuration, upgrade the XDM to 9.0 and then re-configure the cluster. To do this, its recommended to take a maintenance window (downtime) of about 1 hour.

3. Make sure all the files and folders related to XDM are closed. Otherwise, the XDM upgrade will fail. Best practice is, to restart the XDM server before upgrading and not opening any files from XenMobile Device Manager folder or its sub-folders.

Here are the pre-requisites :

  1. Take a backup of the XDM Database.
  2. Stop the XenMobile Device Manager service on all the cluster Nodes.
  3. Before upgrading the XDM cluster, the existing cluster has to be unconfigured.
  4. Take a backup of the XenMobile Device Manager installation folder (complete folder).
  5.  All cluster Nodes should be separated to stand alone servers.

To remove the Nodes from an existing cluster, follow the steps below.

1.    Remove Node 1 of XenMobile Device Manager from Cluster

Follow the steps below to remove Node 1 from the cluster.

Note: Make sure that XDM service is stopped on all nodes.

Step 1: Navigate to the location where server.xml file is present.

Ex: C:\Program Files (x86)\Citrix\XenMobile Device Manager\tomcat\conf

Step 2: Open server.xml file using wordpad.

Step 3: Search for text “cluster”.  Delete the following lines from the file:

<Cluster className=”org.apache.catalina.ha.tcp.SimpleTcpCluster”> 

<Manager className=”org.apache.catalina.ha.session.DeltaManager” expireSessionsOnShutdown=”false” notifyListenersOnReplication=”true”/>

<Channel className=”org.apache.catalina.tribes.group.GroupChannel”>

<Membership className=”org.apache.catalina.tribes.membership.McastService” address=”228.0.0.8″ port=”45560″ frequency=”500″ dropTime=”3000″/>

<Receiver className=”org.apache.catalina.tribes.transport.nio.NioReceiver” address=”auto” port=”4000″ autoBind=”100″ selectorTimeout=”5000″ minThreads=”3″ maxThreads=”6″/> <Sender className=”org.apache.catalina.tribes.transport.ReplicationTransmitter”>

<Transport className=”org.apache.catalina.tribes.transport.nio.PooledParallelSender”/>
</Sender> <Interceptor className=”org.apache.catalina.tribes.group.interceptors.TcpFailureDetector”/>

<Interceptor className=”org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor”/>
</Channel>

<!– <Deployer className=”org.apache.catalina.ha.deploy.FarmWarDeployer” tempDir=”${catalina.base}/war-temp” deployDir=”${catalina.base}/war-deploy” watchDir=”${catalina.base}/war-listen” watchEnabled=”true”/> –>
</Cluster>

Step 4: Once you delete the above text, your file should look like:

BEFORE:

AFTER:

Step 5: Save and close the file.

Step 6: Now, using wordpad, open ew-config.properties file, located at C:\<Installation folder>\Citrix\XenMobile Device Manager\tomcat\webapps\zdm\WEB-INF\classes.

Ex: C:\Program Files (x86)\Citrix\XenMobile Device Manager\tomcat\webapps\zdm\WEB-INF\classes

Step 7: Search for “clustering”. Remove the following two lines:

“cluster.everywan.enabled=true”

“cluster.hibernate.cache-provider=com.opensymphony.oscache.hibernate.OSCacheProvider”

Step 8: In the same file, search for and remove the below lines:

# Everywan cluster shared secret for application connection

everywan.secret=everywan

# Everywan node name (used on load balancer front end)

cluster.everywan.nodeName=auto

# Everywan direct IP access (ex. used by remote support)

cluster.everywan.directAccess=auto

# Everywan broadcast

cluster.everywan.broadcast.address=228.0.0.8

cluster.everywan.broadcast.port=45561

Step 9: After making the above changes, save the file.

Step 10: Delete all the log files – located at \tomcat\logs.

Ex: C:\Program Files (x86)\Citrix\XenMobile Device Manager\tomcat\logs

Step 11: Reboot the XDM server. After re-boot, login to XDM Admin console and verify the setup to confirm that XDM is working fine.

Step 12: Repeat the above steps for all the Nodes of your existing cluster setup. Now, these will become as normal, stand alone XDM 8.7 servers.

2.    Upgrade XenMobile Device Manager from 8.7 to 9.0

Step 1:  Now, upgrade the XDM server from 8.7 to new XDM 9.0 by running the XDM server executable file.

Step 2: You will prompted with a message about XDM server upgrade.

Click OK to continue.

Step 3: Once the upgrade is completed, login to the XDM Admin console and verify if things are working fine and there are no errors.

Step 4: Repeat the above steps on all the XDM servers that you want to upgrade from XDM 8.7 to 9.0

3.    Enable Clustering on XenMobile Device Manager 9.0

Step 1: After verification, stop the XDM service on Node 1

Step 2: Using wordpad, open ew.config.properties file located at

C:\<Installation folder>\Citrix\XenMobile Device Manager\tomcat\webapps\zdm\WEB-INF\classes

Step 3: Search for text ‘multi.node

Step 4: As shown below, change the multi.node.enabled flag from false to true

Step 5: Save the file and start the XDM service.

Step 6: Repeat the same steps for all the nodes that you want as members of clustering.

Step 7: Once the XDM servers is upgraded to XDM 9.0 and multi-node flag is enabled on all the nodes, clustering is completed.

4.    Adding a new Node to the existing Cluster on XenMobile Device Manager 9.0

If you want to add a new member Node to the existing cluster setup, you can follow the below steps:

Step 1: Start the XDM installation – Without the License server and without database server. Click Next

Step 2: Continue with installation till you get the SQL server configuration page:

Step 3: Make sure you connect to the same DB as that of the other cluster member nodes.

Step 4: Continue with the installation, till you get to the below screen

Step 5: Navigate to the installation folder of Node 1. In my case, here is the installation folder

C:\Program Files (x86)\Citrix\XenMobile Device Manager\tomcat\conf

Step 6: Copy the below files:

  • pki-ca-root.crt.pem
  • https.p12
  • pki-ca-devices.p12
  • pki-ca-root.p12
  • pki-ca-servers.p12

Step 7: Go to the same location on this new server that you are installing and paste these files.

Step 8: Continue with the installation. When prompted, enter the same keystore password that you have given in Node 1

Step 9: This will complete the installation of fresh XDM 9.0 software.

Step 10: Once the installation is complete, copy the below files from Node 1 and replace them in the current XDM server:

  • cacerts.pem
  • cacerts.pem.jks
  • certchain.pem
  • https.crt.pem
  • https.p12.pem

Note: Make sure you take a back of existing files before replacing them.

Step 11: Validate the setup by logging into the Admin portal on the current XDM server. After validation, stop the XDM service on this Node .

Step 12: To make this server part of the XDM cluster, follow the steps given in section #3 above (Enable Clustering on XenMobile Device Manager 9.0)

Step 13: To check if the new member has joined the cluster, make sure that XDM service is started

Step 14: You can log-in to helper console and click on ‘MultiNode Info’

This concludes the blog on upgrading XDM cluster from 8.7 to 9.0 and adding a new member to the upgraded cluster.