Migrating your workload from an existing VM to a new VM

Stay organized with collections Save and categorize content based on your preferences.

In certain situations, you need to move your workload from an existing virtual machine instance (VM) to a new VM. Examples include needing to upgrade the operating system to a new release, or wanting to switch from the x86 architecture to the Arm architecture. In these cases, you must create a new VM and move your workload to the new VM.

Preparing to migrate to an Arm VM

If you want to migrate your VM to use the Arm CPU platform, for example, from n2d-standard-32 to t2a-standard-32, complete the following steps.

  1. Check that the operating system version for your current VM is supported for T2A VMs. View the operating system details documentation for your operating system for more information.
    • If the Arm instance requires a newer version of the operating system, verify that your applications are compatible with the newer version.
    • If an Arm image is not available for your current operating system, choose a new operating system to run your applications on and verify that your applications are compatible with the new operating system.
  2. Review the Tau T2A machine series overview to see what features are available. The T2A machine series might not support the same network or storage features that you use with your current VM.
  3. The T2A machine series might not support the same interfaces as your current machine type. Review the supported interfaces for the operating system to see what network and storage interfaces are supported. Make sure your applications support the supported interfaces.
  4. Review the available regions and zones for the T2A machine series. The T2A machine series might not be available in all the regions as your current VM. Adjust your deployment, availability, and disaster recovery plans as needed.
  5. Determine if your applications or programs will run on Arm, or if they will need modifications. Compiled x86 binaries will not run on Arm and compiled Arm binaries will not run on x86. You will need to recompile your binaries for Arm, typically with no modification to your source code. You may also need to upgrade your packages and libraries to include the Arm equivalents for the versions that you used on x86 VMs. If your application was written using the latest versions of a programming language, it will likely be compatible with Arm without requiring further modification. To run interpreted languages like Python, Ruby, and JavaScript, you must install an Arm-compatible runtime environment on your Arm VM.

Moving your workload from an existing VM to a new VM

To move your workload to a new VM, you create new VM, then move your workload to the new VM. You might do this when you need to upgrade to the latest operating system version, or switch to a VM running on the Arm platform.

  1. Update your applications and programs, if necessary, to support the gVNIC network interface, the NVMe storage interface, or the new operating system version.
  2. If your existing VM uses local SSD disks that contain data you want to keep, move the contents of those disks to a persistent disk.
  3. Create a new VM according to your specifications.

  4. Configure the necessary users, drivers, packages, and file directories on the new VM to support your workload.
  5. Update your applications and programs to use the gVNIC network interface or the NVMe storage interface, if necessary.
  6. Move persistent disks from the old VM to the new VM. You can do this by detaching the persistent disk from the old VM and adding it to the new VM. You can alternatively [transfer files](/compute/docs/instances/transfer-files) from one VM to the other.
  7. Install your modified applications and programs on the new VM. Recompile the programs on the new OS, if required.
  8. Reassign any static IP addresses associated with the original VM to the new Arm VM.
  9. Optionally, move the saved data from persistent disks back to a local SSD.

If you encounter issues when moving your workload from an x86 VM to an Arm VM, contact your Technical Account Manager (TAM) or the Google Professional Services Organization (PSO) for assistance.

What's next