Skip to main content

Migrate an On-Site Server

Changing Corellium's networking configuration in the web application will reset Corellium. Everything - all users, projects, and VM instances - will be deleted.

info

We're currently exploring ways to make this process less destructive. If you have any ideas, please let us know!

Overview

To migrate an on-site server to a new IP address:

  1. Gather existing and new networking configuration.
  2. Update networking configurations in two configuration files.
  3. Run corellium-configure to apply the changes.
  4. Reboot.

Gather Existing and New Networking Configuration

In Corellium, these are the configurable networking parameters:

  • Corellium server IP addresses (combined/controller node IP address and compute node IP address)
  • Corellium server netmask
  • Corellium server gateway
  • Corellium server DNS servers
  • Virtual device starting subnet
  • Virtual device netmask
  • Virtual device gateway
  • Virtual device DNS servers

You may or may not need to change all of these values when you move the server.

Update Networking Configurations

On each node in your cluster, SSH in as root, then back up /etc/corellium/setup.json and /etc/network/interfaces e.g.

cp /etc/corellium/setup.json /etc/corellium/setup.json.bak
cp /etc/network/interfaces /etc/network/interfaces.bak

Then, in both configuration files, for each networking parameter that's changing, replace the old value with the new value. That could look like this, with the italicized phrases replaced with the appropriate values:

sed --expression 's/old-compute-node-ip-address/new-compute-node-ip-address/g' --in-place /etc/corellium/setup.json
sed --expression 's/old-controller-node-ip-address/new-controller-node-ip-address/g' --in-place /etc/corellium/setup.json
sed --expression 's/old-gateway-ip-address/new-gateway-ip-address/g' --in-place /etc/corellium/setup.json

# ...

sed --expression 's/old-compute-node-ip-address/new-compute-node-ip-address/g' --in-place /etc/network/interfaces
sed --expression 's/old-controller-node-ip-address/new-controller-node-ip-address/g' --in-place /etc/network/interfaces
sed --expression 's/old-gateway-ip-address/new-gateway-ip-address/g' --in-place /etc/network/interfaces

# ...

Apply the Corellium configuration. On the combined/controller node, run:

corellium-configure --leader --postinst

On the compute node, run:

corellium-configure --postinst

Then reboot both nodes with reboot. When the nodes finish rebooting, if the virtual device networking configurations changed, delete and recreate projects.