The following prerequisites ensure the environment is prepared for migration.
Install compatible software versions with Forklift using the table below.
Forklift | OKD | KubeVirt | VMware vSphere | oVirt |
---|---|---|---|---|
2.3 | 4.10 | 4.10 | 6.5 or later | 4.4.9 or later |
Forklift uses the following default volume and access modes for supported storage.
Note: The following settings must be applied if the KubeVirt storage does not support dynamic provisioning:
See Enabling a statically-provisioned storage class for details on editing the storage profile.
Default volume and access modes.
Provisioner | Volume mode | Access mode |
---|---|---|
kubernetes.io/aws-ebs | Block | ReadWriteOnce |
kubernetes.io/azure-disk | Block | ReadWriteOnce |
kubernetes.io/azure-file | Filesystem | ReadWriteMany |
kubernetes.io/cinder | Block | ReadWriteOnce |
kubernetes.io/gce-pd | Block | ReadWriteOnce |
kubernetes.io/hostpath-provisioner | Filesystem | ReadWriteOnce |
manila.csi.openstack.org | Filesystem | ReadWriteMany |
openshift-storage.cephfs.csi.ceph.com | Filesystem | ReadWriteMany |
openshift-storage.rbd.csi.ceph.com | Block | ReadWriteOnce |
kubernetes.io/rbd | Block | ReadWriteOnce |
kubernetes.io/vsphere-volume | Block | ReadWriteOnce |
The following prerequisites apply to all migrations:
Use the following port parameters for migration.
The firewalls must enable traffic over the following required network ports for migrating from VMware vSphere.
Port | Protocol | Source | Destination | Purpose |
---|---|---|---|---|
443 | TCP | OpenShift nodes | VMware vCenter | VMware provider inventory & Disk transfer authentication |
443 | TCP | OpenShift nodes | VMware ESXi hosts | Disk transfer authentication |
902 | TCP | OpenShift nodes | VMware ESXi hosts | Disk transfer data copy |
The firewalls must enable traffic over the following required network ports for migrating from oVirt.
Port | Protocol | Source | Destination | Purpose |
---|---|---|---|---|
443 | TCP | OpenShift nodes | oVirt Engine | oVirt provider inventory |
443 | TCP | OpenShift nodes | oVirt hosts | Disk transfer authentication |
54322 | TCP | OpenShift nodes | oVirt hosts | Disk transfer data copy |
The following prerequisites apply to all migrations:
The following prerequisites apply to oVirt migrations:
https://<{rhv-short}_engine_host>/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA
The following prerequisites apply to VMware migrations:
Forklift uses the VMware Virtual Disk Development Kit (VDDK) SDK to transfer virtual disks from VMware vSphere. Follow the steps below to create the VDDK image.
Note: The VDDK init image path is required to add a VMware source provider:
Important: Storing the VDDK image in a public registry might violate the VMware license terms.
Prerequisites
Procedure
Example output:
$ mkdir /tmp/<dir_name> && cd /tmp/<dir_name>
$ tar -xzf VMware-vix-disklib-<version>.x86_64.tar.gz
$ cat > Dockerfile <<EOF
FROM registry.access.redhat.com/ubi8/ubi-minimal
COPY vmware-vix-disklib-distrib /vmware-vix-disklib-distrib
RUN mkdir -p /opt
ENTRYPOINT ["cp", "-r", "/vmware-vix-disklib-distrib", "/opt"]
EOF
$ podman build . -t <registry_route_or_server_path>/vddk:<tag>
$ podman push <registry_route_or_server_path>/vddk:<tag>
Follow the steps below to obtain the SHA-1 fingerprint of a vCenter host in order to create a Secret CR.
Procedure
$ openssl s_client \
-connect <vcenter_host>:443 \ (1)
< /dev/null 2>/dev/null \
| openssl x509 -fingerprint -noout -in /dev/stdin \
| cut -d '=' -f 2
1 Specify the IP address or FQDN of the vCenter host.
Example output:
01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67
Increasing the NFC service memory of an ESXi host
Note: If more than 10 VMs are migrating from an ESXi host in the same migration plan, increase the NFC service memory of the host. The migration will fail because the NFC service memory is limited to 10 parallel connections.
Procedure
...
<nfcsvc>
<path>libnfcsvc.so</path>
<enabled>true</enabled>
<maxMemory>1000000000</maxMemory>
<maxStreamMemory>10485760</maxStreamMemory>
</nfcsvc>
...
Restart hostd:
# /etc/init.d/hostd restart
The host does not need to be restarted.