To function properly on Google Cloud, migrated VMs may need changes to their configuration. Velostrata handles some configuration changes automatically, but you can also script custom configuration for Windows and Linux. Custom configurations allow a VM and its operating system (OS) to run in Google Cloud. These custom configurations are known as adaptations. The following sections describe how to customize VM and OS adaptations.
Customizing VM adaptations
Velostrata handles many VM adaptations automatically, but you can write custom configurations for Linux as needed. For example, you can install drivers to boot your VM.
Velostrata can execute scripts during migration to enable these adaptations. Scripts can be developed by customers or provided by Velostrata under a support package.
Scripts may run in three machine states (for Windows VMs) or phases (for Linux VMs):
|MachineState (Windows VM)||Phase (Linux VM)||Description|
|Velostrata||velos||Run when the VM is running in cached mode|
|Detach||detach||Run after the detach operation|
Operating system adaptations
This section describes OS adaptations performed by Velostrata, as well as modifications made to Windows and Linux VMs for the run-in-cloud and detach operations.
VM changes performed automatically
Velostrata prepares Linux VMs for booting in Google Cloud using an automatically installed package. Changes are activated only when detecting a run-in-cloud operation, and the package can remain installed after the VM has been migrated. If the package is uninstalled, all changes are reverted.
The set of changes made to the system are:
- Enable booting on Google Cloud.
- Enable the serial console.
- Cloud-specific changes for the Velostrata storage channel.
- Hardware-specific adaptations for cloud migration.
Modifications for run-in-cloud on Windows VMs
Before moving the Windows VM to Google Cloud, Velostrata shuts down the VM and takes a snapshot. Velostrata then modifies the networking and storage drivers to allow the VM to boot in the cloud.
- Install the NETKVM driver for Velostrata.
- Change network configuration.
- System tuning for iSCSI and MPIO access.
- Change license/edition.
- Disable VMware tools.
- Change page file location.
- Ensure hibernation is disabled.
- Change recovery options.
- Enable RDP.
- Deploy the Velostrata framework that allows you to run custom actions.
Modifications for detaching a Windows VM
In addition to changes made during the run-in-cloud operation, during a detach of a Windows VM, Velostrata installs the Google Cloud cloud agent.
Modifications for run-in-cloud on Linux VMs
The Velostrata package is required before migrating.
When you migrate a VM that has VMware tools installed, Velostrata shuts down the VM gracefully and takes a snapshot of the VM. Velostrata then modifies the networking and storage drivers to allow the VM to boot on Google Cloud. These modifications include:
- Changing to the boot sequence (
- Enabling the serial console.
- Dynamically applying the following modifications in the cloud:
- Moving mount points with the _netdev option to shut down correctly.
- Remapping swap files.
- Starting the Velostrata keep-alive service.
- Performing disk optimizations.
- Install Compute Engine Linux Guest Environment packages.
- Remove unmigrated disks from
- Changing network configurations, including:
sshdwith key-based authentication.
- Remove static IPs and routes: The Velostrata package removes all static configuration.
- Reconfigure the default network interface (eth0) to use DHCP.
- Update the primary IP address of hostname in /etc/hosts: Some applications rely on /etc/hosts to extract the local IP address. The package updates /etc/hosts with the new IP address to preserve compatibility.
- Update NTP configuration to
- Reset MTU to 1460, if necessary.
- Remove persistent MAC address configurations, for example:
rm -f /etc/udev/rules.d/70-persistent-net.rules
- Making changes specific to Google Cloud, as needed.
Changes made on every boot while streaming on Compute Engine
- Remount volumes with
- Move swap files to ephemeral volumes.
- Start Velostrata keep-alive service.
- Trim (unmap) unused disk space.
- Remove static IPs and routes.
- Update Primary IP of hostname in
Modifications for detaching a Linux VM
In addition to modifications made for the run-in-cloud operation, the package tunes the network configuration after detaching.
- Remove static ips, netmasks and routes.
- Remove inactive NICS.
- Remove NIC hardware attachments.
- Enforce DHCP on eth0.
- Enforce default GW.
- Configure custom DNS server.
- Configure alias IP ranges.
- Remove VMware, Azure, or AWS guest agent.