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