# Preparing the Source VM for Conversion to an Amazon EC2 Instance

Before you convert VMware, Azure, or Hyper-V VMs to Amazon EC2 instances, based on the selected transport mode and restore configuration, you might need to install drivers on the source VMs so that the converted instances will boot. Some conversion methods install the required drivers automatically.

## Drivers to Install

Method of conversion | Paravirtual (PV) drivers | Amazon EC2 drivers | NVMe drivers | ENA drivers
--- | --- | --- | --- | ---
Amazon EBS direct API | As a part of the conversion, drivers are automatically installed. To preinstall the drivers, see Installing Drivers Automatically for EBS Direct API Conversion.
Commvault HotAdd | -- | -- | -- | --
VM Import/Export | -- | -- | Yes, but only for conversion to Nitro instances | Yes, but only for conversion to Nitro instances

## Procedures

Commvault supports automatically injecting drivers for Linux VMs that are from a Red Hat distribution.

### Linux: RHEL, Oracle, and Suse

1. If the source VM is Linux and not an Amazon EC2 instance, install the following Xen drivers on the source VM:

   - xen-blkfront

   - xen-netfront

     Note

     Installing the Xen drivers on the Linux guest VMs prior to replicating the VMs, enables them to be in place when the Amazon instances are created, started, and ready for you to access.

2. If converting to a Nitro instance type, then install the NVMe and ENA drivers on the source VMs. The following OS versions have the required NVMe and ENA drivers installed:

   - Red Hat Enterprise Linux 7.4 or later

   - SUSE Linux Enterprise Server 12 SP2 or later

3. Check if the OS versions have the required NVMe and ENA drivers pre installed. Run the following command:

       modinfo nvme

       modinfo ena

4. If the drivers require an update, run the following command:

       sudo yum update -y

   For SUSE:

       sudo zypper update -y

5. Reboot your instance to load the latest kernel version.

6. Once the drivers are installed, log on to the Linux VM as a root user. Go to the /boot folder:

       cd /boot

7. Perform a backup of the .img file for the kernel.

8. Open the editor to edit the dracut.conf configuration file:

       vi /etc/dracut.conf

9. Add the nvme-core and nvme module names to the "add_drivers" line with spaces separating each module.

   For example, when both xen and nitro drivers are installed:

       add_drivers+="xen-blkfront xen-netfront nvme-core nvme"

10. Return to the /boot folder:

        cd /boot

11. Recut the initramfs:

        dracut -f -v

12. Run the following command to verify if the drivers are loading successfully:

        lsinitrd | grep -i -e nvme -e ena

    Sample output:

        [root@oracle-3 ~]# lsinitrd | grep -i -e nvme -e ena
        drwxr-xr-x  3 root  root   0 Apr 12 12:49 usr/lib/modules/5.4.17-2136.305.5.5.el7uek.x86_64/kernel/drivers/nvme
        drwxr-xr-x  2 root  root   0 Apr 12 12:49 usr/lib/modules/5.4.17-2136.305.5.5.el7uek.x86_64/kernel/drivers/nvme/host
        -rw-r--r--  1 root  root   59980 Apr  6 02:42 usr/lib/modules/5.4.17-2136.305.5.5.el7uek.x86_64/kernel/drivers/nvme/host/nvme-core.ko.xz
        -rw-r--r--  1 root  root   35968 Apr  6 02:42 usr/lib/modules/5.4.17-2136.305.5.5.el7uek.x86_64/kernel/drivers/nvme/host/nvme.ko.xz

### Ubuntu

Ubuntu 16.04 and later include the linux-aws package, which contains the NVMe and ENA drivers required by Nitro-based instances. Upgrade the linux-aws package to receive the latest version.

1. Check if Ubuntu 14.04 (with linux-aws kernel) or later has the required NVMe and ENA drivers pre installed. Run the following command:

       modinfo nvme

       modinfo ena

2. If the drivers require an update, run the following command:

       sudo apt-get update -y

3. If the drivers are not present, run the following command:

   - For Ubuntu 14.04, install the latest linux-aws package:

         sudo apt-get install linux-aws

   - For Ubuntu 16.04 and later include the linux-aws package, which contains the NVMe and ENA drivers required by Nitro-based instances. Upgrade the linux-aws package to receive the latest version:

         sudo apt-get install --only-upgrade -y linux-aws

4. Reboot your instance to load the latest kernel version.

5. If the restored Ubuntu instance is taking a long time to come online, check for the cloud-init service on the source VM. If it is not needed, remove it and then attempt backup and restore. Perform the following steps:

   - To check the cloud-init service, run the following command:

         echo 'datasource_list: [ None ]' | sudo -s tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg

   - To remove the package, run the following command:

         sudo dpkg-reconfigure -f noninteractive cloud-init

