Version 5.0

Migrating VM groups

Use groups to perform bulk migration tasks on multiple VMs simultaneously. Groups streamline the process of planning and migrating multiple VMs so that you can perform migration in batches.

The migration process for groups uses the same phases as for an individual VM:

  • Onboarding
  • Replication
  • Set VM target details
  • Test-clone (optional)
  • Cut over
  • Finalize

With groups, before you start replication you first add one or more source VMs to a group. You then perform the migration on the entire group, or on a subset of VMs in the group.

This document describes the process of performing all migration phases on VM groups. For a complete description of each of these phases, see VM Migration lifecycle.

Prerequisites

Before you can migrate a VM group, you must have first configured the migration environment in Google Cloud and in your on-premises data center. See:

Licensing

Compute Engine supports premium pay as you go (PAYG) licenses and bring your own (BYOL) licenses, based on the operating system of the source VM. PAYG licenses are billed based on the resources that you use. See Supported operating systems for details on licensing for all supported operating system.

Options for configuring groups

While you typically perform operations on an entire group, such as starting replication, you can also perform any operation on a specific VM or subset of VMs in the group. For example, when configuring the target Compute Engine instance, some or all of the VMs in the group might have specific requirements, such as memory size or disk type, that do not apply to other VMs.

When configuring the target for a migration, you can:

  • Select the entire group to configure the target for all VMs. You can later modify the target configuration for a subset of VMs or for an individual VM.

  • Select a subset of VMs in the group and configure the target for those VMs. You can later modify the target configuration for an individual VM.

  • Select an individual VM in the group and configure the target just for that VM.

Onboard VMs in a group

A group is a logical collection of one or more VMs. Groups have the following characteristics:

  • All source VMs in the group must be from the same source.

  • A source VM can belong to one group or to no groups. That is, a VM cannot be a member of multiple groups.

  • You can perform operations on all source VMs in a group, or on a subset of VMs in the group.

  • You can configure the targets Compute Engine characteristics for the entire group, and then override them for individual source VMs in the group.

  • A group name can contain only lowercase letters (a-z), numbers, and hyphens. The name must start with a lowercase letter, and end with a lowercase letter or a number.

To onboard VMs in a group:

  1. Open the Migrate for Compute Engine page in the Google Cloud Console:

    Go to the Migrate for Compute Engine page

  2. Select the Sources tab.

  3. From the drop-down list, select the on-prem data center where you installed the Migrate Connector. The data center is referred to as a migration source.

    Below the dropdown you see the status of the data center as:

    • Active: The source is active and connected to Migrate for Compute Engine.
    • Offline: The source is unavailable.
    • Pending: The source is in the process of being connected and verified.
  4. A table appears showing the source VMs in the data center available for migration. Select the source VMs you want to add to a group.

  5. Select Add to group.

  6. In the pop-up, either specify the name of a new group or select the name of an existing group.

  7. Select Add to Group. The group name for each VM appears under the Migration group column.

    The Migration status column for each VM displays one of the following:

    Pending: VM is in the process of being onboarded.

    Ready: VM is onboarded but not yet replicating.

  8. You can now start replication of the VMs as described in the next section.

Start replication for a group

The first phase of migration is to start replicating the disk data from the source VMs to Google Cloud. This is a continuous process that takes place in the background.

Data replication is comprised of two steps:

  1. First replication step: Migrate for Compute Engine creates the initial VMware snapshot of the source VM data disks and replicates the snapshot data to Google Cloud. Depending on the amount of disk data on the source VM, the first replication can take minutes or hours to complete.

  2. Incremental replication step: Following a successful first replication step, incremental replication steps occur at set time intervals (every two hours by default). In each step, a new snapshot is created for each data disk. Only data updates that occurred after the previous step are replicated to Google Cloud using the Change Block Tracking (CBT) mechanism.

