Installation requirements for AWS Replication Agent - AWS Elastic Disaster Recovery

Installation requirements for AWS Replication Agent

Before installing the AWS Replication Agent on your source servers, ensure that they meet the following requirements:

General requirements

  • Ensure that the source server operating system is supported by AWS. Learn more about supported operating systems.

  • Ensure that your setup meets all replication networking requirements. Learn more about network requirements.

  • Ensure MAC address stability – ensure that the MAC addresses of the source servers do not change upon a reboot or any other common changes in your network environment. AWS Elastic Disaster Recovery calculates the unique ID of the source server from the MAC address. When a MAC address changes, AWS Elastic Disaster Recovery is no longer able to correctly identify the source server. Consequently, replication will stop. If this happens, you will need to reinstall the AWS Replication Agent and start replication from the beginning.

    Note

    Elastic Disaster Recovery Agents can only be installed on instances that are in AWS Regions that are supported by Elastic Disaster Recovery. In case of AWS-AWS disaster recovery (in-AWS), Elastic Disaster Recovery should be initialized in both source and target region (done by going through the initialization wizard).

Source server requirements

The following are universal requirements for both Linux and Windows source servers:

  • Root directory – Verify that your source server has at least 4 GB of free disk space on the root directory (/) .

  • RAM – Verify that your source server has at least 300 MB of free RAM to run the AWS Replication Agent.

Note

AWS Elastic Disaster Recovery does not support paravirtualized source servers.

Note

The AWS Replication Agent installer supports multipath.

Linux installation requirements

Ensure that your Linux source server meets the following installation requirements prior to installing the AWS Replication Agent:

  • Python is installed on the server – Python 2 (2.4 or above) or Python 3 (3.0 or above).

  • Verify that you have at least 4 GB of free disk space on the root directory (/) of your source server for the installation. To check the available disk space on the root directory, run the following command: df -h /

  • Free disk space on the /tmp directory – for the duration of the installation process only, verify that you have at least 500 MB of free disk space on the /tmp directory. To check the available disk space on the /tmp directory run the following command: df -h /tmp

    After you have entered the above commands for checking the available disk space, the results will be displayed as follows:

    Terminal output showing disk space usage for root and tmp directories on Ubuntu Linux system.
  • The active bootloader software is GRUB 1 or 2.

  • Ensure that /tmp is mounted as read+write.

  • Ensure that /tmp is mounted with the exec option. Verify that the /tmp directory is mounted in a way that allows you to run scripts and applications from it.

    To verify that the /tmp directory is mounted without the noexec option, run the following command: sudo mount | grep '/tmp'

    If the result is similar to the following example, it means that the issue exists in your OS: /dev/xvda1 on /tmp type ext4 (rw,noexec)

    |To fix and remove the noexec option from the mounted /tmp directory, run the following command: sudo mount -o remount,exec /tmp

    The following example illustrates the troubleshooting procedure:

    Terminal commands showing mount operations and grep searches for '/tmp' directory.
  • The AWS Elastic Disaster Recovery user needs to be a user in the sudoers list (a user who can perform sudo).

  • Ensure that the dhclient package is installed. If not, please install the package. (run yum install dhclient in CMD).

  • Verify that you have kernel-devel/linux-headers installed that are exactly the same version as the kernel you are running.

    The version number of the kernel headers should be completely identical to the version number of the kernel. To handle this issue, follow these steps:

    1. Identify the version of your running kernel.

      To identify the version of your running kernel, run the following command:

      uname -r

      Terminal output showing Linux kernel version 4.14.177-107.254.amzn2.x86_64.

      The 'uname -r' output version should match the version of one of the installed kernel headers packages (kernel-devel-<version number> / linux-headers-<version number>).

    2. Identify the version of your kernel-devel/linux-headers.

      To identify the version of your running kernel, run the following command:

      On RHEL/CENTOS/Oracle/SUSE:

      rpm -qa | grep kernel

      Terminal output showing installed kernel packages on a Linux system.
      Note

      This command looks for kernel-devel.

      On Debian/Ubuntu: apt-cache search linux-headers

      Terminal output showing search results for Linux kernel headers packages.
    3. Verify that the folder that contains the kernel-devel/linux-headers is not a symbolic link.

      Sometimes, the content of the kernel-devel/linux-headers, which match the version of the kernel, is actually a symbolic link. In this case, you will need to remove the link before installing the required package.

      To verify that the folder that contains the kernel-devel/linux-headers is not a symbolic link, run the following command:

      On RHEL/CENTOS/Oracle:

      ls -l /usr/src/kernels

      On Debian/Ubuntu/SUSE:

      ls -l /usr/src

      Terminal output showing directory listing of /usr/src with Linux kernel headers.

      In the above example, the results show that the linux-headers are not a symbolic link.

    4. [If a symbolic link exists] Delete the symbolic link.

      If you found that the content of the kernel-devel/linux-headers, which match the version of the kernel, is a symbolic link, you need to delete the link. Run the following command: rm /usr/src/<LINK NAME>

      For example: rm /usr/src/linux-headers-4.4.1

    5. Install the correct kernel-devel/linux-headers from the repositories.

      If none of the already installed kernel-devel/linux-headers packages match your running kernel version, you need to install the matching package.

      Note

      You can have several kernel headers versions simultaneously on your OS, and you can therefore safely install new kernel headers packages in addition to your existing ones (without uninstalling the other versions of the package.) A new kernel headers package does not impact the kernel, and does not overwrite older versions of the kernel headers.

      Note

      For everything to work, you need to install a kernel headers package with the exact same version number of the running kernel.

      To install the correct kernel-devel/linux-headers, run the following command:

      On RHEL/CENTOS/Oracle/SUSE:

      sudo yum install kernel-devel-`uname -r`

      On Oracle with Unbreakable Enterprise Kernel:

      sudo yum install kernel-uek-devel-`uname -r`

      On Debian/Ubuntu:

      sudo apt-get install linux-headers-`uname -r`

    6. [If no matching package was found] Download the matching kernel-devel/linux-headers package.

      If no matching package was found on the repositories configured on your server, you can download it manually from the Internet and then install it.

      To download the matching kernel-devel/linux-headers package, navigate to the following sites:

Windows installation requirements

Note

Ensure that your source server operating system is supported. Learn more about supported operating systems.

Note

Ensure that your source server meets the Agent installation hardware requirements, including:

  • At least 4 GB of free disk space on the root directory (/)

  • At least 300 MB of free RAM

Learn more about AWS Replication Agent installation hardware requirements.