Convert Windows Instance to Linux

Converting a Percussion instance on Windows to Linux

Note that this type of migration can be a high risk process and that it is vital that you backup your full Percussion CM1 file tree, database, and web root folder before proceeding, and test your migrated CM1 instance and web server before permanently moving users to the new CM1 server.  

You will also need a new CM1 license key for your new server.  Please contact us for more details on this process.

Database Considerations

Your CM1 installation uses a database.  It is either the embedded Derby database, or an MS SQL or MySQL database.  You can look in the file <CM1 Root>/AppServer/server/rx/deploy/rx-ds.xml - if you see this line

<connection-url>jdbc:derby://localhost:1527/CMDB;</connection-url>

you are using the Derby database.   Otherwise you will see the address of your Database server. 

If your installation uses the embedded Derby database, no additional steps are needed for database configurations, and your new Linux CM1 will be using a copy of the database from your Linux installation.

If you will be using the current / existing external (MS SQL or MySQL) database, you do not need to update the CM1 installation to point to a new database.  Please note that if you are planning to use the same external database, your Windows version of CM1 will want to connect to it when starting and while running, and testing your new installation will make changes to the database.  You also need to make sure multiple CM1 instances are not using the same database; make sure that the old Windows CM1 instance is not started, and disable any scripts that start CM1 when rebooting the Windows server.

If you will be using a new database server, back up your database at the same time that CM1 is not running when backing up the file tree on the linux server.  Step 11 below will have more details on pointing your new installation to a new database.

Moving the Percussion CM1 tree 

1) Note the version of CM1 you are running (either in the About menu of CM1, or in the Version.properties file in the CM1 installation). While CM1 is not running, zip or compress the CM1 installation tree and copy to the new target Linux server.

2) On the target Linux server, download and extract the Linux installer of the same version of CM1 you are currently running.  You can find download instructions here.

3) Run the installation SetupConsole.sh and install as a "New Install".  Full Linux installation instructions can be found here.  Choose the folder location you want CM1 to install to - for example, /opt/Percussion.  Choose default options for all other installation questions (including using the embedded database - you can configure the actual database later if needed).  It is recommended to run this install as a "percussion". So make sure to create the percussion user, group, and grant that user permissions to the target installation folder. Apply the patch to match with the same patch id as the Windows instance and follow all instructions in patch release notes.  Make sure the instance starts up fine with no issues after the patch before proceeding to next step.

4) Extract the source Windows installation tree to a temporary directory.  For example /tmp/winbackup

5.) Delete the following files from the Windows backup folder

  • rm /tmp/winbackup/rxconfig/Installer/rxrepository.properties
  • rm /tmp/winbackup/rxconfig/Installer/installation.properties

6.) Copy (with overwrite)  the following files and folders from the Windows installation tree to your new Linux installation folder:

  • cp -Rf /tmp/winbackup/ObjectStore /opt/Percussion/
  • cp -Rf /tmp/winbackup/rxconfig /opt/Percussion/
  • cp -Rf /tmp/winbackup/Packages /opt/Percussion/
  • cp -Rf /tmp/winbackup/rx_resources /opt/Percussion/
  • cp -Rf /tmp/winbackup/web_resources /opt/Percussion/

7) If you want CM1 to use a different database or database server than that used by the Windows server instance, see Appendix A of this document for changing the database of a CM1 installation, starting at step 8.

8) If you are using the same DTS service, no changes are needed.  If you are also moving DTS, see the steps below for Migrating DTS, and edit the <admin-connection-url> settings in <CM1 Root>/rxconfig/DeliveryServer/delivery-servers.xml to point to the new DTS server location.

9.) Start your Percussion Service using the daemon.  If CM1 does not start please see your server.log file your server.log (versions before 5.1, look in <CM1 Root>\AppServer\server\rx\log\server.log, 5.1 and after look in <CM1 Root>\logs\Appserver\server.log), or provide this file if you need to contact Technical Support.

  •  cd /opt/Percussion/bin
  • ./RhythmyxDaemon start ..

Migrating DTS

Like moving CM1, this type of migration can be a high risk process and that it is vital that you backup your full Percussion DTS file tree and database before proceeding, and test your migrated DTS instance and web server before permanently publishing to the new DTS server. 

Database Considerations

DTS may be using the embedded Derby database, or can be configured to use an external database.  If you are not sure, look in your <dts_root>/Deployment/Server/conf/perc directory if you see:

  • perc-datasources.properties.sample
  • perc-datasources.xml.sample

you are using the embedded Derby database.
If you see:

  • perc-datasources.properties
  • perc-datasources.xml

look in perc-datasources.properties for the database used.

If your installation uses the embedded Derby database, no additional steps are needed for database configurations, and your new Linux DTS will be using a copy of the database from your Linux installation.

If you will be using the current / existing external (MS SQL or MySQL) database, you do not need to update the DTS installation to point to a new database.  Please note that if you are planning to use the same external database, your Linux version of DTS will want to connect to it when starting and while running, and testing your new installation will make changes to the database.  You should try to limit multiple versions of DTS instances from using the same database, make sure that the old Windows DTS instance is not started, and disable any scripts that start DTS when rebooting the Windows server.

If you will be using a new database server, backup your database at the same time that CM1 is not running when backing up the file tree on the Windows server.  Step 5 below will have more details on pointing your new installation to a new database.

Moving the Percussion DTS tree 

1) Note the version of DTS you are running in the Version.properties file in the DTS installation. While DTS is not running, zip or compress the DTS installation tree and copy to the new target Linux server.

2) On the target Linux server, download and extract the Linux installer of the same version of DTS you are currently running.  You can find download instructions here.  This example assumes that the DTS is installed to the /opt/Percussion folder.

3) Extract your Windows DTS installation into a folder, for example, /tmp/win-dtsbackup.  

4) Copy the following files from your DTS backup:

  • cp -Rf /tmp/win-dtsbackup/Deployment/Server/conf/perc /opt/Percussion/Deployment/Server/conf/
  • cp -Rf /tmp/win-dtsbackup/Deployment/Server/conf/server.xml /opt/Percussion/Deployment/Server/conf/
  • cp -Rf /tmp/win-dtsbackup/Deployment/Server/conf/*.keystore /opt/Percussion/Deployment/Server/conf/ 
  • cp -Rf /tmp/win-dtsbackup/Deployment/Server/Repository  /opt/Percussion/Deployment/Server/ 
  •  

5) If you want DTS to use a different database than used by the Linux server instance, see this page for changing the database of a DTS installation.

6) Start the service.  

  • nohup ./TomcatStartup.sh & 
  • tail -f Deployment/Server/logs/catalina.log