To initiate replication for a group:

  1. Open the Migrate for Compute Engine page in the Google Cloud Console:

    Go to the Migrate for Compute Engine page

  2. Select the Groups tab. You should see a list of all VM groups.

    If you do not see any entries in the table, it means you have not yet created any groups. See Onboard VMs in a group above for the procedure on creating a group.

  3. Select the group name from the list. A table appears showing the source VMs in the group.

  4. Start replication:

    1. To replicate all VMs in the group, from the Migration drop-down, select Start Replication under All migrations in group.

    2. To replicate a subset of VMs, select the desired VMs and then from the Migration drop-down, select Start Replication under Selected migrations.

    Starting the migration initiates the replication phase of migration. The Replication status column for a VM displays one of the following:

    • First sync VM is performing the first replication step.
    • Active (Current cycle: XX%) VM has performed XX% percent of the current replication step.
    • Active (Idle) VM is idle between replication steps.
  5. You can now configure group targets for the test-clone and cut-over phases.

You can also set the migration interval. For more information, see Starting replication of the source VM in the documentation on migrating an individual VM.

Configuring group targets

To configure a target, you perform two main steps:

  1. Add a target project. The target project is the project that contains the Compute Engine instance used to host the migrated VM.

  2. Configure the Compute Engine instance used to host the migrated VM. For both a test and a production environment, configure the target Compute Engine instance to specify:

    • Google project
    • Number of CPUs
    • Amount of memory
    • Disk size
    • many other options

This section describes how to set the initial configuration of the Compute Engine instance used to host the migrated VM. However, there are many additional settings that you can apply to a Compute Engine instance. See the Compute Engine documentation for detailed descriptions of all settings.

You can modify the target details at any time. When instantiating a Compute Engine instance for either the test-clone or cut-over phase, Migrate for Compute Engine uses the target details settings at the time of the operation.

To configure the Compute Engine target:

  1. If you have not done so already, add the target project as shown in Adding a target.

  2. Open the Migrate for Compute Engine page in the Google Cloud Console:

    Go to the Migrate for Compute Engine page

  3. Select the Groups tab.

    A table of available groups appears.

  4. Select a group.

  5. Select the VMs in the group to configure:

    1. Select the checkbox for an individual VM.

    2. Select the checkbox for multiple VMs.

    3. Select the checkbox in the top row of the table to select all the visible rows in the table.

  6. Select the Edit Migration Details button. A panel opens to let you configure the Migration Details for the selected VMs.

    In the panel, setting most options applies that option to all selected VMs. However, some settings are specific to the VMs and you can set them individually. If you are configuring multiple VMs, you set these options individually for each VM:

    1. (Required): The Compute Engine instance Name.

    2. (Optional): The External IP and Internal IP addresses of the Compute Engine instance.

  7. Edit the Migration Details that define the characteristics of the Compute Engine instance used to host the migrated VM as shown in Migrating individual VMs.

You can later edit the target details. When instantiating a Compute Engine instance for either the test-clone or cut-over phase, Migrate for Compute Engine uses the target details settings at the time of the operation.

Testing a clone of VMs in a group

In the test-clone phase, you deploy a clone of a migrated VM to a Compute Engine instance in your testing environment. While the testing phase is optional, it is a best practice to perform testing before deploying a migrated VM to production. The test-clone Compute Engine instance is created from the latest replication data.

