Skip to content

Commit 7e01598

Browse files
authored
Merge pull request #740 from RichardHoch/MTV-2945_user_guide
MTV-2945 user guide
2 parents 11dabad + be806d3 commit 7e01598

File tree

123 files changed

+962
-1127
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+962
-1127
lines changed

documentation/doc-Migration_Toolkit_for_Virtualization/master.adoc

Lines changed: 87 additions & 175 deletions
Large diffs are not rendered by default.

documentation/modules/about-cold-warm-migration.adoc

Lines changed: 9 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -6,118 +6,18 @@
66
[id="about-cold-warm-migration_{context}"]
77
= About cold and warm migration
88

9-
{project-short} supports cold migration from:
9+
[role="_abstract"]
10+
{project-first} supports cold and warm migration as follows:
1011

11-
* VMware vSphere
12+
{project-short} supports cold migration from these source providers:
13+
14+
* {vmw} vSphere
1215
* {rhv-full} ({rhv-short})
1316
* {osp}
17+
* Open Virtual Appliances (OVAs) that were created by {vmw} vSphere
1418
* Remote {virt} clusters
1519
16-
{project-short} supports warm migration from VMware vSphere and from {rhv-short}.
17-
18-
[id="cold-migration_{context}"]
19-
== Cold migration
20-
21-
Cold migration is the default migration type. The source virtual machines are shut down while the data is copied.
22-
23-
[NOTE]
24-
====
25-
include::snip_qemu-guest-agent.adoc[]
26-
====
27-
28-
[id="warm-migration_{context}"]
29-
== Warm migration
30-
31-
Most of the data is copied during the _precopy_ stage while the source virtual machines (VMs) are running.
32-
33-
Then the VMs are shut down and the remaining data is copied during the _cutover_ stage.
34-
35-
.Precopy stage
36-
37-
The VMs are not shut down during the precopy stage.
38-
39-
The VM disks are copied incrementally by using link:https://kb.vmware.com/s/article/1020128[changed block tracking (CBT)] snapshots. The snapshots are created at one-hour intervals by default. You can change the snapshot interval by updating the `forklift-controller` deployment.
40-
41-
[IMPORTANT]
42-
====
43-
You must enable CBT for each source VM and each VM disk.
44-
45-
A VM can support up to 28 CBT snapshots. If the source VM has too many CBT snapshots and the `Migration Controller` service is not able to create a new snapshot, warm migration might fail. The `Migration Controller` service deletes each snapshot when the snapshot is no longer required.
46-
====
47-
48-
The precopy stage runs until the cutover stage is started manually or is scheduled to start.
49-
50-
.Cutover stage
51-
52-
The VMs are shut down during the cutover stage and the remaining data is migrated. Data stored in RAM is not migrated.
53-
54-
You can start the cutover stage manually by using the {project-short} console or you can schedule a cutover time in the `Migration` manifest.
55-
56-
57-
[id="warm-migration-versus-cold-migration"_{context}]
58-
== Advantages and disadvantages of cold and warm migrations
59-
60-
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}:
61-
62-
[cols="1,1,1",options="header"]
63-
.Detailed description of advantages and disadvantages
64-
65-
[cols="1,1,1",options="header"]
66-
.Advantages and disadvantages of cold and warm migrations
67-
|===
68-
|
69-
|*Cold migration*
70-
|*Warm migration*
71-
72-
|*Duration*
73-
|Correlates to the amount of data on the disks. Each block is copied once.
74-
|Correlates to the amount of data on the disks and VM utilization. Blocks may be copied multiple times.
75-
76-
|*Fail fast*
77-
|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.
78-
|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.
79-
80-
|*Tools*
81-
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).
82-
a|Containerized Data Importer (CDI), a persistent storage management add-on, and `virt-v2v` (Red Hat Enterprise Linux 9)
83-
84-
|*Data transferred*
85-
|Approximate sum of all disks
86-
|Approximate sum of all disks and VM utilization
87-
88-
|*VM downtime*
89-
|High: The VMs are shut down, and the disks are transferred.
90-
|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.
91-
92-
|*Parallelism*
93-
|Disks are transferred sequentially for each VM. For remote migration, disks are transferred in parallel.
94-
footnoteref:[footnote1,Remote migration: Target environment that does not have MTV installed. Migration to a remote environment using CDI.]
95-
|Disks are transferred in parallel by different pods.
96-
97-
|*Connection use*
98-
|Keeps the connection to the Source only during the disk transfer.
99-
|Keeps the connection to the Source during the disk transfer, but the connection is released between snapshots.
100-
101-
|*Tools*
102-
|{project-short} only.
103-
|{project-short} and CDI from {virt}.
104-
|===
105-
106-
107-
[NOTE]
108-
====
109-
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.
110-
====
111-
112-
[NOTE]
113-
====
114-
When importing from VMware, there are additional factors which impact the migration speed such as limits related to ESXi, vSphere. or VDDK.
115-
====
116-
117-
=== Conclusions
118-
119-
Based on the preceding information, we can draw the following conclusions about cold migration vs. warm migration:
20+
{project-short} supports warm migration from these source providers:
21+
* {vmw} vSphere
22+
* {rhv-full}
12023

121-
* The shortest downtime of VMs can be achieved by using warm migration.
122-
* The shortest duration for VMs with a large amount of data on a single disk can be achieved by using cold migration.
123-
* 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.

