Page History
...
- Install Cassandra 3.11.x and Teamwork Cloud 19.0 (SP4 or SP3) on an external (migration) server to create the v19 database schema.
- Uninstall Teamwork Cloud 19.0 (SP4 or SP3) on the migration server.
- Stop Cassandra service on the migration server.
Perform the initial data move from the production (source) database to the migration server without stopping work on the production server. To do this, execute the following command in any cluster node on the production server:
Code Block rsync –av /data/data/esi user@target:/data/data/esi-new
Note title Note In the command above, user is the OS user of the migration server, target is the migration server address, and esi-new is a temporary production data location on the migration server.
Ensure that the user has the write permission in the esi-new directory.
Carry out the final data move of the production database while stopping work on the production server:
Stop Teamwork Cloud services on both the production and migration servers.
Execute the following commands on any of the production database Cassandra cluster nodes:
Code Block nodetool repair nodetool flush nodetool drain
Stop Cassandra services on all cluster nodes of the production server.
Copy the remaining newly created data from the production server to the migration server. To do this, execute the following command on any of the production cluster nodes:
Code Block rsync –av /data/data/esi/ user@target:/data/data/esi-new/ --delete
Note title Note In the commands above, user is the OS user of the migration server, target is the migration server address, and esi-new is a temporary production data location on the migration server.
- Restart Teamwork Cloud and Cassandra on the production server so that users could continue their work.
- Slip-stream the data from the "esi-new" keyspace to the "esi" keyspace on the migration server by running the convert_esi.sh script. Now the migration server has the current data of the production database (the "esi" keyspace).
Install Teamwork Cloud 2021x on the migration server. The "twc" keyspace will be created.
Launch the migration tools and perform initial database migration. Users can continue working on the production server as usual.
Note title Important When performing initial database migration, make sure that the Remove resources after successful migration check-box is cleared in the resource migration wizard. For more information, see step 6 in Migrating database.
Carry out the final move of the data that was newly created since the previous migration iteration from the production server:
Stop Teamwork Cloud services on both the production and migration servers.
Execute the following commands on any of the production database Cassandra cluster nodes:
Code Block nodetool repair nodetool flush nodetool drain
Stop Cassandra services on all cluster nodes of the production and migration servers.
Copy the newly created data from the production server to the migration server while stopping work on the production server. To do this, execute the following command on the production server:
Code Block rsync –av /data/data/esi/ user@target:/data/data/esi-new/ --delete
Note title Note In the commands above, user is the OS user of the migration server, target is the migration server address, and esi-new is a temporary production data location on the migration server.
Re-run the convert_esi.sh script on the migration server to slip-stream data.
Restart Cassandra and Teamwork Cloud 2021x on the migration server.
Perform the final migration of the newly created data moved from the production server.
Note title Important When performing final migration, make sure that the Remove resources after successful migration check-box is selected in the resource migration wizard. For more information, see step 6 in Migrating database.
On the production server, start Cassandra nodes and make a backup of the "esi" keyspace.
Drop the "esi" keyspace and remove the "esi" directory with commit logs by executing the following commands:
Code Block nodetool flush cqlsh drop keyspace esi; exit nodetool clearsnapshot -- esi
Note title Note With the Cassandra service stopped, the "esi" directory and commit logs need to be removed on each of the production nodes by executing the following commands:
rm –fr /data/data/esi/*
rm –fr /logs/commitlog/*
Uninstall Teamwork Cloud 19.0 (SP3 or SP4) on all the nodes of the production server.
Install Teamwork Cloud 2021x on the production server to create the "twc" keyspace and initial database schema on all cluster nodes.
With Teamwork Cloud, Authentication server, and Web Application Platform being shut down, execute the commands below, then stop Cassandra.
Code Block nodetool flush nodetool drain
Move the migrated data from the migration server "twc" keyspace to every node of the production cluster by executing the following command on the migration server:
Code Block rsync –av /data/data/twc/ user@target:/data/data/twc-new/
Note title Note In the command above, user is the OS user of the production server, target is the production server address, and twc-new is a temporary production data location on the production server.
Ensure that the user has the write permission in the twc-new directory.
Start Cassandra and run the create_migration_table.cql script by executing the commands below. If needed, enter the required credentials to ensure successful cqlsh connection. This will create an empty table on the production server.
Code Block cqlsh SOURCE '/opt/create_migration_table.cql' exit
Stop Cassandra on all nodes of the production server including Teamwork Cloud by executing the following commands:
Code Block nodetool flush nodetool drain systemctl stop Cassandra
Slip-stream data from the "twc-new" keyspace to the "twc" keyspace in every node of the production cluster by running the convert_twc.sh script.
Power up Cassandra and Teamwork Cloud 2021x services in the production cluster.
...