Skip to main content

The tool for migrating SystemLink data.

Project description

NI-SystemLink-Migration tool nislmigrate

nislmigrate is a command line utility for migration, backup, and restore of supported SystemLink services.

Prerequisites

1. SystemLink

  • This tool offically supports migration between SystemLink versions 21.0, 21.1, 21.3, & 21.5. Other versions have not been tested.
  • We assume the server you are migrating to is clean with no data. Migrating to a server with existing data will result in data loss.
  • Services that are supported with any caveats and exceptions are detailed in the Supported Services section below.
  • This tool assumes a single-box SystemLink installation.
  • This tool must be run on the same machines as the SystemLink installations.

2. Python

  • This tool requires Python 3.8 to run.
  • The documentation in this repository assumes Python has been added to your PATH.

Installation

The latest released version of the tool can be installed by running:

pip install nislmigrate

Usage

Backup

To backup the data for a service listed in the Supported Services section run the tool with elevated permissions and use the capture option with the corresponding flag for each of the services you want to back up (e.g. --security):

nislmigrate capture --security

This will backup the data corresponding with each service into the default migration directory (C:\Users\[user]\Documents\migration\). You can specify a different migration directory using the --dir [path] option:

nislmigrate capture --security --dir C:\custom-backup-location

To backup the data for all supported services at once, the --all flag can be used instead of listing out each individual service. Using --all will require that you include the --secret flag for services that require encrypting backed up data for security:

nislmigrate capture --all --secret <password>

Restore

:warning: Restoring requires the --force flag to explicitly allow overwriting the existing data on the server. Without it, the command will fail.

To restore the data for a service listed in the Supported Services section run the tool with elevated permissions and use the restore option with the corresponding flag for each of the services you want to restore (e.g. --security):

nislmigrate restore --security

This will restore the data corresponding with each service from the default migration directory (C:\Users\[user]\Documents\migration\). If your captured data is in a different directory that can be specified with the --dir [path] option:

nislmigrate restore --security --dir C:\custom-backup-location

To restore the data for all supported services at once, the --all flag can be used instead of listing out each individual service. Using --all will require that you include the --secret flag for services that require encrypting backed up data for security:

nislmigrate restore --all --secret <password>

Migration

:warning: Server B must be a clean SystemLink installation, any existing data will be deleted.

To migrate from one SystemLink server instance (server A) to a different instance (server B):

  1. Install the migration tool on server A and server B.
  2. Follow the backup instructions to backup the data from server A.
  3. Copy the data produced by the backup of server A on server B.
  4. Warning: Ensure server B is a clean SystemLink installation, any existing data will be deleted.
  5. Follow the restore instructions to restore the backed up data onto server B.

Development

See CONTRIBUTING.MD for detailed instructions on developing, testing, and releasing the tool.

Supported Services

The services that can be migrated with this utility along with short descriptions can be listed by running:

nislmigrate capture -h

Most services require migrating the --security service at the same time for the migration to be successful, and some services have additional dependencies which are listed in the table below.

Supported Service Argument Flag Also requires migrating Additional Notes
Security --security
User Data --userdata --security
Notifications --notification --security
File Ingestion --files --security - Must migrate file to the same storage location on the new System Link server.
- To capture/restore only the database but not the files themselves, use --files --files-metadata-only. This could be useful if, for example, files are stored on a file server with separate backup.
- If files are stored in Amazon Simple Storage Service (S3), use --files --files-metadata-only.
- If the file store path is different on the server you are restoring to, use the --files-change-file-store-root [NEW_ROOT] flag to update the metadata of all files to point to the new root during a restore operation.
- If you have uploaded your local files to S3 and need to update the file path metadata, use --files-change-file-store-root [S3://<bucket-name>/<folder-path-if-applicable>] along with --files-switch-to-forward-slashes.
Repository --repo --security - Feeds may require additional updates if servers used for migration have different domain names
Dashboards and Web Applications --dashboards --security
System States --systemstates --security - Feeds may require additional updates if servers used for migration have different domain names
- Cannot be migrated between 2020R1 and 2020R2 servers
Tag Ingestion and Tag History --tags --security
Tag Alarm Rules --tagrule --security
--notification
Alarm Instances --alarms --security
--notification
- Cannot be migrated between 2020R1 and 2020R2 servers
Asset Alarm Rules --assetrule --security
--notification
Asset Management --assets --security
--files
--tags
Test Monitor --tests --security
--file
Systems --systems --security
--tags
--file
- WARNING: Captured systems data contains encrypted secret information and should not be copied to a publicly accessible location.
- To capture/restore systems, a secret must be provided using the --secret <SECRET> command line flag. Captured systems data will require the same secret to be provided as was provided during capture in order to be able to decrypt sensitive data.

There are plans to support the following services in the future:

  • OPC UA Client: --opc
  • TDM --tdm
  • Cloud Connector --cloud

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nislmigrate-1.0.1.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

nislmigrate-1.0.1-py3-none-any.whl (38.3 kB view details)

Uploaded Python 3

File details

Details for the file nislmigrate-1.0.1.tar.gz.

File metadata

  • Download URL: nislmigrate-1.0.1.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for nislmigrate-1.0.1.tar.gz
Algorithm Hash digest
SHA256 2f8337494f399974c979078f1dbe850c7e44fb6db473239923679532fcb265f4
MD5 4e40f4da02811349963a7c56bb7b7a7c
BLAKE2b-256 6dbec5e609d828ad88b375e3ea5ff7ed22a4a51e5315e90d60949a995cd1174f

See more details on using hashes here.

File details

Details for the file nislmigrate-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: nislmigrate-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 38.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

File hashes

Hashes for nislmigrate-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eb36eba263ccd2a8526618999381fceed8b0812c7dcab1375c3ced7ced6377d5
MD5 26761bb18026b541ff0f08addcea0d79
BLAKE2b-256 65e7661faf5a1190e866285eece25db11e998145242b02be3958c58efe462eea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page