Installation requirements
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 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 Application Migration Service calculates the unique ID of the source server from the MAC address. When a MAC address changes, Application Migration Service 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.
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 2 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 Application Migration Service does not support fully paravirtualized source servers. Source servers with partial paravirtualization, such as VMWare's paravirtualization of I/O devices, is supported.
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).
-
The following tools are required for agent installation only. The installer will attempt to install them if they are not present already:
make gcc perl tar gawk rpm
-
Verify that you have at least 2 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:
-
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:
$ sudo mount | grep '/tmp' /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:
-
The AWS Application Migration Service user needs to be either a root user or a user in the sudoers list.
-
Ensure that the dhclient package is installed. If not, please install the package using following -
For Redhat/CentOS/Fedora/AmazonLinux:
sudo yum install dhclient
OR
sudo yum install dhcp-client
For Ubuntu/Debian:
sudo apt install isc-dhcp-client
For SUSE, check the link
for the instructions to install " dhcp-client
" package -
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:
-
Identify the version of your running kernel.
uname -r
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>).
-
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
Note
This command looks for kernel related pacakges. The kernel-devel package is the specific package to look for.
On Debian/Ubuntu:
apt-cache search linux-headers
-
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
In the above example, the results show that the actual linux-headers-* folders are not symbolic links.
-
[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
-
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:
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`
On SUSE:
sudo zypper install kernel-default-devel-`uname -r`
-
[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:
RHEL, CENTOS, and Oracle package directory
SUSE package directory
Debian package directory
Ubuntu package directory
If the kernel-devel/linux-headers packages are not available for the current running kernel version, consider upgrading the kernel to a version that has corresponding kernel-devel packages available. System administrators should validate that the appropriate kernel-devel packages are available before upgrading the kernel.
-
Windows installation requirements
Ensure that your source server operating system is supported. Learn more about supported operating systems.
Ensure that your source server meets the agent installation hardware requirements, including:
-
At least 2 GB of free disk space on the disk containing the "Program Files(x86)" directory
-
At least 300 MB of free RAM
Learn more about AWS Replication Agent installation hardware requirements.