diff --git a/documentation/doc-Migration_Toolkit_for_Virtualization/master.adoc b/documentation/doc-Migration_Toolkit_for_Virtualization/master.adoc index 125507d9dec..0e1546c005f 100644 --- a/documentation/doc-Migration_Toolkit_for_Virtualization/master.adoc +++ b/documentation/doc-Migration_Toolkit_for_Virtualization/master.adoc @@ -34,6 +34,11 @@ You can use {the-lc} {project-first} to migrate virtual machines from the follow * link:https://access.redhat.com/articles/6242511[Performance recommendations for migrating from VMware vSphere to OpenShift Virtualization]. * link:https://access.redhat.com/articles/6380311[Performance recommendations for migrating from Red Hat Virtualization to OpenShift Virtualization]. +// cold vs warm introduction +include::modules/cold-warm-migration.adoc[leveloffset=+1] +// cold vs warm migration speed comparison +include::modules/mtv-migration-speed-comparison.adoc[leveloffset=+2] + include::modules/about-cold-warm-migration.adoc[leveloffset=+2] [id="prerequisites_{context}"] @@ -52,6 +57,7 @@ include::modules/source-vm-prerequisites.adoc[leveloffset=+2] include::modules/rhv-prerequisites.adoc[leveloffset=+2] include::modules/openstack-prerequisites.adoc[leveloffset=+2] + [id="additional-authentication-for-osp_{context}"] ==== Additional authentication methods for migrations with {osp} source providers diff --git a/documentation/modules/about-cold-warm-migration.adoc b/documentation/modules/about-cold-warm-migration.adoc index ab12b8eeac1..3e5ca4a7f5a 100644 --- a/documentation/modules/about-cold-warm-migration.adoc +++ b/documentation/modules/about-cold-warm-migration.adoc @@ -57,35 +57,53 @@ You can start the cutover stage manually by using the {project-short} console or [id="warm-migration-versus-cold-migration"_{context}] == Advantages and disadvantages of cold and warm migrations -[id="warm-cold-migration-overview_{context}"] -=== Overview - -include::snip_cold-warm-comparison-table.adoc[] - -[id="warm-cold-migration-detailed_{context}"] -=== Detailed description - -The table that follows offers a more detailed description of the advantages and disadvantages of each type of migration. It assumes that you have installed Red Hat Enterprise Linux (RHEL) 9 on the {ocp} platform on which you installed {project-short}. +The table that follows offers a more detailed description of the advantages and disadvantages of cold migration and warm migration. It assumes that you have installed Red Hat Enterprise Linux (RHEL) 9 on the {ocp} platform on which you installed {project-short}: [cols="1,1,1",options="header"] .Detailed description of advantages and disadvantages +[cols="1,1,1",options="header"] +.Advantages and disadvantages of cold and warm migrations |=== -| |Cold migration |Warm migration +| +|*Cold migration* +|*Warm migration* + +|*Duration* +|Correlates to the amount of data on the disks. Each block is copied once. +|Correlates to the amount of data on the disks and VM utilization. Blocks may be copied multiple times. |*Fail fast* -|Each VM is converted to be compatible with {ocp-short} and, if the conversion is successful, the VM is transferred. If a VM cannot be converted, the migration fails immediately. -|For each VM, {project-short} creates a snapshot and transfers it to {ocp}. When you start the cutover, {project-short} creates the last snapshot, transfers it, and then converts the VM. +|Convert and then transfer. Each VM is converted to be compatible with {ocp-short} and, if the conversion is successful, the VM is transferred. If a VM cannot be converted, the migration fails immediately. +|Transfer and then convert. For each VM, {project-short} creates a snapshot and transfers it to {ocp}. When you start the cutover, {project-short} creates the last snapshot, transfers it, and then converts the VM. |*Tools* -|{project-short} only. -|{project-short} and CDI from {virt}. +a|`virt-v2v` (Red Hat Enterprise Linux 9), used to convert virtual machines from a foreign hypervisor to run on Kernel-based Virtual Machines (KVMs). +a|Containerized Data Importer (CDI), a persistent storage management add-on, and `virt-v2v` (Red Hat Enterprise Linux 9) + +|*Data transferred* +|Approximate sum of all disks +|Approximate sum of all disks and VM utilization + +|*VM downtime* +|High: The VMs are shut down, and the disks are transferred. +|Low: Disks are transferred in the background. The VMs are shut down during the cutover stage, and the remaining data is migrated. Data stored in RAM is not migrated. |*Parallelism* -|Disks must be transferred sequentially. -|Disks can be transferred in parallel using different pods. +|Disks are transferred sequentially for each VM. For remote migration, disks are transferred in parallel. +footnoteref:[footnote1,Remote migration: Target environment that does not have MTV installed. Migration to a remote environment using CDI.] +|Disks are transferred in parallel by different pods. + +|*Connection use* +|Keeps the connection to the Source only during the disk transfer. +|Keeps the connection to the Source during the disk transfer, but the connection is released between snapshots. + +|*Tools* +|{project-short} only. +|{project-short} and CDI from {virt}. |=== + [NOTE] ==== The preceding table describes the situation for VMs that are running because the main benefit of warm migration is the reduced downtime, and there is no reason to initiate warm migration for VMs that are down. However, performing warm migration for VMs that are down is not the same as cold migration, even when {project-short} uses `virt-v2v` and RHEL 9. For VMs that are down, {project-short} transfers the disks using CDI, unlike in cold migration. @@ -103,21 +121,3 @@ Based on the preceding information, we can draw the following conclusions about * The shortest downtime of VMs can be achieved by using warm migration. * The shortest duration for VMs with a large amount of data on a single disk can be achieved by using cold migration. * The shortest duration for VMs with a large amount of data that is spread evenly across multiple disks can be achieved by using warm migration. - - - - - - - - - - - - - - - - - - diff --git a/documentation/modules/cold-warm-migration.adoc b/documentation/modules/cold-warm-migration.adoc new file mode 100644 index 00000000000..b63632823c0 --- /dev/null +++ b/documentation/modules/cold-warm-migration.adoc @@ -0,0 +1,67 @@ +// Module included in the following assemblies: +// +// * documentation/doc-Release_notes/master.adoc + +:_content-type: CONCEPT +[id="mtv-cold-warm-migration_{context}"] += {project-short} cold migration and warm migration introduction + +Cold migration is when a powered *_off_* virtual machine (VM) is migrated to a separate host. The VM is powered off, and there is no need for common shared storage. + +Warm migration is when a powered *_on_* VM is migrated to a separate host. A source host state is cloned to the destination host. + +.Warm migrations precopy stage + +. Create an initial snapshot of running VM disks. +. Copy first snapshot to target: full-disk transfer, the largest amount of data copied. It takes more time to complete. +. Copy deltas: changed data, copying only data that has changed since the last snapshot was taken. It takes less time to complete. +.. Create a new snapshot. +.. Copy the delta between the previous snapshot and the new snapshot. +.. Schedule the next snapshot, configurable by default, one hour after the last snapshot finished. +. An arbitrary number of deltas can be copied. + + +.Warm migration cutover stage + +. Scheduled time to finalize warm migration +. Shut down the source VM. +. Copy the final snapshot delta to the target. +. Continue in the same way as cold migration +.. Guest conversion +.. Starting target VM (optional) + +// will delete this table once the review is complete +//// +.Cold and warm migration compared +[width="100%",cols="20%,40%,40%",options="header",] +|=== +| +|Cold +|Warm + +|Duration +|Each block is copied once. +|Blocks may be copied multiple times. + +|Fail fast +|Convert and then transfer. +|Transfer and then convert. + +|Tools +a|`virt-v2v` (Red Hat Enterprise Linux 9), used to convert virtual machines from a foreign hypervisor to run on Kernel-based Virtual Machines (KVMs). +a|Containerized Data Importer (CDI), a persistent storage management add-on, and `virt-v2v` (Red Hat Enterprise Linux 9) + +|VM downtime +|The VMs are shut down, and the disks are transferred. +|Disks are transferred in the background. The VMs are shut down during the cutover stage, and the remaining data is migrated. Data stored in RAM is not migrated. + +|Parallelism +|Disks are transferred sequentially for each VM. For remote migration, disks are transferred in parallel. +footnoteref:[footnote1,Remote migration: Target environment that does not have MTV installed. Migration to a remote environment using CDI.] +|Disks are transferred in parallel by different pods. + +|Connection use +|Keeps the connection to the Source only during the disk transfer. +|Keeps the connection to the Source during the disk transfer, but the connection is released between snapshots. +|=== +//// diff --git a/documentation/modules/mtv-migration-speed-comparison.adoc b/documentation/modules/mtv-migration-speed-comparison.adoc new file mode 100644 index 00000000000..7df34669c10 --- /dev/null +++ b/documentation/modules/mtv-migration-speed-comparison.adoc @@ -0,0 +1,15 @@ +// Module included in the following assemblies: +// +// * documentation/doc-Release_notes/master.adoc + +:_content-type: CONCEPT +[id="mtv-migration-speed-comparison_{context}"] += Migration speed comparison + +* The observed speeds for the warm migration single disk transfer and disk conversion are approximately the same as for the cold migration. + +* The benefit of warm migration is that the transfer of the snapshot is happening in the background while the VM is powered *_on_*. + +* The default snapshot time is taken every 60 minutes. If VMs change substantially, more data needs to be transferred than in cold migration when the VM is powered *_off_*. + +* The cutover time, meanng the shutdown of the VM and last snapshot transfer, is dependent on how much the VM has changed since the last snapshot. diff --git a/documentation/modules/snip_cold-warm-comparison-table.adoc b/documentation/modules/snip_cold-warm-comparison-table.adoc index d80552768c1..b3eb4d3a109 100644 --- a/documentation/modules/snip_cold-warm-comparison-table.adoc +++ b/documentation/modules/snip_cold-warm-comparison-table.adoc @@ -6,17 +6,36 @@ Both cold migration and warm migration have advantages and disadvantages, as des [cols="1,1,1",options="header"] .Advantages and disadvantages of cold and warm migrations |=== -| |Cold migration |Warm migration +| +|*Cold migration* +|*Warm migration* |*Duration* -|Correlates to the amount of data on the disks -|Correlates to the amount of data on the disks and VM utilization +|Correlates to the amount of data on the disks. Each block is copied once. +|Correlates to the amount of data on the disks and VM utilization. Blocks may be copied multiple times. + +|*Fail fast* +|Convert and then transfer. +|Transfer and then convert. + +|*Tools* +a|`virt-v2v` (Red Hat Enterprise Linux 9), used to convert virtual machines from a foreign hypervisor to run on Kernel-based Virtual Machines (KVMs). +a|Containerized Data Importer (CDI), a persistent storage management add-on, and `virt-v2v` (Red Hat Enterprise Linux 9) |*Data transferred* |Approximate sum of all disks |Approximate sum of all disks and VM utilization |*VM downtime* -|High -|Low -|=== \ No newline at end of file +|High: The VMs are shut down, and the disks are transferred. +|Low: Disks are transferred in the background. The VMs are shut down during the cutover stage, and the remaining data is migrated. Data stored in RAM is not migrated. + +|*Parallelism* +|Disks are transferred sequentially for each VM. For remote migration, disks are transferred in parallel. +footnoteref:[footnote1,Remote migration: Target environment that does not have MTV installed. Migration to a remote environment using CDI.] +|Disks are transferred in parallel by different pods. + +|*Connection use* +|Keeps the connection to the Source only during the disk transfer. +|Keeps the connection to the Source during the disk transfer, but the connection is released between snapshots. +|===