Perform a Server Migration
As new versions of the arm64
architecture are released over time, older servers may no longer natively support them. When a virtual device is run on a server where the server does not natively support the arm64
architecture type used by the device, overall performance is noticeably slower — from initial creation to regular use. To ensure the best device experience, virtual devices should be run on Corellium servers that natively support the target architecture.
If you've acquired a new Corellium server, while having an existing older Corellium server, a server migration can be performed in order to transfer your data from the old server to the new server. This means your existing VMs, users, projects, and other data will be available on the new server once the migration is complete.
Pre-migration
The following requirements must be met before migrating from the old server to the new server:
- Both servers are up and running.
- Both servers are in the same network and reachable. You should be able to ping the IP address of the old server from the new server.
- Both servers are on the same version of Corellium
7.3.1
or higher. - All the VMs are shutdown and in
off
state in the web interface on the old server. - New server is clean and no VMs are on it.
If devices were created on the new server, you need to ensure they are deleted before performing the migration. Once the devices are deleted, ensure you run corellium-configure --postinst --reset
on the new server.
Run the Migration
-
Download the
corellium-admin-tool
named package from the server's files portal then place it in the new server's root directory. -
Untar the
corellium-admin-tool
and change directories into the extracted directory. -
Run the migration script. Replace
xx.xx.xx.xx
with the IP of the old server../corellium-admin migrate --from xx.xx.xx.xx --all
-
Enter the root password of the old server when prompted. This sets up SSH key-based access so the tool can securely connect and migrate your VMs.
-
Enter
YES
when prompted to Migrate. It will show all the VMs, Projects and Users that will be migrated. Please note that this process may take some time depending on the number of VMs and Projects.
The migration will delete all existing data (VMs, Users, Projects etc.) from the new server. Please contact our support before proceeding if you have any questions or concerns.
Post-migration
-
Run
corellium-configure --postinst
. -
Reboot the new server.
-
Once server boots back up, it should be fully operational.
Example Migration Run
~/corellium-admin# ./corellium-admin migrate --from xx.xx.xx.xx --all
Attempting to connect to remote server at xx.xx.xx.xx...
Connected to remote server
Checking if Corellium versions match on both servers...
Corellium versions match
Copying corellium-admin to remote server...
Successfully copied corellium-admin to remote server
running command project list --encapsulate
returning new stream
closed; pausing stderr
================== PROJECTS ==================
Identifier Name
------------------------------------ --------
195b77dd-0d60-42b2-991c-bb6232d8557f Main
74859bf9-f298-476c-ae03-26b1ac0353ef Test
9210aeea-106a-43d0-a5aa-dbbe0fee60a2 Platform
running command user list --encapsulate
returning new stream
closed; pausing stderr
====================== USERS =======================
Username Email Administrator
-------- -------------------------- -------------
admin [email protected] 1
user1 [email protected] null
user2 [email protected] null
running command vm list --encapsulate
returning new stream
closed; pausing stderr
================================= VMS ==================================
Name Identifier Status Type Compute
------------------ ------------------------------------ ------- ------- -----------
smiling-rendering 27c48c70-84dc-4150-89cc-83111ed9275d SHUTOFF android xx.xx.xx.xx
inviting-accordion 63d52185-821a-4838-b645-705272d0891b SHUTOFF ios xx.xx.xx.xx
unselfish-frog 6ccba05d-4cf9-49e6-b619-d3915f5b2791 SHUTOFF android xx.xx.xx.xx
bright-seamstress 877c3d13-ad21-4ca4-a0ef-1a954db04366 SHUTOFF ios xx.xx.xx.xx
lovely-simulacrum c77a7b04-839c-4563-b0d0-361ead98cdf8 SHUTOFF android xx.xx.xx.xx
running command image list --encapsulate
returning new stream
closed; pausing stderr
============================== IMAGES ================================
Identifier Name Type Size Location Checksum
------------------------------------ ----------- --------- ---- ----------- --------------------------------
cfbc4fd4-02d1-4fbe-9b4d-d09e8ea2ef79 sockcap.zip extension 7845 xx.xx.xx.xx e44df7cdec9c13f662c49cb55131fc19
############################################################################
### *** WARNING: Full Migration will delete ALL data on this cluster *** ###
### *** This action is irreversible and cannot be undone. *** ###
### *** Please Proceed with caution *** ###
### *** For further questions contact support and turn back now *** ###
############################################################################
Are you sure you want to migrate this data? (y/n): y
Stopping Corellium services on remote server...
Migrating database tables...
Successfully migrated database tables
Changing IP values from xx.xx.xx.xx:11111 to xx.xx.xx.xx:11111
........
............
................
Successfully migrated image
All images migrated successfully
Migrating firmwares from server xx.xx.xx.xx to local /var/ipsw
Successfully migrated firmwares.
--------------------------------------------------------------------------------------------
Troubleshoot Migration
If you encounter any issues or have any additional questions or concerns about the migration, please reach out to our support team.