Chapter 1. Virtualization
Manage OpenShift Virtualization virtual machine resources across all the clusters that Red Hat Advanced Cluster Management manages.
To view VirtualMachine
resources across all the clusters that Red Hat Advanced Cluster Management manages, use the Search service to list and filter the VirtualMachine
resources that are created with the Red Hat OpenShift Virtualization. You can also enable the following actions from the Red Hat Advanced Cluster Management console on your VirtualMachine
resources:
- Start
- Stop
- Restart
- Pause
- Unpause
- Snapshot
Learn more about virtual machine capability:
1.1. Viewing virtual machine metrics through Observability fields Copy linkLink copied to clipboard!
If you have the Observability service installed on your hub cluster, you can access the Observability fields on the Red Hat Advanced Cluster Management console to view your virtual machine metrics.
Access the Observability fields by completing the following steps:
-
On the Red Hat Advanced Cluster Management console, go to the
Virtual Machine
page. Select the
Observability dashboards
link to launch theGrafana
dashboard.-
Optional: Select the
Observability metrics
link in theLaunch links
table cell to launch theGrafana
dashboard,
-
Optional: Select the
-
From the
Grafana
dashboard, view the virtual machines and their individual metrics.
1.2. Configuring backup and restore for Red Hat OpenShift Virtualization by using policies Copy linkLink copied to clipboard!
Use OpenShift APIs for Data Protection (OADP) to backup and restore virtual machines. After you back up the virtual machines, you can restore it on the hub or managed clusters.
These Red Hat Advanced Cluster Management policies for OpenShift Virtualization support the following backup and restore storage options:
- Container Storage Interface (CSI) backups
- Container Storage Interface (CSI) backups with DataMover
They do not support the following options:
- File system backup and restore
- Volume snapshot backups and restores
To configure the policies, and either enable a backup schedule or run a restore operation for a virtual machine, complete the following sections:
1.2.1. Backing up and restoring a virtual machine Copy linkLink copied to clipboard!
You can back up virtual machines that run on a cluster or restore a virtual machine on a cluster by completing the following steps:
-
Enable the backup component on the hub cluster by setting the
cluster-backup
parameter inMultiClusterHub
totrue
. To place the policies on the
cluster-name
cluster, add theacm-virt-config
label to theManagedCluster
resource by applying the following YAML sample:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- The
acm-dr-virt-config
that passes through the label annotation is aacm-virt-config
ConfigMap. Read theacm-dr-virt-config
ConfigMap section to understand how to configure OADP and backup storage location.
Complete the following steps, depending on whether you want to backup or restore your virtual machine:
-
Back up your virtual machine by adding the
cluster.open-cluster-management.io/backup-vm
to thekubevirt.io.VirtualMachine
resource. Yourkubevirt.io.VirtualMachine
resource might resemble the following YAML sample:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Restore your virtual machine by updating the
acm-dr-restore-config
ConfigMap as described in theacm-dr-virt-restore-config
section.
-
Back up your virtual machine by adding the
1.2.2. Virtualization policies installed on the hub cluster Copy linkLink copied to clipboard!
When you enable the backup operator, a set of Red Hat Advanced Cluster Management policies and ConfigMaps
, get installed on the hub cluster. When you disable the policy or remove it from the cluster, all the resources the policy created gets removed. To learn more about the different types of policies that are available, complete the following sections:
1.2.2.1. Installation policy Copy linkLink copied to clipboard!
The acm-dr-virt-install
installation policy installs OADP and configures the oadp.openshift.io.DataProtectionApplication
resource on the cluster where this policy is placed. If the cluster is a hub cluster, it verifies that OADP is installed in the open-cluster-management-backup
namespace and that the DataProtectionApplication
resource exists and has the required configuration. The policy does not attempt to install OADP or create the DataProtectionApplication
resource on the hub cluster.
When you enable the cluster-backup
option on the MultiClusterHub
resource, the backup chart installs the OADP. When you enable the cluster-backup-option
, you create the DataProtectionApplication
on the hub cluster.
See the following installation policy templates and descriptions:
- Installation policy templates
Template | Description |
|
Verifies that the ConfigMap that is defined by the |
| Verifies if there is an OADP version installed on the cluster, and that it matches the version installed by the policy. |
|
Verifies that the |
|
Creates the namespace where OADP gets installed, if this namespace is not found. Copies the OADP secret and installs OADP, but only for managed clusters. Creates the |
1.2.2.2. Backup policy Copy linkLink copied to clipboard!
The acm-dr-virt-backup
backup policy backs up the kubevirt.io.VirtualMachine
resources that has the label, cluster.open-cluster-management.io/backup-vm: schedule_cron_name
.
See the following backup policy templates and descriptions:
- Backup policy templates
Template | Description |
|
Shows a violation error if there is any cron schedule name used by a virtual machine |
|
If the schedule is not paused, it verifies that the status is |
|
Creates Velero schedules for all virtual machine resources with a |
1.2.2.3. Restore policy Copy linkLink copied to clipboard!
The acm-dr-virt-restore
restore policy restores the kubevirt.io.VirtualMachine
resources by UID. The policy creates Velero restore resources on clusters using the information from the ConfigMap that is identified by the restore_hub_config_name
property from the acm-dr-virt-config
ConfigMap.
See the following restore policy templates and descriptions:
- Restore policy templates
Template | Description |
|
Verifies that the restore resource with the name defined by the |
|
If the |
1.2.3. Defining policies with ConfigMaps Copy linkLink copied to clipboard!
When you install the policies on the hub cluster, the following ConfigMaps
are created on the hub cluster, in the open-cluster-management-backup
namespace. When you place the virtualization policies on the hub or managed cluster, these ConfigMaps
define the backup and restore configuration for the virtualization policies.
1.2.3.1. Defining the acm-dr-virt-config ConfigMap Copy linkLink copied to clipboard!
The acm-dr-virt-config
ConfigMap defines the OADP configuration and other settings related to the backup or restore operation. You can use the name of this resource as the value for the acm-virt-config
label which is set on the ManagedCluter
where the policies are placed. You can also create a new ConfigMap
resource that uses the acm-dr-virt-config
as a sample, then use your new ConfigMap
resource to place the virtualization policies on the cluster.
To place the virtualization policies on a managed cluster or hub cluster, complete the following steps:
Use the
acm-dr-virt-config
or create a newConfigMap
resource on the hub cluster in theopen-cluster-management-backup
namespace, by using theacm-dr-virt-config
ConfigMap as an example. For this example, the name of the ConfigMap isacm-dr-virt-config-new
.-
Update the
dpa_spec
section to match the storage location where you want to store the backups created by OADP. This is a required update. -
Optional: Update other properties available with the
acm-dr-virt-config-new
ConfigMap, such as OADP version or channel.
-
Update the
-
Add the
acm-virt-config=acm-dr-virt-config-new
label to theManagedCluster
resource. The value of theacm-virt-config
label is the name of the ConfigMap that you created.
For an example of a ManagedCluster
resource with a virtualization backup label set to use the acm-dr-virt-config-new
ConfigMap, see the following YAML sample:
To learn more, see the following tables:
-
ConfigMap properties for the
acm-dr-virt-install
policy
Name | Description | Type | Default value | Optional |
| The channel defaults to the supported OADP version, which is based on the version of the OpenShift Container Platform cluster. Use this property to overwrite the default value. | String | None | Yes |
|
OADP channel name. Set this property for custom installation, for example: | String |
| Yes |
|
OADP subscription. Set this property for custom installation, for example: | String |
| Yes |
|
OADP subscription source. Set this property for custom installation, for example: | String |
| Yes |
| OADP subscription startingCSV. | String | None | Yes |
| OADP install plan. | String | Automatic | Yes |
| Namespace where OADP gets installed on the managed cluster. | String | None | No |
|
Name of the OADP secret that you use on the managed cluster. A Secret with this name must exist on the hub cluster in the | String | None | No |
|
Name of the secret used by the OADP | JSON | None | No |
|
Name of the | String | None | No |
|
Valid JSON defining the | JSON | None | No |
-
ConfigMap properties for the
acm-dr-virt-backup
policy
Name | Description | Type | Default value | Optional |
| Backup expiration time. | String |
| Yes |
|
Set to | String | False | Yes |
|
Name of the ConfigMap used to define the valid cron jobs schedules. A ConfigMap with this name must exist on the hub cluster in the | String | None | Yes |
-
ConfigMap properties for the
acm-dr-virt-restore
policy
Name | Description | Type | Default value | Optional |
|
Name of the ConfigMap used to define the restore operation. A ConfigMap with this name must exist on the hub cluster in the | String | None | No |
1.2.3.2. Defining the acm-dr-virt-schedule-cron ConfigMap Copy linkLink copied to clipboard!
Use the acm-dr-virt-schedule-cron
ConfigMap to define the valid cron job schedules to use when you are scheduling a virtual machine backup. The acm-dr-virt-schedule-cron
ConfigMap is created by the hub cluster backup component in the open-cluster-management-backup
namespace and includes the following YAML:
You can use any of the schedules created by the acm-dr-virt-schedule-cron
ConfigMap to set the backup schedule for a kubevirt.io.VirtualMachine
. For example, if you want to backup a virtual machine every day at 8am, add the following label to the virtual machine resource:
Since this acm-dr-virt-schedule-cron
ConfigMap is created and managed by the hub cluster backup component, you cannot change any of the existing cron properties or delete them. The properties are recreated when the content is reconciled. You can only add new properties to the existing ones. For example, if you want to create a cron job to run every Saturday, add the following label to the existing acm-dr-virt-schedule-cron
properties: every_sunday: "0 0 * * SAT"
.
1.2.3.3. Defining the acm-dr-virt-restore-config ConfigMap Copy linkLink copied to clipboard!
Use the acm-dr-virt-restore-config
ConfigMap to define the restore operations to be implemented by the acm-dr-virt-restore
policy. Use the hub cluster backup component in the open-cluster-management-backup
namespace to create the ConfigMap.
For an example of a complete restore operation, see the following YAML sample:
- 1
2a054d24-3235-4249-9c81-f58ebc6110c7
is the cluster ID where the restore operation is complete.acm-rho-virt-schedule-every-10-hours-20250120230438
is the name of the backup that is used for the restore operation example.- 2
restore-20250120230438
is the name of theRestore
resource that is created as a result of this restore operation.- 3
2a054d24-3235-4249-9c81-f58ebc6110c7
is the UID of the virtual machine backed up with theacm-rho-virt-schedule-every-10-hours-20250120230438
backup to be restored.- 4
namespaceMapping
is an optional property and is used to restore resources in a different namespace than the initial resource. Any source namespaces not included in the map is restored into namespaces of the same name.backup-ns-1=restore-ns-1 backup-ns-2=restore-ns-2
is a space separated list of namespace mapping. In this sample, backup resources created within thebackup-ns-1
namespace are restored within therestore-ns-1
namespace. Therestore-ns-1
is created on the restore cluster if it does not exist. Similarly, resources created within thebackup-ns-2
are restored within therestore-ns-2
namespace.
1.2.4. Creating restore operations with restore policies Copy linkLink copied to clipboard!
When you install virtualization policies for your restore operations, consider the following scenarios:
-
If you set the
clusterID_restoreName
property from theacm-dr-virt-restore-config
ConfigMap to an empty value, then the restore resource created by theacm-dr-virt-restore
policy on the cluster withclusterID
gets deleted. -
If you set the
clusterID_restoreName
property from theacm-dr-virt-restore-config
ConfigMap to a non-empty value, then theacm-dr-virt-restore
policy creates a VeleroRestore
resource . The name of the Velero restore resource matches theclusterID_restoreName
value. If the restore resource with this name is deleted from the restore cluster, theacm-dr-virt-restore
policy recreates the resource, which results in the restore operation running again. Consider the following actions:
- Do not delete the restore resource if you do not want to run the restore again.
-
Remove the value for the
clusterID_restoreName
parameter on theacm-dr-virt-restore-config
ConfigMap when the restore operation gets verified to start. Doing this prevents you from having to rerun the restore operation if theacm-dr-virt-restore
policy is disabled and enabled again. When you disable theacm-dr-virt-restore
policy, all resources created by it on the restore cluster get cleaned up and recreated when you enable the policy again.