To test a group:

  1. Ensure that you have configured a testing VM target environment as shown in Configuring VM target.

  2. Open the Migrate for Compute Engine page in the Google Cloud Console:

    Go to the Migrate for Compute Engine page

  3. Select the Groups tab.

    A table of available VM groups appears.

  4. Select a group.

    A table of available source VMs appears. You can test any VM that is in the Active (Current cycle: XX%) or Active (idle) state. The Active state means the first replication sync of the VM succeeded.

  5. Select the VMs in the group to test:

    1. For all VMs in the group, from the Cut-Over and Test-Clone drop-down, select Test-clone under All migrations in group. Any VMs without a valid target environment, and any VMs not in the Active (Current cycle: XX%) or Active (idle) state, are ignored.

    2. For one or more selected VMs, from the Cut-Over and Test-Clone drop-down, select Test-clone under Selected migrations. All selected VMs must have a valid target environment and be in the Active (Current cycle: XX%) or Active (idle) state.

  6. Wait for the Test-Clone/Cut-Over status column to show Succeeded, meaning the clone was created successfully.

    You can cancel an active test-clone operation by selecting a VM and then clicking Cancel Test-Clone from the Cut-Over and Test-Clone drop-down.

  7. To view the test-clone history for a VM, select the Info panel icon, Info panel file icon, for that VM.

  8. In the panel that opens from the right, select the Monitoring tab to view the history:

    View the test-clone status.
  9. To manage the running Compute Engine instance, go to the VM instances page in the Google Cloud Console:

    Go to VM instances page

    From the Google Cloud Console manage the Compute Engine instance to:

    1. Start, stop, and delete the instance.
    2. Determine the internal and external IP address of the instance.
    3. View and modify characteristics of the instance.
    4. Perform all other management tasks.
  10. Perform any validation testing or other testing on the migrated VM.

When you have completed testing you should delete the Compute Engine instance to free up resources and so that you will no longer be charged for the instance.

Cutting over a group

In the cut-over phase, you cut over control to your migrated VMs running in a Compute Engine instance in your production environment on Google Cloud. The cut over process:

  1. If data replication is currently active, meaning the Replication status of a VM is Active (Current cycle: XX%), waits for it to complete.

  2. Shuts down the source VMs.

  3. Performs the final data replication. Because replication occurs throughout all migration phases, the amount of data to replicate should not be very large.

  4. Stops replication.

  5. Creates the Compute Engine instances from the final replicated data.

The cut-over phase includes a short VM downtime and should take place during a scheduled maintenance window. You must determine the maintenance window during which you can stop the source VM and redirect traffic to the migrated VM running on Compute Engine.

To cut over to the migrated VM:

  1. Ensure that you have configured a production VM target environment as shown in Configuring VM target.

  2. Open the Migrate for Compute Engine page in the Google Cloud Console:

    Go to the Migrate for Compute Engine page

  3. Select the Groups tab.

    A table of available groups appears.

  4. Select a group.

    A table of available source VMs appears. You can cut over any VM that is in the Active (Current cycle: XX%) or Active (idle) state. The Active state means the first replication sync of the VM succeeded.

  5. Select the VMs in the group to cut over:

    1. For all VMs in the group, from the Cut-Over and Test-Clone drop-down, select Cut-Over under All migrations in group. Any VMs without a valid target environment, and any VMs not in the Active (Current cycle: XX%) or Active (idle) state, are ignored.

    2. For one or more selected VMs, from the Cut-Over and Test-Clone drop-down, select Cut-Over under Selected migrations. All selected VMs must have a valid target environment and be in the Active (Current cycle: XX%) or Active (idle) state.

    Initiating a cut-over on a migrating VM starts the following sequence of actions performed by Migrate for Compute Engine:

    1. If data replication is currently active, wait for it to complete.

    2. Shuts down the source VM.

    3. Performs the final data replication cycle. Because continuous replication occurs throughout all migration phases, the amount of data to replicate should not be very large.

    4. Creates the Compute Engine instance hosting the migrated VM from the final replicated data.

    5. Stops data replication.

  6. Wait for the Test-Clone/Cut-Over status column to show Succeeded, meaning the cut over was created successfully.

    You can cancel an active cut-over operation by selecting a VM and then clicking Cancel Cut-Over from the Cut-Over and Test-Clone drop-down.

  7. To view the cut over history for a VM, select the Info panel icon, Info panel file icon, for that VM.

  8. In the panel that opens from the right, select the Monitoring tab:

    View the test-clone status.
  9. To manage the running Compute Engine instance, go to the VM instances page in the Google Cloud Console:

    Go to VM instances page

    From the Google Cloud Console manage the Compute Engine instance to:

    1. Start, stop, and delete the instance.
    2. Determine the internal and external IP address of the instance.
    3. View and modify characteristics of the instance.
    4. Perform all other management tasks.
  10. Perform validation test on the VM.

