Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
Bastien_Laugiero

Hi everyone,

For various and valid reasons, you might need to migrate your entire Qlik Sense environment, or part of it, somewhere else.

In this post, I’ll cover the most common scenario: a complete migration of a single or multi-node Qlik Sense system, with the bundled PostgreSQL database (Qlik Sense Repository Database service) in a new environment.

So, how do we do that?

 

If direct assistance is needed and you require hands-on help with a migration, engage Qlik Consulting. Qlik Support cannot provide walk-through assistance with server migrations outside of a post-installation and migration completion break/fix scenario.

Introduction and preparation

Let’s start with a little bit of context: Say that we are running a 3 nodes Qlik Sense environment (Central node / Proxy-Engine node / Scheduler node).

On the central node, I also have the Qlik shared folder and the bundled Qlik Sense Repository Database installed.

This environment has been running well for years but I now need to move it to a brand new hardware ensuring better performance. It’s not possible to reinstall everything from scratch because the system has been heavily used and customized already. Redoing all of that to replicate the environment is too difficult and time-consuming.  

I start off with going through a checklist to verify if the new system I’m migrating to is up to it:

And then I move right over to…

 

Backup your old environment

The first step to migrate your environment in this scenario is to back it up.

To do that, I would recommend following the steps documented on help.qlik.com (make sure to select your Qlik Sense version top left of the screen).

https://help.qlik.com/en-US/sense-admin/May2024/Subsystems/DeployAdministerQSE/Content/Sense_DeployA...

Once the backup is done you should have:

  • A backup of the database in .tar format
  • A backup of the content of the file share which includes your applications, application content, archived logs, extensions,…
  • Backups of any data source files that need to be migrated and are not stored in the shared folder like QVDs

Then we can go ahead and…

 

Deploy and restore the new central environment

The next steps are to deploy and restore your central node. In this scenario, we will also assume that the new central node will have a different name than the original one (just to make things a bit more complicated 😊).

Let’s start by installing Qlik Sense on the central node. That’s as straightforward as any other fresh install.

You can follow our documentation. Before clicking on Install simply uncheck the box “Start the Qlik Sense services when the setup is complete.

The version of Qlik Sense you are going to install MUST be the same as the one the backup is taken on.

Now that Qlik Sense is deployed you can restore the backup you have taken earlier into your new Qlik Sense central node following Restoring a Qlik Sense site.

Since the central node server name has also changed, you need to run a Bootstrap command to update Qlik Sense with the new server name. Instruction are provided in Restoring a Qlik Sense site to a machine with a different hostname.

The central node is now almost ready to start.

If you have changed the Qlik Share location, then the UNC path has also changed and needs to be updated.

To do that:

  1. Go to C:\Program Files\Qlik\Sense\Repository\Util\QlikSenseUtil
  2. Run QlikSenseUtil.exe as Administrator
  3. Click on Connect to the database and enter the credential to connect to the new PostgreSQL database
  4. Click on Service Cluster and press OK. This should display the previously configured UNC Path
  5. You simply need to update each path, save and start/restart all the Qlik sense services.

    01.png

At this point make sure you can access the Qlik Sense QMC and Hub on the central node. Eventually, check that you can load applications (using the central node engine of course). You can also check in the QMC > Service Cluster that the changes you previously made have been correctly applied.

Troubleshooting tips: If after starting the Qlik Sense services, you cannot access the QMC and/or Hub please check the following knowledge article How to troubleshoot issue to access QMC and HUB

 

What about my rim nodes?

You’ve made it here?! Then congratulations you have passed the most difficult part.

If you had already run and configured rim nodes in your environment that you now need to migrate as well, you might not want to remove them from Qlik Sense to add the new ones since you will lose pretty much all the configuration you have done so far on these rim nodes.

By applying the following few steps I will show you how to connect to your “new” rim node(s) and keep the configuration of the “old” one(s).

Let’s start by installing Qlik Sense on each rim node like it was a new one.

The process is pretty much the same as installing a central node except that instead of choosing “Create Cluster”, you need to select “Join Cluster

Detailed instructions can be found on help.qlik.com: Installing Qlik Sense in a multi-node site

Once Qlik Sense is installed on your future rim node(s) and the services are started, we will need to connect to the “new” Qlik Sense Repository Database and change the hostname of the “old” rim node(s) to the “new” one so that the central node can communicate with it.

To do that install PGAdmin4 and connect to the Qlik Sense Repository Database. Detailed instruction in Installing and Configuring PGAdmin 4 to access the PostgreSQL database used by Qlik Sense or NPrinting knowledge article.

Once connected navigate to Databases > QSR > Schemas > public > Tables

You need to edit the LocalConfigs and ServerNodeConfigurations table and change the Hostname of your rim node(s) from the old one to the new corresponding one (Don’t forget to Save the change)

LocalConfigs table

02.png

 

ServerNodeConfigurations table

03.png

 

Once this is done, you will need to restart all the services on the central node.

When you have access back, login to the QMC and go to Nodes. Your rim node(s) should display the following status, “The certificate has not been installed

04.png

 

From this point, you can simply select the node, click on Redistribute and follow the instruction to deploy the certificates on your rim node. After a moment the status should change and you should see the services being up and running.

Do the same thing on the remaining rim node(s).

