Migrate Traverse to New Linux Server

QUESTION:

How do I move my Traverse server (BVE/DGE,DGE) to a new Linux server?

SOLUTION:

Please find steps below for migrating an existing Traverse install on Linux to a new server. Note that in the steps below, the path prefix '/usr/local/traverse' should be replaced with your actual installation location which may be different:

  • Install the identical Traverse revision on the (new) destination server, as the original server
  • Stop Traverse software components on the destination server
  • Stop Traverse software on the (original) source server
  • Copy the '/usr/local/traverse/etc/licenseKey.xml' from the source to the same destination on the new server.
  • Copy '/usr/local/traverse/plugin' directory from source to the same destination on the new server.
  • Copy '/usr/local/traverse/webapp/WEB-INF/web.xml' from source to the same destination on the new server.
  • Apply any customization from '/usr/local/traverse/etc/emerald.xml' and '/usr/local/traverse/etc/dge.xml' (namely the unique dge name) on the source to the same file on the destination server. One way to achieve this is to compare the two files to highlight the differences (e.g. 'diff' or 'compare' commands)
  • In the rare case that changes have been made to any device signatures in 'etc/typedef', copy the customized device signatures from the source server to overwrite the copies in the destination server. Altering files in this folder is not recommended as the folder is overwritten during upgrades.

On Source Server:

# Start the database servers and perform a backup

cd /usr/local/traverse
etc/dgedb.init start
etc/provdb.init start
utils/db_backup.sh

Copy mysql database backup, derby database and misc files to destination server 

  • scp -r /usr/local/traverse/database/backup/backup-mm-dd-yy,hh-mm.tar.gz newhost:/usr/local/traverse/database/mysql/
  • scp –r /usr/local/traverse/database/derby newhost:/usr/local/traverse/database/
  • scp –r /usr/local/traverse/apps/silk/data newhost:/usr/local/traverse/apps/silk/ 

Restore the MySQL databases

On the destination server:

  • cd /usr/local/traverse/database/mysql
  • tar zxf backup-mm-dd-yy,hh-mm.tar.gz
  • cd database/backup
  • cp -R * ../../
  • cd ../../
  • rm –rf database backup-mm-dd-yy,hh-mm.tar.gz
  • cd /usr/local/traverse
  • etc/dgedb.init start restore
  • # Performance DB - present on combined BVE/DGE or DGE-only server
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf --skip-column-names -u root --password= -e 'show tables;' --database=backup_dge > /tmp/tables.txt
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/dropDGEdb.sql
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createDGEdb.sql
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createDGEdbUsers.sql
  • for i in `cat /tmp/tables.txt`; do apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= --execute "RESTORE TABLE $i FROM '/usr/local/traverse/database/mysql/backup_dge'" aggregateddatadb; done
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createDGEdbProcs.sql
  • # Summary DB - present on BVE/DGE or BVE-only server
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf --skip-column-names -u root --password= -e 'show tables;' --database=backup_cse > /tmp/tables.txt
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/dropCSEdb.sql
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createCSEdb.sql
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createCSEdbUsers.sql
  • for i in `cat /tmp/tables.txt`; do apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= --execute "RESTORE TABLE $i FROM '/usr/local/traverse/database/mysql/backup_cse'" summarydb; done
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createCSEdbProcs.sql
  • # Live Events DB - present on BVE/DGE or BVE-only server
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf --skip-column-names -u root --password= -e 'show tables;' --database=backup_rtm > /tmp/tables.txt
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/dropRTMdb.sql
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createRTMdb.sql
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createRTMdbUsers.sql
  • for i in `cat /tmp/tables.txt`; do apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= --execute "RESTORE TABLE $i FROM '/usr/local/traverse/database/mysql/backup_rtm'" liveeventsdb; done
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createRTMdbProcs.sql
  • # Scheduler DB - present on BVE/DGE or BVE-only server
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf --skip-column-names -u root --password= -e 'show tables;' --database=backup_srs > /tmp/tables.txt
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/dropSRSdb.sql
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createSRSdb.sql
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createSRSdbUsers.sql
  • for i in `cat /tmp/tables.txt`; do apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= --execute "RESTORE TABLE $i FROM '/usr/local/traverse/database/mysql/backup_srs'" schedulerdb; done
  • # Process DB -present on BVE/DGE or DGE-only server
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf --skip-column-names -u root --password= -e 'show tables;' --database=backup_apm > /tmp/tables.txt
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/dropAPMdb.sql
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createAPMdb.sql
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createAPMdbUsers.sql
  • for i in `cat /tmp/tables.txt`; do apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= --execute "RESTORE TABLE $i FROM '/usr/local/traverse/database/mysql/backup_apm'" processdb; done
  • apps/mysql/bin/mysql --defaults-file=etc/mysql.conf -u root --password= < database/schema/mysql/createAPMdbProcs.sql

Restore Derby DB (Network Configuration Managment) - present on BVE/DGE or BVE-only server

  • cd /usr/local/traverse
  • rm -f database/derby/netconf/log/* database/derby/netconf/db.lck

Restore provisioning database on BVE or BVE/DGE:

  • cd /usr/local/traverse/utils
  • ./databaseUtil.pl --action import --file ../database/mysql/backup_provisioning.xml --batch

Optimize MySQL databases on each Traverse server:

  • cd /usr/local/traverse/utils
  • ./db_optimize.pl --run 

Start the Traverse components on the (new) destination server

  • /usr/local/traverse/etc/traverse.init start
  • # Confirm everything is working correctly within Traverse Web Application.
  • If the hostname of the server has changed, please update it under SUPERUSER >> DGE MGMT >> Update, and restart the components on the new server.
  • cd /usr/local/traverse/database/mysql
  • rm –rf backup_dge backup_rtm backup_srs backup_apm backup_sla backup_cse
  • backup_provisioning.xml

 

RELATED ARTICLES:

Migrate Traverse to New Windows Server

 

Have more questions?

Contact us

Was this article helpful?
0 out of 0 found this helpful

Provide feedback for the Documentation team!

Browse this section