01. Pre-Requisites

Root Privilege

Unless explicitly indicated, all commands involved in this document need to be run as the root account.

Source Machine Setup

Install EPEL to access extra packages

sudo rpm -Uvh https://archives.fedoraproject.org/pub/archive/epel/5/x86_64/epel-release-5-4.noarch.rpm

then you can try 'yum install package'

VirtaMove Installation

Pre-Requisites

Red Hat Developer Subscription

Red Hat Developer Subscription allows access to Red Hat products offered through the Red Hat Developer program. Red Hat Developer Subscription is required to install software packages to RHEL servers.

To obtain the Red Hat Developer Subscription, register at https://developers.redhat.com/register .

Run the following commands to register your machine with your Red Hat Developer Subscription and auto attach the subscription:

# subscription-manager register --force # subscription-manager attach --auto

Suse Trial Subscription

 

Required Repositories

# subscription-manager repos --enable=rhel-7-server-rpms --enable=rhel-7-server-extras-rpms --enable=rhel-7-server-optional-rpms

EPEL:

# rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms

EPEL:

# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
zypper addrepo https://download.opensuse.org/repositories/filesystems/SLE_15_SP2/filesystems.repo zypper refresh

Required Packages

SSHFS

yum install sshfs
yum install fuse-sshfs
apt install sshfs
zypper install sshfs

Traceroute

yum install traceroute
apt install traceroute
zypper install traceroute

Docker

yum install -y docker device-mapper-libs device-mapper-event-libs systemctl enable --now docker.service
yum install -y docker systemctl enable --now docker.service
apt install curl curl -sSL https://get.docker.com/ | sh
zypper install docker

Install VirtaMove

The VirtaMove installation package is distributed as a “VirtaMove_*.tar.gz” tarball file. To install the software, run the following command:

tar -C ~ -xf <Path to VirtaMove_*.tar.gz> ~/VirtaMove*installer/virtainstall.sh

The VirtaMove software will be installed in /opt/VirtaMove. After the installation, add the following lines to the root user’s $HOME/.bashrc file and start a new shell to continue:

export VirtaMove_Root=/opt/VirtaMove export PATH=${VirtaMove_Root}/bin:${PATH}

Firewall Settings

The source machine needs to be accessible by the destination machine, and in some scenarios, the destination machine needs to be accessible by other public hosts. For example, to access a web server service migrated to the container running on the destination machine, port 80 must be open on the destination machine. The following commands can be used to disable the firewall:

service iptables save service iptables stop

Enable Passwordless SSH Login to the Source Machine

Passwordless SSH login to the source machine makes it easy to automate the migration task without the need to enter the root password each time an SSH connection is to be established. Run the following command to enable Passwordless SSH login to the source machine:

virtassh.sh root@source_name
virtassh.sh root@source_name Generating public/private rsa key pair. Created directory '/root/.ssh'. Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:qk60G1QKPoWgu7m6xo2Pdj/F9wwRw+YzOUlhglkKEEw root@rhel8 The key's randomart image is: +---[RSA 2048]----+ |+Eo. +o.o. | |.o ..o. o* | |. o ... + = | | o o o O | |. o + . S = | | o + . + o | |+ o + o . + | | *.+ = o | |Booo=.. | +----[SHA256]-----+ /bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" The authenticity of host '192.168.174.136 (192.168.174.136)' can't be established. RSA key fingerprint is SHA256:kPvy9f8mtDeO0lRwxkXWH+YhChwiXw1rjPHMfUkqk6A. RSA key fingerprint is MD5:12:bc:0c:7d:d1:44:6c:ec:24:b6:52:b2:4b:7b:df:c0. Are you sure you want to continue connecting (yes/no)? yes /bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@192.168.174.136's password: ********* Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@192.168.174.136'" and check to make sure that only the key(s) you wanted were added.

OpenSSL 3

In OpenSSL 3, SHA-1 signatures are discarded as insecure by default. As the source machine may be quite old and using insecure signatures, we need to allow them temporarily to allow ssh access to the source machine.

Allow SHA-1 signatures

update-crypto-policies --set DEFAULT:SHA1

Undo change after migration

update-crypto-policies --set DEFAULT

Install Source Agent on Source Machine

A VirtaMove Source Agent service can be installed on the source machine to support copying of the extended attributes (xattr) of migrated files. In most cases, Source Agent is not required, but in case it is, run the following command on the destination machine to install it remotely to the source machine:

virtaagentinstall.sh source_name