Pryv.io Single-node to Cluster extension
This guide describes how to migrate a single-node installation from a source machine to multiple dest machines in a cluster setup.
Table of contents
- (Optional) Create user(s) with specific data on source for post-migration verification
- Adapt platform parameters
- Migrate register master
- Replace config by cluster
- Migrate user data to core machine
(Optional) Create user(s) with specific data on source for post-migration verification
Generate a few events and streams by hand for a naked eye comparison for data transferred after the migration.
Adapt platform parameters
Fetch cluster configuration files for the same version here. Extract them, and edit the config-leader/conf/template-platform.yml
(platform.yml
for versions prior to 1.7).
The difference between a single and cluster lies in the “Machines and platform settings” section.
-
Copy the
DOMAIN
-
Set the IP addresses for the new machines, leave unused ones as-is:
STATIC_WEB_IP_ADDRESS
REG_MASTER_IP_ADDRESS
REG_MASTER_VPN_IP_ADDRESS
REG_SLAVE_IP_ADDRESS
-
Copy the
REGISTER_ADMIN_KEY
-
Set the IP address of the machine where core data will be migrated to
HOSTINGS_AND_CORES:value:hosting1:co1:ip
-
Set the
HOSTINGS_PROVIDERS
data if needed
You can overwrite the other sections with the ones from your platform.yml
Migrate register master
- Perform the register migration for the reg-master machine
Replace config by cluster
- On dest reg-master, download and untar config files for a cluster deployment of same version
- Replace or copy the
config-leader/conf/platform.yml
file with the one you prepared earlier - Copy the SSL certificates from
config-leader/data/singlenode/nginx/conf/secret/
to each new$ROLE
inconfig-leader/data/${ROLE}/nginx/conf/secret/
- On dest reg-master run:
restart-config-follower
andrestart-pryv
Migrate user data to core machine
- Perform the core migration