### Windows Server 2016 and Later

If the source VM is not an Amazon EC2 instance, then install the drivers manually.

1. Download the following files:

   - https://s3.amazonaws.com/ec2-windows-drivers-downloads/AWSPV/Latest/AWSPVDriver.zip

   - https://s3.amazonaws.com/ec2-downloads-windows/EC2Config/EC2Install.zip

2. If converting to a Nitro instance type, then the NVMe and ENA drivers are also required. Install them using the following links:

   - https://s3.amazonaws.com/ec2-windows-drivers-downloads/NVMe/Latest/AWSNVMe.zip

   - https://s3.amazonaws.com/ec2-windows-drivers-downloads/ENA/Latest/AwsEnaNetworkDriver.zip

### Windows Server 2012 and Server 2012 R2

If the source VM is not an Amazon EC2 instance, then install the drivers manually.

1. Download the following files:

   - https://s3.amazonaws.com/ec2-windows-drivers-downloads/AWSPV/8.4.3/AWSPVDriver.zip

   - https://s3.amazonaws.com/ec2-downloads-windows/EC2Config/EC2Install.zip

2. If converting to a Nitro instance type, then the NVMe and ENA drivers are also required. Install them using the following links:

   - https://s3.amazonaws.com/ec2-windows-drivers-downloads/NVMe/Latest/AWSNVMe.zip

   - https://s3.amazonaws.com/ec2-windows-drivers-downloads/ENA/Latest/AwsEnaNetworkDriver.zip

### Windows Server 2008 R2 and Earlier

This procedure is required only for source VMs that run on a version of Windows Server earlier than Windows Server 2012 R2.

To function, Amazon EC2 instances must have Xen drivers. If Xen drivers are not installed, the replication or conversion operation cannot create a virtual network adapter for the replicated or converted VM, and the status check for the replicated or converted VM fails after replication or conversion.

The following drivers are supported for 2008 R2 VM conversions or replications:

- AWS PV drivers (version 8.3.5 and earlier)

- EC2 config drivers(version 4.9.4326 and earlier)

- NVMe drivers( version 1.3.2 and earlier)

- ENA drivers(version 2.2.3 and earlier)

1. You can perform a restore or conversion using HotAdd. On the access node, create an Amazon folder under the software_install_path/Commvault/ContentStore folder, and extract the contents of the below zip files to the Amazon folder:

   https://s3.amazonaws.com/ec2-windows-drivers-downloads/AWSPV/8.3.5/AWSPVDriver.zip

   https://s3.amazonaws.com/ec2-downloads-windows/EC2Config/EC2Install.zip

   These drivers will be injected to the restored instance.

2. To manually inject drivers for conversion using direct write, install the following drivers on the source guest:

   https://s3.amazonaws.com/ec2-windows-drivers-downloads/AWSPV/8.3.5/AWSPVDriver.zip

   https://s3.amazonaws.com/ec2-downloads-windows/EC2Config/EC2Install.zip

   To boot up successfully, you must reboot on the converted instance in AWS. To upgrade an AWS non-nitro to a nitro instance type, see AWS Migrate to latest generation instance types.

3. You can also include drivers for a nitro conversion or replication:

   1. If the instance is running Windows Server 2008 R2 SP1, ensure that is has the SHA-2 code signing support update.

   2. The version of the Powershell must be 3 or higher to install the nitro drivers.

   3. Install the EC2 and PV drivers from above links and reboot the guest.

   4. You can set the execution policy to Unrestricted in powershell. By default it is set to Restricted or RemoteSigned. From the command line, run:

          Set-ExecutionPolicy -ExecutionPolicy Unrestricted

   5. Download the ENA driver and extract the zip archive

   6. Install the ENA driver by running the `install.ps1` PowerShell script.

   7. Download the NVMe driver and extract the zip archive.

   8. Install the NVMe driver by running the `install.ps1` PowerShell script or by running the `dpinst.exe`.

   9. Run the following command from powershell administrator session:

          start rundll32.exe sppnp.dll,Sysprep_Generalize_Pnp -wait

   10. Reboot the instance.

   11. Create a backup and convert it to Amazon EC2 using direct write or HotAdd disabling driver injection.

## Related Pages

- Amazon EBS and NVMe on Linux instances

- Automatically Inject Xen and Nitro Drivers for Linux Guest VMs

- Enable enhanced networking with the Elastic Network Adapter (ENA) on Linux instances

- How do I install and activate the latest ENA driver for Enhanced Network Support on an Amazon EC2 instance running Red Hat 6/7?

×

Loading...