Supportability and constraints regarding importing Storage Domains and Virtual Machines from older RHV versions
Environment
- Red Hat Virtualization 4
Issue
- Is it supported to import Data Storage Domains from older RHV versions?
- Can I import Virtual Machines from any RHV version to latest?
- What happens if a Data Storage Domain is imported to a new RHV environment?
- After attaching a Storage Domain to a new RHV environment, it fails to attach back to the old RHV environment.
Resolution
Successfully using Storage Domains to to Import/Export Virtual Machines requires understanding of 2 concepts: Storage Domain Format and Compatibility Level. Please see below:
Data-Center Compatibility Level Support
In relation to Data-Center Compatibility Level, both ovirt-engine (RHV-M) and VDSM usually support 2 versions back. This means, for example, that a RHV 4.3 supports Data-Center Compatibility Levels 4.1, 4.2 and 4.3.
Storage Domain Versions
Storage Domain Version/Format depends on the Data-Center Compatibility Level they are attached to. For example, a Storage Domain part of a 4.2 Level Data-Center will be V4. A Storage Domain created on a 3.6 Level Data-Center will be V3. See the table below:
| Data-Center Compatibility Level | Data Domain Version | Can Import/Attach Data Domains |
|---|---|---|
| 3.6 | V3 | V3 |
| 4.0 | V3 | V3 |
| 4.1 | V4 | V4, V3* |
| 4.2 | V4 | V4, V3* |
| 4.3 | V5 | V5, V4*, V3* |
| 4.4 | V5 | V5, V4*, V3* |
| 4.5 | V5 | V5, V4*, V3* |
| 4.6 | V5 | V5, V4*, V3* |
| 4.7 | V5 | V5, V4*, V3* |
- Will be automatically upgraded to Data Domain Version if Imported to the specified DC Level. Use a lower DC level to prevent upgrades.
Importing Storage Domains
When importing a Storage Domain, the Storage Domain will be upgraded to the version corresponding to the Data-Center Level in the table above, in case it differs from the original version. The upgrade is not reversible and Storage Domains can only be imported to Data-Centers that support their format. So if you plan to attach the Storage Domain back to the source environment make sure the source environment supports the version or that it is not upgraded at the destination, see below.
Migrating Virtual Machines between different RHV versions using Data Domains.
If it is required to re-use a single Storage Domain (floating) to transfer several VMs at a time, for each round of transfers the Storage Domain will need to be attached and detached on both source and destination. In order to be able to attach and detach multiple times both source and destination Data Centers must use same Compatibility Levels, so that the floating Data Domain is not upgraded to a version that is not supported at the source, which would block attaching it back.
For example, to migrate Virtual Machines from RHV 4.1 to RHV 4.3 using a Data-Domain to transfer a few VMs at a time, create a new Data-Center with 4.1 Level in RHV 4.3. When all transfers are complete then upgrade the Data-Center level to 4.3. This will prevent RHV 4.3 from upgrading the Data Domain to V5 while the transfers are being made, allowing it to be attached back to the source RHV 4.1 to transfer more VMs. Because if the Data Domain is upgraded to V5, it will not attach back to RHV 4.1 and will need to wiped and re-created for every round of transfers.
Importing Virtual Machines
When a Virtual Machine originally from a lower Cluster Level is imported into a new RHV Environment it needs to be converted to the current Compatibility Level. The conversion is only supported for the Cluster Levels supported by RHV-M. See the table below for supported cluster levels of each RHV-M release:
| RHV-M Version | Supported Cluster Levels for Importing Virtual Machines |
|---|---|
| 3.6 | 3.6, 3.5, 3.4 |
| 4.0 | 3.6, 4.0 |
| 4.1 | 3.6, 4.0, 4.1 |
| 4.2 | 3.6, 4.0, 4.1, 4.2 |
| 4.3 | 4.1, 4.2, 4.3 |
| 4.4 | 4.2, 4.3, 4.4, 4.5, 4.6 |
| 4.4 SP1 | 4.2, 4.3, 4.4, 4.5, 4.6, 4.7 |
- See Red Hat Virtualization Manager Compatibility for more details.
For example, RHV-M 4.3 supports 4.1, 4.2 and 4.3 Cluster Levels, so it only supports importing and converting Virtual Machines that were previously on those Cluster Levels from Imported Data Domains. If the Virtual Machine was previously on a lower cluster level than the engine supports, a stepped conversion should be used, or the source needs to be upgraded before the process. See the examples below:
Example 1: Importing Virtual Machines from RHV 4.1 or earlier, to 4.4
Because RHV 4.4 doesn't support 4.1 or earlier, you will need to upgrade the environment up to 4.2. At this point, you can detach the Storage Domain, attach to your new 4.4 environment, and import the VM's there.
Example 2: Importing Virtual Machines from RHV 3.5 to 4.3
Because RHV 4.3 does not support 3.5 Compatibility Level, the Virtual Machines need to be converted to a supported compatibility Level first (i.e. 4.1 or 4.2). This can be done by upgrading the RHV 3.5 environment to at least 4.1 and raising the Cluster Compatibility level at the end of the upgrade. Alternatively, a stepped conversion is possible by first importing the Storage Domain to a RHV 3.6 environment (which supports 3.6 Compatibility Level) and importing the Virtual Machines to a cluster with 3.6 Level. At this step the Virtual Machines will be at 3.6 Level, which is still not enough to import them to 4.3, so another step is necessary. Detach the Storage Domain can be detached again attach it to a RHV 4.1 or 4.2 environment and repeat the process to get the Virtual Machines up to 4.1 or 4.2 Level. Finally detach and attach to the final RHV 4.3 environment, which can properly convert the VMs from 4.1/4.2 to 4.3.
Example 3: Importing Virtual Machines from RHV 3.6 to 4.3
Because RHV 4.3 does not support 3.6 Compatibility Level, the Virtual Machines need to be converted to a supported compatibility Level first (i.e. 4.1 or 4.2). This can be done by upgrading the RHV 3.6 environment to at least 4.1 and raising the Cluster Compatibility level at the end of the upgrade. Alternatively, a stepped conversion is possible by first importing the Storage Domain to a RHV 4.1 or RHV 4.2 environment (which supports 3.6 Compatibility Level) and importing the Virtual Machines to a cluster with 4.1 or 4.2 Levels. After this the Storage Domain can be detached again and then attached to the final RHV 4.3 environment, which can properly convert the VMs from 4.1/4.2 to 4.3.
Example 4: Importing Virtual Machines from RHV 4.0 to 4.3
Because RHV 4.3 does not support 4.0 Compatibility Level, the Virtual Machines need to be converted to 4.1 Compatibility Level first. This can be done by upgrading the RHV 4.0 environment to at least 4.1 and raising the Cluster Compatibility level at the end of the upgrade. Alternatively, a stepped conversion is possible by first importing the Storage Domain to a RHV 4.1 or RHV 4.2 environment (which supports 4.0 Compatibility Level) and importing the Virtual Machines to a cluster with 4.1 or 4.2 Levels. After this the Storage Domain can be detached again and then attached to the final RHV 4.3 environment, which can properly convert the VMs from 4.1/4.2 to 4.3.
Example 5: Importing Virtual Machines from RHV 4.1 or 4.2 to 4.3
As RHV 4.3 supports both 4.1 and 4.2 Compatibility Levels, Virtual Machines from Storage Domains that were previously on Clusters with 4.1 or 4.2 Levels can be directly imported to 4.3 without the need for any upgrades or stepped conversion. Just attach the Storage Domain and import the Virtual Machines and Templates.
Notes:
- The same Compatibility Versions constraints apply to using OVA to Import/Export Virtual Machines.
- Moving the Virtual Machine means moving its Disks, the Virtual Machine definition is written to the OVF Disks of each Storage Domain that contains one or more Disks of the VM.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.