documentation/modules/about-hooks-for-migration-plans.adoc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
[id="about-hooks-for-migration-plans_{context}"]
77
= About hooks for {project-short} migration plans
88

9+
[role="_abstract"]
10+
You can add hooks to an {project-first} migration plan to perform automated operations on a VM, either before or after you migrate it.
11+
912
You can add hooks to {project-first} migration plans using either the {project-short} CLI or the {project-short} user interface, which is located in the {ocp} web console.
1013

1114
* _Pre-migration_ hooks are hooks that perform operations on a VM that is located on a provider. This prepares the VM for migration.
@@ -17,7 +20,7 @@ The default hook image for an {project-short} hook is `quay.io/kubev2v/hook-runn
1720

1821
[id="hook-execution_{context}"]
1922
== Hook execution
20-
An Ansible playbook that is provided as part of a migration hook is mounted into the hook container as a `ConfigMap`. The hook container is run as a job on the desired cluster in the `openshift-mtv` namespace using the `ServiceAccount` you choose.
23+
An Ansible Playbook that is provided as part of a migration hook is mounted into the hook container as a `ConfigMap`. The hook container is run as a job on the desired cluster in the `openshift-mtv` namespace using the `ServiceAccount` you choose.
2124

2225
When you add a hook, you must specify the namespace where the `Hook` CR is located, the name of the hook, and whether the hook is a pre-migration hook or a post-migration hook.
2326

@@ -50,7 +53,7 @@ This Secret is not the same as the `Secret` CR that contains the credentials of
5053
. The {project-short} controller creates the `ConfigMap`, which contains:
5154

5255
** `workload.yml`, which contains information about the VMs.
53-
** `playbook.yml`, the raw string playbook you want to execute.
56+
** `playbook.yml`, the raw string playbook you want to run.
5457
** `plan.yml`, which is the `Plan` CR.
5558
+
5659
The `ConfigMap` contains the name of the VM and instructs the playbook what to do.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
2+
:_content-type: CONCEPT
3+
[id="about-mtv_{context}"]
4+
= About the {project-full}
5+
6+
[role="_abstract"]
7+
You can use the {project-first} to migrate virtual machines (VMs) from the following source providers to {virt} destination providers:
8+
9+
* {vmw} vSphere
10+
* {rhv-full} ({rhv-short})
11+
* {osp}
12+
* Open Virtual Appliances (OVAs) that were created by {vmw} vSphere
13+
* Remote {virt} clusters

documentation/modules/about-network-maps.adoc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44

55
:_content-type: CONCEPT
66
[id="about-network-maps_{context}"]
7-
= About network maps
7+
= About network maps in migration plans
88

9-
You can create network maps in {project-first} to map source networks to {virt} networks.
9+
[role="_abstract"]
10+
You can create network maps in {project-first} migration plans to map source networks to {virt} networks.
1011

1112
There are two types of network maps: maps created for a specific migration plan and maps created for use by any migration plan.
1213

documentation/modules/about-rego-files.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="about-rego-files_{context}"]
77
= About Rego files
88

9+
[role="_abstract"]
910
Validation rules are written in link:https://www.openpolicyagent.org/docs/latest/policy-language/[Rego], the Open Policy Agent (OPA) native query language. The rules are stored as `.rego` files in the `/usr/share/opa/policies/io/konveyor/forklift/<provider>` directory of the `Validation` pod.
1011

1112
Each validation rule is defined in a separate `.rego` file and tests for a specific condition. If the condition evaluates as `true`, the rule adds a `{“category”, “label”, “assessment”}` hash to the `concerns`. The `concerns` content is added to the `concerns` key in the inventory record of the VM. The web console displays the content of the `concerns` key for each VM in the provider inventory.

documentation/modules/about-storage-maps.adoc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44

55
:_content-type: CONCEPT
66
[id="about-storage-maps_{context}"]
7-
= About storage maps
7+
= About storage maps in migration plans
88

9-
You can create storage maps in {project-first} to map source disk storages to {virt} storage classes.
9+
[role="_abstract"]
10+
You can create storage maps in {project-first} migration plans to map source disk storages to {virt} storage classes.
1011

1112
There are two types of storage maps: maps created for a specific migration plan and maps created for use by any migration plan.
1213

documentation/modules/accessing-default-validation-rules.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="accessing-default-validation-rules_{context}"]
77
= Checking the default validation rules
88

9+
[role="_abstract"]
910
Before you create a custom rule, you must check the default rules of the `Validation` service to ensure that you do not create a rule that redefines an existing default value.
1011

1112
Example: If a default rule contains the line `default valid_input = false` and you create a custom rule that contains the line `default valid_input = true`, the `Validation` service will not start.

documentation/modules/accessing-logs-cli.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="accessing-logs-cli_{context}"]
77
= Accessing logs and custom resource information from the command line
88

9+
[role="_abstract"]
910
You can access logs and information about custom resources (CRs) from the command line by using the `must-gather` tool. You must attach a `must-gather` data file to all customer cases.
1011

1112
You can gather data for a specific namespace, a completed, failed, or canceled migration plan, or a migrated virtual machine (VM) by using the filtering options.

documentation/modules/accessing-logs-ui.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="accessing-logs-ui_{context}"]
77
= Downloading logs and custom resource information from the web console
88

9+
[role="_abstract"]
910
You can download logs and information about custom resources (CRs) for a completed, failed, or canceled migration plan or for migrated virtual machines (VMs) from the {ocp} web console.
1011

1112
.Procedure

0 commit comments

Comments
 (0)