QUESTION:
How do I move my Traverse server (BVE/DGE, DGE, DGEx) to a new Windows server?
SOLUTION:
Note: Any references to TRAVERSE_HOME should be replaced with the actual Traverse installation directory (e.g. C:\Program Files (x86)\Traverse)
- Install the identical Traverse revision on the (new) destination server, as the original (source) server
- Stop Traverse software components on the destination server.
- Apply any customization from 'TRAVERSE_HOME\etc\emerald.xml' on the source to the same file on the destination server. One way to achieve this is to compare the two files and note 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.
- Copy the license key (TRAVERSE_HOME\etc\licenseKey.xml) from source to destination server.
- Create a backup of the databases on the source server.
- Delete only the database folders (except symbolic file) from the destination server:
cd TRAVERSE_HOME
copy /y "TRAVERSE_HOME\database\mysql\*.sym" "Traverse_Home\"
del /q TRAVERSE_HOME\database\mysql\*
move /y "Traverse_Home\*.sym" "TRAVERSE_HOME\database\mysql" - Copy the archived historical data from the source server backup location to the destination server, overwriting the live folders on the destination:
Applicable to BVE only server or BVE+DGE on same server
TRAVERSE_HOME\database\backup\backup_liveeventsdb\ ---> TRAVERSE_HOME\database\mysql\liveeventsdb\
Applicable to DGE only server or BVE+DGE on same server
TRAVERSE_HOME\database\backup\backup_schedulerdb\ ---> TRAVERSE_HOME\database\mysql\schedulerdb\ TRAVERSE_HOME\database\backup\backup_sladb\ ---> TRAVERSE_HOME\database\mysql\sladb\ TRAVERSE_HOME\database\backup\backup_summarydb\ ---> TRAVERSE_HOME\database\mysql\summarydb\ TRAVERSE_HOME\database\backup\backup_provisioning.xml ---> TRAVERSE_HOME\database\backup\
TRAVERSE_HOME\database\backup\backup_aggregateddatadb\ ---> TRAVERSE_HOME\database\mysql\aggregateddatadb\ TRAVERSE_HOME\database\backup\backup_processdb\ ---> TRAVERSE_HOME\database\mysql\processdb\
-
If server is a BVE, copy these folders from source to destination:
TRAVERSE_HOME\database\derby\ TRAVERSE_HOME\plugin\
-
If the server is a DGE or DGE extension, copy these folders from source to destination:
TRAVERSE_HOME\apps\silk\data\
- If server is a BVE, import the provisioning data from a command prompt on the destination server (launched with 'Run As Administrator):
cd TRAVERSE_HOME utils\databaseUtil.pl --action import --file database\backup\backup_provisioning.xml --batch
- Restore the MySQL databases on the destination server:
cd TRAVERSE_HOME
net start nvdgedbApplicable to BVE only server or BVE+DGE on same server
(each line below is a separate command, 2 commands need to be run per database)
apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="SHOW TABLES" --database="liveeventsdb" > tables.txt
for /F "skip=1" %G IN (tables.txt) DO @apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="REPAIR TABLE %G USE_FRM" liveeventsdb >> logs\database_restore.log
apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="SHOW TABLES" --database="schedulerdb" > tables.txt
for /F "skip=1" %G IN (tables.txt) DO @apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="REPAIR TABLE %G USE_FRM" schedulerdb >> logs\database_restore.log
apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="SHOW TABLES" --database="summarydb" > tables.txt
for /F "skip=1" %G IN (tables.txt) DO @apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="REPAIR TABLE %G USE_FRM" summarydb >> logs\database_restore.log
apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="SHOW TABLES" --database="sladb" > tables.txt
for /F "skip=1" %G IN (tables.txt) DO @apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="REPAIR TABLE %G USE_FRM" sladb >> logs\database_restore.logApplicable to DGE only server or BVE+DGE on same server
apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="SHOW TABLES" --database="aggregateddatadb" > tables.txt
for /F "skip=1" %G IN (tables.txt) DO @apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="REPAIR TABLE %G USE_FRM" aggregateddatadb >> logs\database_restore.log
apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="SHOW TABLES" --database="processdb" > tables.txt
for /F "skip=1" %G IN (tables.txt) DO @apps\mysql\bin\mysql --defaults-file=etc\mysql.conf --execute="REPAIR TABLE %G USE_FRM" processdb >> logs\database_restore.log - If server is a BVE, restore the Derby Database on the destination:
cd TRAVERSE_HOME del database\derby\netconf\log\* database\derby\netconf\db.lck
- Optimize the MySQL databases, unless server is a DGE extension:
cd TRAVERSE_HOME
utils\db_optimize.pl -r - Stop Traverse on the source server, and ensure that all components are down before proceeding.
- IF you don't wish to retain the old IP Address to the new BVE server, please follow this link- How to change the IP address of a BVE
- Start the Traverse components on the (new) destination server.
- After verifying that the new server is performing as expected, uninstall Traverse from the source server.
Related Articles:
Migrate Traverse to New Linux Server