Root Privilege
Unless explicitly indicated, all commands involved in this document need to be run as the root account.
Source Machine Setup
Expand |
---|
|
Install EPEL to access extra packages Code Block |
---|
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
Expand |
---|
|
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: Code Block |
---|
# subscription-manager register --force
# subscription-manager attach --auto |
|
Expand |
---|
|
Suse Trial Subscription |
Required Repositories
Expand |
---|
|
Code Block |
---|
# subscription-manager repos --enable=rhel-7-server-rpms --enable=rhel-7-server-extras-rpms --enable=rhel-7-server-optional-rpms |
EPEL: Code Block |
---|
# rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm |
|
Expand |
---|
|
Code Block |
---|
subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms |
EPEL: Code Block |
---|
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm |
|
Expand |
---|
|
Code Block |
---|
zypper addrepo https://download.opensuse.org/repositories/filesystems/SLE_15_SP2/filesystems.repo
zypper refresh |
|
Required Packages
SSHFS
Expand |
---|
|
Code Block |
---|
yum install sshfs |
|
Expand |
---|
|
Code Block |
---|
yum install fuse-sshfs |
|
Expand |
---|
|
Code Block |
---|
apt install sshfs |
|
Expand |
---|
|
Code Block |
---|
zypper install sshfs |
|
Traceroute
Expand |
---|
|
Code Block |
---|
yum install traceroute |
|
Expand |
---|
|
Code Block |
---|
apt install traceroute |
|
Expand |
---|
|
Code Block |
---|
zypper install traceroute |
|
Docker
Expand |
---|
|
Code Block |
---|
yum install -y docker device-mapper-libs device-mapper-event-libs
systemctl enable --now docker.service |
|
Expand |
---|
|
Code Block |
---|
yum install -y docker
systemctl enable --now docker.service |
|
Expand |
---|
|
Code Block |
---|
apt install curl
curl -sSL https://get.docker.com/ | sh |
|
Expand |
---|
|
Code Block |
---|
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:
Code Block |
---|
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:
Code Block |
---|
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:
Code Block |
---|
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:
Code Block |
---|
virtassh.sh root@source_name |
Code Block |
---|
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
Code Block |
---|
update-crypto-policies --set DEFAULT:SHA1 |
Undo change after migration
Code Block |
---|
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:
Code Block |
---|
virtaagentinstall.sh source_name |