Migrating VMs to sole-tenant nodes and Windows BYOL

You can use Migrate for Compute Engine to move VMs to Compute Engine sole-tenant nodes. If you're using a bring-your-own-license (BYOL) licensing scheme, you can set the license string to use for the migrating VM.

With sole-tenant nodes, Compute Engine ensures your VMs don't share a host with another customer's workloads. For more information about sole-tenant nodes, see the Compute Engine documentation.

Before you begin

Before you migrate to sole-tenant nodes, you must set up your node configuration on Compute Engine. As part of that setup, you must:

Specifying node affinity

When migrating to a sole-tenant node, you can specify node affinity details for Compute Engine to use with the migrating VM.

Node affinity determines which nodes your VMs use as hosts. You must configure node affinity keys and values in Compute Engine before using them in Migrate for Compute Engine.

To use node affinity in your migration, configure the keys and values in your runbook as follows:

  • Set each affinity label key in the runbook field named SoleTenancy-NodeAffinity:KEY.
  • To allow a VM to be migrated to a sole-tenant node that matches multiple keys (for example, workload and layer), add multiple columns, each with a different key.
  • To allow a VM to be migrated to a sole-tenant node that matches at least one value or key, place them in the same column or row value and separate them with a |.

In the following example:

  • A sole-tenancy affinity label with a key of workload has possible values of dev, staging, and prod.
  • There are two VMs, app-prod and app-test.
  • The app-prod VM must run on the nodes tagged with the prod key, but the app-test VM can run on nodes tagged with either staging or dev keys.
VmName SoleTenancy-NodeAffinity:workload
app-prod prod
app-test dev|staging

Create VMs on sole-tenant nodes

To have Migrate for Compute Engine specify that VMs should launch on sole-tenant nodes -- optionally using a BYOL licensing model -- add settings to the runbook file you'll use to create migration waves.

For more on runbook fields, see the Runbook reference.

To run VMs on sole-tenant nodes:

  1. In your runbook, add the following columns and set their values for each VM you want to migrate to a sole-tenant host:

    Field Required Format Notes
    SoleTenancy-NodeAffinity:KEY Yes. String Node affinity groups that the VM can be launched in. For more information, see About node affinity in this topic.
    SoleTenancy-NodeAffinityNot:KEY No. String Node affinity groups that the node cannot be launched in. Multiple groups must be separated by a | character.
    SoleTenancy-VmHostMaintenancePolicy No. migrate (default) or terminate

    The migrate policy is currently not supported for Windows BYOL. Your wave migration can't proceed if the terminate option is not explicitly set when using BYOL.

    SoleTenancy-RestartOnFailure No. true (default) or false

  2. For VMs using a BYOL licensing schema, verify that you created your sole-tenant node with the --restart-node-on-minimal-servers flag.

  3. For Windows BYOL, specify the OS license using the license:os runbook field as described here:

    Field Required Format Notes
    license:os Yes for changing software license source. String A supported Windows license string.

    Specify one of the license strings listed in VM OS license support. When migrating from another cloud-based source platform, for better version granularity be sure to specify a license. Also, when migrating Windows versions 2008 R2 or 2016, and you want to use a pay-as-you-go license, be sure to specify the correct pay-as-you-go license from the license strings list. If you don't specify a license, Migrate for Compute Engine will use the 2012 license.

  4. Continue with your wave migration.

Suggested configurations for sole-tenant nodes with different licenses

Looking to migrate to sole-tenant nodes? Here is a table that can help you decide which configuration options are right for you.

License Scenario Windows Server BYOL MS SQL BYOL Windows PAYG
or Linux (BYOL/PAYG) Sole-tenancy with resource pool
License Type Per Core License Per Core License With Software Assurance
Nodes in the group are
licensed in advance
Using a resource pool
Sole-tenant nodes settings in Compute Engine
Sole Tenant Node Property - --restart-node-on-minimal-servers Yes Yes No No
Individual VM settings in your runbook
VM Property - Affinity Labels Yes Yes Yes Yes
VM Property - Host Maintenance Policy Terminate Terminate Migrate Migrate
VM Property - Restart on failure Yes / No Yes / No Yes / No Yes / No
VM Property - Windows OS license
Licenses can be found at the Compute Engine documentation.