Cloning cms db and filesystem procedure.

Hi all

In order to troubleshoot a problem, we wish to clone one of our cms servers to another.

I guess the first step is to copy the database and import it into the new system.

Next one would have to use a ‘tar -cvf’ and ‘tar -xvf’ commands to copy the cms root.

After that I guess the only thing left to do is to update the configuration files for jdbc settings and such.

Here a list of configuration files we will need to edit. On a previous problem we made a *bak copy of each of the important configuration files.

Using the command below generates my list of configuration files to examine:
-bash-3.00$ find . -name “*.bak” | grep -v ‘Extension’ | grep -v ‘htm’

./Docs/Rhythmyx/CMS_Administration/index.xml.bak
./AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/config/spring/server-beans.bak
./AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/config/spring/install-beans_xml.bak
./AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/config/spring/server-beans_xml.bak
./AppServer/server/rx/deploy/rxapp.ear/rxapp.war/WEB-INF/web_xml.bak
./AppServer/server/rx/deploy/rx-ds_xml.bak
./AppServer/server/rx/deploy/jbossweb-tomcat55.sar/server_xml.bak
./AppServer/server/rx/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service_xml.bak
./rxconfig/Workflow/rxworkflow_properties.bak
./rxconfig/Installer/rxfts_properties.bak
./rxconfig/I18n/ResourceBundle.tmx.bak
./rxconfig/Server/config_xml.bak
./sys_search/rware/rx/config/rware_cfg.bak
./sys_search/rware/rx/config/exec_cfg.bak
./RhythmyxServer_bin.bak

Can anyone see any thing I’ve missed?

David,

See the deployment process described in the latest release of [Setting Up the Production Environment Rhythmyx 6.5.2 documentation for details about cloning one environment to another.

If you are overlaying an MSM target environment (such as a production server) over an MSM source environment (such as a development server), see also this posting: New deployment recommendation, post # 3.

I don’t know why grep would have noted ./Docs/Rhythmyx/CMS_Administration/index.xml.bak. This is the index file supporting the Help for the Publishing and Workflow tabs of Content Explorer. There shouldn’t be any reason to modify this file when moving from one environment to another.

RLJII

I have never gotten the procedure in the documentation “Setting Up the Production Environment” to work. The official documentation instructs to modify the ./AppServer/server/rx/deploy/rx-ds.xml file, but my server will never start up properly.

Here are the steps I use to copy the Percussion server file system and database from one environment to another. I am cloning in a windows 2008 R1 environment. Both servers have Percussion installed in the root of the D drive (all paths are the same). This method assumes that the target machine can temporarily access the source machine’s database.

  1. Stop the “Percussion Rhythmyx Server” service on both the source and target machines; Set the percussion service to disabled on both machines

  2. Restart both machines to unlock all files.

  3. Clone D:\Rhythmyx folder from the source (e.g. dev) to target (e.g. test) using Microsoft Sync Toy in “Echo” mode. Verify all files have been copied by re-running sync toy a second time.
    Note: You can drag and drop the files, but you never see which ones failed. You can also use the other free Microsoft tools: xcopy, robocopy or rich copy – I like synctoy best.

  4. Clone the database from dev to test

  5. Start the “Percussion Rhythmyx Server” service on the target machine: Set the startup type to automatic and Start the service (source machine is still down so they do not hit the same DB at the same time)

  6. Create the new data source on the target by Editing the datasource on the admin console:

6a. Log in to the Server Administrator and go to the Datasources tab.

6b. Add a JNDI Data Source, use the existing data source to get the formatting for the values

6c: Add in a new DB Connection using the new datasource:

6d. Set the new connection as the “CMS Repository”

6e. Click the [Apply] button. Rhythmyx will re-encrypt the security credentials.

  1. Restart the target “Percussion Rhythmyx Server” service on the tareget & test it out!

  2. Start the “Percussion Rhythmyx Server” service on the source machine: Set the startup type to automatic and Start the service

PS: This procedure was performed on the following version: Version 6.7.0 [RX-16757]

Something we just noticed in our implementation… If you’re changing the rxmaster database name to something else, and

  1. your DBMS is Microsoft SQL Server
  2. you have performed a:
    a) Rhythmyx 6.5.2 to Rhythmyx 6.7 upgrade or
    b) Rhythmyx 6.7 to Rhthmyx 7.x upgrade

The following database views have the database name hard-coded within them. You’ll have to alter them.

CONTENTVARIANTS
PSX_COMMUNITY_PERMISSION_VIEW
PSX_DISPLAYFORMATPROPERTY_VIEW
PSX_MENUVISIBILITY_VIEW
PSX_SEARCHPROPERTIES_VIEW
RXPUBDOC
RXSITEITEMS

You’re wondering why someone would change the rxmaster database name? Well, we had three development installs on a single database server, so we needed three distinct database names, one for each instance of Rhythmyx. I will grant you this is an edge case, but still worth noting. It is interesting that some of the views had a mixture of rxmaster.dbo.tablename and dbo.tablename in a single select statement.