Incremental migration require having both versions of Teamwork Cloud servers running - 19.0 (SP3 or SP4) and 2021x Refresh1. Please contact your sales executive to get a temporal license key. |
All in one goYou can migrate the entire Teamwork Cloud database in one go. However, there will be downtime in production while data is being migrated from the o the This strategy may not be applicable if the source database is of significant size. During migration, the source database size increases by after can be effectively dropped using the data manager
The strategy of migrating the Teamwork Cloud database all in one go.
- Uninstall Teamwork Cloud 19.0 (SP3 or SP4).
- Install Teamwork Cloud 2021x Refresh1.
- Launch the migration tools and perform full database migration.
- Drop the "esi" keyspace in the source database using the Data Manager.
Incremental migration using separate servers
You can migrate the Teamwork Cloud database incrementally by using separate database servers. This way users can continue working on the production while the migration is in progress with a minor downtime for the final migration step.
The strategy of an incremental Teamwork Cloud database migration using separate database servers.
To migrate the Teamwork Cloud database when a single-node Cassandra cluster is used
- Install Cassandra 3.11.x on an external (migration) server.
nodetool drain
systemctl stop cassandra
rm –fr /data/data/*
rm -fr /logs/commitlog/* |
rsync –av /data/data/ user@target:/data/data/ |
In the command above, user is the OS user of the migration server and target is the migration server address. |
Carry out the final data move from the production database to the migration server work on the production server. After you finish, the migration server will have the entire data of the production database (the "esi" keyspace). To do this, execute the following : nodetool drain
systemctl stop cassandra
rsync –av /data/data/ user@target:/data/data/ --delete |
In the commands above, user is the OS user of the migration server and target is the migration server address. |
- Install Teamwork Cloud 2021x Refresh1 on the migration server. The "twc" keyspace will be created.
Launch the migration tools on the migration server and perform initial database migration 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 production database migration while stopping work on the production server:
- Stop Teamwork Cloud services on both the production and migration servers.
Stop Cassandra services on both the production and migration servers by executing the following commands: nodetool drain
systemctl stop cassandra |
Move the newly created data from the production database to the migration server. To do this, execute the following command: rsync –av /data/data/esi/ user@target:/data/data/esi/ --delete |
In the command above, user is the OS user of the migration server and target is the migration server address. |
Restart Cassandra and Teamwork Cloud 2021x Refresh1 on the migration server. Perform the final migration of the newly created production data . Make a of the "esi" keyspace on the production server. Drop the "esi" keyspace and remove the "esi" directory with commit logs by executing the following : nodetool drain
sudo systemctl stop cassandra
rm –fr /data/data/esi/*
rm -fr /logs/commitlog/* |
When migration on the migration server is finished, drop the "esi" keyspace in the migration server database by executing the following : nodetool flush
cqlsh
drop keyspace esi;
exit
nodetool clearsnapshot -- esi |
Move migrated data from the migration server server by executing the following : rsync –av /data/data/ user@source:/data/data/ |
In the command above, user is the OS user of the production server and source is the production server address. |
Uninstall Teamwork Cloud 19.0 (SP3 or SP4) on the production server. Install Teamwork Cloud 2021x Refresh1 on the production server.
The following strategy is only applicable when the Cassandra node count in the cluster equals the Replication Factor (RF), for example, 3 Cassandra nodes with RF=3. |
To migrate the Teamwork Cloud database when the production server is a multi-node Cassandra cluster and the migration server is a single-node Cassandra cluster
- Install Cassandra 3.11.x and Teamwork Cloud 19.0 (SP4 or SP3) on an external (migration) server to .
- 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 : rsync –av /data/data/esi user@target:/data/data/esi-new |
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 ver: Stop Teamwork Cloud services on both the production and migration servers. Execute the following commands on any of the production database Cassandra cluster nodes: nodetool repair
nodetool flush
nodetool drain |
Stop Cassandra services on all cluster nodes of the production server. To do this, execute the following : rsync –av /data/data/esi/ user@target:/data/data/esi-new/ --delete |
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 Refresh1 on the migration server. The "twc" keyspace will be created. Launch the migration tools and perform initial database migration. can continue working on the production server as usual. 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. |
Stop Teamwork Cloud services on both the production and migration servers. Execute the following commands on any of the production database Cassandra cluster nodes: nodetool repair
nodetool flush
nodetool drain |
To do this, execute the following : rsync –av /data/data/esi/ user@target:/data/data/esi-new/ --delete |
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 to slip-stream data. Perform the final migration of the newly created data moved from the production server.
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 : nodetool flush
cqlsh
drop keyspace esi;
exit
nodetool clearsnapshot -- esi |
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/* |
Install Teamwork Cloud 2021x Refresh1 on the production server to create the "twc" keyspace and initial database schema on all cluster nodes. 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 : rsync –av /data/data/twc/ user@target:/data/data/twc-new/ |
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 a successful cqlsh connection. This will create an empty table on the production server. cqlsh
SOURCE '/opt/create_migration_table.cql'
exit |
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 Refresh1 services in the production cluster.
Incremental migration using separate servers and one Cassandra instanceYou can migrate the Teamwork Cloud database incrementally with Teamwork Cloud 19.0 (SP3 or SP4) and Teamwork Cloud 2021x Refresh1 running on different server machines, but pointing to the same Cassandra instance. This strategy requires no downtime, but you may experience reduced Teamwork Cloud 19.0 (SP3 or SP4) performance during migration due to additional Cassandra load.
The strategy of an incremental Teamwork Cloud database migration when Teamwork Cloud 19.0 series and Teamwork Cloud 2021x series are on separate servers but point to the same Cassandra instance. To migrate the Teamwork Cloud database incrementally using separate servers and one Cassandra instance
- Install Teamwork Cloud 2021x Refresh1 on a separate migration server.
- Point Teamwork Cloud 2021x Refresh1 to the Cassandra database server holding Teamwork Cloud 19.0 (SP3 or SP4) data by specifying an appropriate Cassandra seed node address in the Teamwork Cloud application.conf file.
- Deploy the Teamwork Cloud migrator application on the migration server and point it to the Cassandra database server holding Teamwork Cloud 19.0 (SP3 or SP4) data by specifying an appropriate Cassandra seed node address in the database migrator application.conf .
Launch the migration tools and perform initial database migration. 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. |
At a chosen point in time, stop the Teamwork Cloud 19.0 (SP3 or SP4) service to prohibit the creation of new data and execute the final migration iteration.
When performing the final migration iteration, 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. |
- the migration is finished, drop the "esi" keyspace by using the Data Manager.
- Uninstall Teamwork Cloud 19.0 (SP3 or SP4) on the production server and install Teamwork Cloud 2021x Refresh1. At this point, the migration server is no longer needed.
|