Troubleshooting tips: If the rim node status is not showing “The certificate has not been installed” it means that either the central node cannot reach the rim node or the rim node is not ready to receive new certificates.

Check that the port 4444 is opened between the central and rim node and make sure the rim node is listening on port 4444 (netstat -aon in command prompt).

Still no luck? You can completely uninstall Qlik Sense on the rim node and reinstall it.

 

Finalizing your migration

At this point, your environment is completely migrated and most of the stuff should work.

Data Connection

There is one thing to consider in this scenario. Since the Qlik Sense certificates between the old environment and the new one are not the same, it is likely that data connections with passwords will fail.  This is because passwords are saved in the repository database with encryption.  That encryption is based on a hash from the certs.  When the Qlik Sense self-signed cert is rebuilt, this hash is no longer valid, and so the saved data connection passwords will fail.  You will need to re-enter the passwords in each data connection and save.  This can be done in the QMC -> Data Connections.

See knowledge article: Repository System Log Shows Error "Not possible to decrypt encrypted string in database"

Licensing

Do not forget to turn off your old Qlik Sense Environment once you are finished. While Qlik's Signed License key can be used across multiple environments, you will want to prevent accidental user assignments from the old environment. 

Note: If you are still using a legacy key (tokens), the old environment must be shut down immediately, as you can only use a legacy license on one active Qlik Sense environment. Reach out to your account manager for more details.

 

Best practices

Finally, don’t forget to apply best practices in your new environment:

 

 

 

50 Comments
TomBond77
Specialist
Specialist

Hi @Sonja_Bauernfeind 

I have questions to the restore procedure.

Question 1:

I have done the backups now and also made the new Qlik installation on a new server with a different host name.

Regarding the documentation I had to restore the Qlik certificates first on the new server with a different host name.But I first made the Qlik installation.

Now I am planning the restore. Can I go ahead and ignoring the old Qlik certs and use the new ones? Will I have any problems thereafter?

Question 2:

Before doing the restore I have to stop all services except the QRD, right?

 

 

1,248 Views
wcn
Employee
Employee

@TomBond77 For the restore question, you can't ignore the old Qlik certs encrypted with existing data connections. 

You must have the old Qlik CA issue and trust your new hostname.

And yes, you need to start QRD before the restore process. 

The link online manual you referred which provided you with the details of steps that you shouldn't skip or ignore. 

 

1,090 Views
TomBond77
Specialist
Specialist

Thanks @wcn 

Okay, that means I will have to restore the old certs. But will I have to uninstall the Qlik Software and install it again after I have restored the old certs? This is my understanding. Thanks for your effort.

1,062 Views
wcn
Employee
Employee

@TomBond77, are you installing the same QS version as your old machine? If so, there is no need to uninstall it. You can remove the certificates from the MMC on the new host, then follow the manual steps from 3 onwards.

If you are restoring a different version of QS, then uninstall it. 

1,033 Views
TomBond77
Specialist
Specialist

@wcn 

Thanks a lot. When removing the new certificates are they not going lost? How do I redistribute the new certificates later on after I have removed them?

Sorry for stupid questions.

1,013 Views
wcn
Employee
Employee

@TomBond77  In a new installation, if you have a problem accessing QMC or Hub because of the certificate issue, you can remove or regenerate it anytime via the -bootstrap command. You won't lose anything in this scenario. 

Your target is to restore the old environment and, after the migration, have the operation as usual for the end users. 

In this situation, the old Qlik self-signed certificate is generated and bundled into the old hostname to encrypt the data connections. Because of this, the new machine is not trusted when you restore to a different hostname. You will loose the data connection in this process.

So, the restored process requires the old CA certificates, and the encryption is transferred to the new hostname. 

If you skip this process after the installation and restore, you may be able to access QMC and Hub contents; however, for each of data connection, you must re-enter the password. 

I hope this makes the process more clear for you.

For generating the certificate process, you may have a look on How to recreate or just delete certificates in Qli... - Qlik Community - 1712692

995 Views
tvolkmerwolf
Partner - Creator
Partner - Creator

May I add my few cents ... the secret is that all the existing data connections (which you would prefer to keep using in the new environment) are encrypted using the old certificates. This is why you need to also have the old certificates on the new server, because the Qlik services will look for those old certs when making use of the "old" data connections.

For the ongoing development, secure login to the Qlik Web Services etc. the "new" certificates are essential. New data connections will now be encrypted using the new certificates.

Hope this makes sense.

973 Views
TomBond77
Specialist
Specialist

Thanks @tvolkmerwolf and @wcn , great answers!

953 Views
marksouzacosta

In addition to this topic, I'd like to introduce you to a powerful tool developed by IPC Global — the inProcess App Operations CLI. This tool is designed to seamlessly transfer Qlik Applications between Qlik client-managed and Qlik Cloud environments. Moreover, it simplifies the process of setting up backup routines for your Qlik Sense Applications, ensuring the security of your critical data.

For those interested in exploring this innovative solution further, we invite you to visit our website: https://www.ipc-global.com/inprocess-app-operations.

You can also take advantage of our free trial to experience firsthand how inProcess App Operations can enhance and streamline your Qlik application management.

Feel free to reach out if you have any questions or if there's anything else we can assist you with.

Best regards,
Mark Costa
Product Manager
IPC Global

812 Views
TomBond77
Specialist
Specialist

0 Likes
478 Views