If for any reason you want to retry the migration of a VM after cut over, you must resume replication.

To resume replication:

  1. Select a VM in the Cut-Over state.

  2. Select Migration > Resume Replication.

Finalizing a migration

The replication data used to create a Compute Engine VM is retained after cut over. That means you can use that data to create additional instances of your migrated VM after cut over.

However, you are charged for the storage used by the replication data until you delete it in the finalize phase. Finalizing deletes all replication data and all other storage resources associated with a migrated VM.

To finalize:

  1. Open the Migrate for Compute Engine page in the Google Cloud Console:

    Go to the Migrate for Compute Engine page

  2. Select the Groups tab.

    A table of available groups appears.

  3. Select a group.

    A table of available source VMs appears.

  4. Select the VMs in the group to finalize:

    1. Select an individual VM. If the VM is in the Cut-Over state then the Finalize button is enabled.

    2. Select multiple VMs in the group. If all selected VMs are in the Cut-Over state then the Finalize button is enabled.

    3. To finalize all VMs in the group, from the Group Operations drop-down, select Finalize. Any VMs not in the Cut-Over state are ignored.

  5. Select Finalize and then confirm the finalize.

    After finalize completes, the state of the VM is set to Finalized. The only allowed operations on a migration in the Finalized state are:

    • Delete the migration
    • Add to or remove from a group

Removing a VM from a group

When you remove a VM from a group, you can either move it to another group or remove it from all groups.

After removing a VM from a group, you can still manage its migration from the Migrations tab.

To remove a VM from a group:

  1. Open the Migrate for Compute Engine page in the Google Cloud Console:

    Go to the Migrate for Compute Engine page

  2. Select the Groups tab.

  3. Select a group.

  4. Remove VMs:

    1. To remove all VMs from the group, from the Group Assignment drop-down, select Move to group or Remove from group under All migrations in group.

    2. To remove a subset of VMs, select the desired VMs and then from the Group Assignment drop-down select Move to group or Remove from group under Selected migrations.

Deleting a group migration or a group

You can delete a group or a migration associated with a VM in a group.

Deleting a group has no effect on the individual VMs in the group. When you delete the group, all migration information for the individual VMs is retained and you can continue with migrating the individual VMs.

Deleting a migrating VM removes:

  • The replication data for the VM stored on Google Cloud
  • The Compute Engine configuration information
  • The monitoring history
  • All other data associated with migrating the VM
  • The VM from the list of onboarded VMs on the Groups and Migrations tabs
  • The VM from its group

However, deleting a migration does not remove the source VM from the list of available VMs for the data center displayed on the Sources tab. That is, only the migration data for the VM is deleted. The original source VM itself is not affected when you delete a migration. That means you can later onboard the source VM again to migrate it.

To delete a group:

  1. Open the Migrate for Compute Engine page in the Google Cloud Console:

    Go to the Migrate for Compute Engine page

  2. Select the Groups tab.

    A table of available groups appears.

  3. Select the checkbox in the table for the group.

  4. Select Delete.

  5. Confirm the deletion because deleting a group cannot be undone.

To delete the migration associated with one or more group VMs:

  1. Open the Migrate for Compute Engine page in the Google Cloud Console:

    Go to the Migrate for Compute Engine page

  2. Select the Groups tab.

  3. Select a group.

  4. Select the checkbox for one or more VMs in the group.

  5. Select Delete.

  6. Confirm the deletion because deleting a migration cannot be undone.