Copyright ©
Mindbreeze GmbH, A-4020 Linz, 2023.
All rights reserved. All hardware and software names are trade names and/or trademarks of their respective owners.
These documents are confidential. The delivery and presentation of these documents alone does not justify any rights whatsoever to our software, our services and service performance results or other protected rights. The disclosure, publication or reproduction is not permitted.
For reasons of easier legibility, gender differentiation has been dispensed with. In terms of equal treatment, appropriate terms apply to both sexes.
.
This document describes the most important aspects of backing up Mindbreeze InSpire configuration and index data.
The backup strategy should contain the following types of data and should be applied especially before installing product updates:
Mindbreeze InSpire regularly backs up:
All other data must be backed up manually.
If you want to create manual backups, you can read about this in the following documentation, depending on which Mindbreeze InSpire Generation you are using:
Automatically created backups are stored in /data/backups. The following sections provide details on restoring backups.
Please note that shell access is required to restore configuration data.
Stop the mesmaster service and run the following script:
/opt/mindbreeze/bin/import_managerconfig.sh <configuration directory>
The <configuration directory> refers to the automatically created backups in the /data/backups/mesconfig-backups/inspire_mesconfig-<date time> directory.
Automatically created index backups are stored under /data/backups/index-backups. To restore the indexes, copy the underlying /data/backups/index-backups folders (but only the contents of the current folder) to their original directory (typically /data/indices or /data/servicedata), for example:
mkdir /data/indices/ms-file
cp -a /data/backups/index-backups/ms-file/current/* /data/indices/ms-file
Automatically created database backups are stored under /data/backups/telemetrydb-pgdump/<date> and contain the following files:
To restore the databases, first stop the services mesnode and apptelemetryserver. Execute the following commands:
cd /data/backups/telemetrydb-pgdump/<date> #replace <date> with the desired folder
gunzip <backup.gz> #replace <backup.gz> with persistedresources.sql.gz, postgres.sql.gz or telemetrydb.sql.gz
dropdb --if-exists <dbname> #replace <dbname> with persistedresources, postgres or telemetrydb
createdb <dbname> #replace <dbname>
psql -d <dbname> -f <backup.sql> #replace <dbname> and <backup.sql> with the extraced sql file
Snapshots can be used to migrate from one Mindbreeze InSpire appliance to another. Snapshots can be managed in the Mindbreeze Management Center (MMC) (since Mindbreeze InSpire version 21.1, G7).
Since Mindbreeze InSpire version 20.1 the command line tool mesadmin supports the sub-command snapshot. This makes it possible to create and restore snapshots independently of Mindbreeze InSpire Generation (G6 / G7). This tool can therefore be used to migrate a Mindbreeze InSpire G6 appliance to a new Mindbreeze InSpire G7 appliance. Please note that migration from G7 to G6 is not supported.
A snapshot created in Mindbreeze Management Center (MMC) or with the command line tool mesadmin snapshot contains
Please note that snapshots are not a complete backup! For example, indexes, cache files of Caching Principal Resolution Services or also Mindbreeze InSpire licenses are not included in the snapshot.
Please also make sure that you keep your snapshots in a secure place, as sensitive information is also included!
If you want to migrate from your Mindbreeze InSpire G7 appliance to another Mindbreeze InSpire G7 appliance, please read the following subsections. If the migration target appliance is a new Mindbreeze InSpire appliance, please also refer to the initial setup for G7 appliances.
The following subsections explain how to first create a snapshot of your Mindbreeze InSpire G7 appliance and import it to another appliance. Please also note that in certain cases, manual intervention is necessary – details on this will be described later.
The migration process is as follows:
Snapshots can be managed in the Mindbreeze Management Center in the "Snapshots" menu. A distinction is made between "Snapshot in Progress", "Snapshots" and "Snapshot Archives", with the following functions available:
To create a snapshot, click “Add Snapshot” in the “Snapshots” list. Then enter a name and a description. Click the "Save" button to create the snapshot. Depending on the appliance, this can take up to several minutes. The snapshot is created by a task.
When creating a Snapshot, one of the following profiles can be selected. The profiles differ in that they include different properties in the Snapshot. Their included and non-included properties are also listed under the respective profiles.
For backing up your Mindbreeze InSpire appliance you need either “Application Migration” or “Complete” profile.
Then archive the snapshot by clicking the “Archive” button.
Now the created archive appears under "Snapshot Archives". Click “Download” so that you can later import it into the target appliance.
Now go to the appliance where you want to import the snapshot. In the “Snapshot Archives” list, click “Upload Snapshot” and select the snapshot archive you exported in the previous step.
Then import the uploaded snapshot by clicking "Import". You will now be asked if you really want to import the snapshot; confirm the dialog by clicking "Import".
The snapshot now appears in the "Snapshots" list. Apply the snapshot to your appliance by clicking "Apply". Again, depending on the appliance, this may take up to several minutes.
In order for your migrated Mindbreeze InSpire appliance to be fully operational now, you only need to perform a few more small steps:
If you want to migrate from your Mindbreeze InSpire G6 appliance to Mindbreeze InSpire G7, please read the following subsections. Please also read the instructions for the initial setup for G7 appliances.
The following subsections explain how you can first take a snapshot of your Mindbreeze InSpire G6 appliance and import it into your new Mindbreeze InSpire G7 appliance. Please also note that in certain cases manual intervention is necessary – details will be described later.
The migration process is as follows:
Note: If you have a primary system and a standby appliance in use, only perform the following steps on your G6 primary system.
Create a snapshot using the following command:
mesadmin snapshot create --output-file /data/g6-snapshot.tar g6-snapshot
Only the most important app.telemetry log pools are included in the snapshot by default (Client Service, Query Service, Prediction Service, Client Service Query Log). If you want to include all log pools, you can specify the --exportalltelemetrytables option. If you want to completely exclude the app.telemetry database from the snapshot, you can specify the --skiptelemetry option. If you don't want to decide which data to migrate until you apply the snapshot to your G7 appliance, you can choose to do so later. Information about all other options can be displayed by executing the following command:
mesadmin snapshot create --help
After you have taken the snapshot (mesadmin snapshot create ... ), the command line tool writes a log to the standard output. Please check with the help of the log whether the export contains all required data.
ATTENTION: If the export is not complete, errors are shown, but the snapshot file is always created. If the missing data is not relevant to you, you can also import this snapshot into your G7 appliance.
Please note that a snapshot created with mesadmin snapshot only contains the configuration and not the index data. After the migration, all indexes must be rebuilt on the Mindbreeze InSpire G7 appliance; plan sufficient time for this.
Note: If you have a primary system and a standby appliance in use, perform the following steps only on your G7 primary system.
Now go to the appliance where you want to import the snapshot. In the “Snapshot Archives” list, click “Upload Snapshot” and select the snapshot archive you exported in the previous step.
Then import the uploaded snapshot by clicking "Import". You will now be asked if you really want to import the snapshot; confirm the dialog by clicking "Import".
The snapshot now appears in the "Snapshots" list. Apply the snapshot to your appliance by clicking "Apply". Like creation, applying a snapshot is also performed through a task. After you click “Apply”, a new entry appears in the “Snapshots in Progress” table. This action is uncancellable. Again, depending on the appliance, this may take up to several minutes.
Alternatively, you can import the snapshot using the mesadmin snapshot command line tool, see the next section.
Note: If you have a primary system and a standby appliance in use, perform the following steps only on your G7 primary system.
To apply a snapshot of your G6 appliance to your new G7 appliance, you must first copy the snapshot from your G6 appliance (/data/g6-snapshot.tar) to your G7 appliance. It is important that the snapshot file is accessible from the inspire Docker container. The directory /var/data/default/data on the G7 host can be accessed from the inspire Docker container under the directory /data. For example, you can copy the g6-snapshot.tar file to /var/data/default/data/.
Then switch to bash in your G7 appliance.
Start bash in the inspire Docker container on your G7 appliance by executing the following command:
docker exec -it inspire bash
Then check whether the snapshot was copied correctly based on the file size:
ls -l /data/g6-snapshot.tar
If the snapshot was copied correctly, you can start the migration by running the following command:
mesadmin snapshot migrate /data/g6-snapshot.tar
For example, if you do not want to migrate the app.telemetry database, you can specify the --skiptelemetry option. Information about all other options can be displayed by executing the following command:
mesadmin snapshot migrate --help
To get your Mindbreeze InSpire G7 appliance fully operational, you only need to follow a few small steps:
In certain cases, manual intervention is necessary during migration. This can be due to various reasons:
If the host name of your source appliance is different from the target appliance, you have to make manual changes to the target appliance:
Some files may be located in a directory that is not included in the snapshot. You have the following options:
Here are some examples:
The menu in the Mindbreeze Management Center can already be customized with Mindbreeze InSpire G6. Please note that with G7 the "title" in "resource.json" may not contain any special characters. It is also possible that you have customized the host name of the Insight App. Please note that you may need to change this if the host name of your target appliance has changed.
Since Spring Release 2018 HF3 (G7 only) Mindbreeze InSpire supports a role-based permission system to restrict access to certain menu items. If you choose this variant, additional features are available, such as the definition of submenu items. To switch to the role-based variant, the inspire Docker container must not contain the file data/resources/resource.json. Rename the file first before you delete it permanently and read the documentation for the Role-based Management Center menu.
If you have a primary system and a standby appliance in use, you only need to migrate the primary system (create the snapshot on G6 and install it on G7).
In Mindbreeze InSpire G7 (since version 19.0) the configuration and operation of a primary system and a standby appliance has been simplified (see Setup InSpire G7 primary and standby appliances and update notes between image versions (18.x to 19.0)). Since this has fundamentally changed the configuration, you will need to make a few configuration changes.
Using distributed operation you have the possibility, for special cases e.g. if the Producer Index is no longer available, to use the Consumer Index as Producer.
The following requirements must be met for this:
If the prerequisites are met, now follow these steps:
Note: If you want to use several different consumer indices as producer, you have to perform these steps for all indices.