Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
9365e34
F OpenNebula/one#7518: Hosts and Clusters restructure
mattrowe-opennebula Jun 30, 2026
78da126
F OpenNebula/one#7518: Content transfer
mattrowe-opennebula Jul 10, 2026
846a031
F OpenNebula/one#7518: PCI updates
mattrowe-opennebula Jul 20, 2026
3facbae
F OpenNebula/one#7615: Documentation of DISK_IDs selection for backups
rsmontero Jul 1, 2026
7494ebb
F OpenNebula/one#7765: add OneBEX LVM exporter docs (#735)
MarioRobres Jul 6, 2026
53acd91
F OpenNebula/one#7783: Add ONEDRS_BLOCKED attribute to avoid migratio…
ms4ons Jul 6, 2026
42327e2
M #-: add context compatibility and upgrade best practices (#741)
balazsbme Jul 6, 2026
8a7b944
F 7600 + F 7772: NICo driver docs + AI guide (#732)
1gramos Jul 6, 2026
e7d77b2
F OpenNebula/one#7653: Add Ubuntu2604 repo configuration (#733)
xorel Jul 6, 2026
c419d1a
F OpenNebula/one#7782: 7.4 release notes 1st draft (#740)
mattrowe-opennebula Jul 6, 2026
bcc5325
M OpenNebula/one#7776: Update Veeam documentation (#744)
ArnauGabrielAtienza Jul 6, 2026
46eaa40
F #7474: Document OneSwap dry-run and staged delta flow (#745)
ryatsyshyn Jul 6, 2026
51396c2
M #-: Add log truncation note (#747)
xorel Jul 7, 2026
3239b09
F OpenNebula/one#7777: add what's new line (#748)
onenhansen Jul 7, 2026
dee7796
F OpenNebula/one#7753: Add Storage DRS (#743)
ms4ons Jul 9, 2026
fc30974
M #-: add note about WHMCS versions (#750)
onenhansen Jul 9, 2026
6a33435
F #7788: Document OneSwap vSAN VDDK requirement (#751)
ryatsyshyn Jul 9, 2026
02e24ac
B OpenNebula/one#7590, OpenNebula/one#7586, OpenNebula/one#7588: add …
MarioRobres Jul 9, 2026
57722b0
F #7336: Document OneSwap non-root libguestfs appliance setup (#752)
ryatsyshyn Jul 10, 2026
83353a6
M #~: Platform notes update (#753)
xorel Jul 10, 2026
5ffd89b
M #~: Release notes updates for 7.4 (#754)
mattrowe-opennebula Jul 10, 2026
ed432c8
M #-: Add SLES/openSUSE upgrade instructions (#757)
xorel Jul 13, 2026
91fd505
F OpenNebula-one#7609: Document S3 support for Restic backup datastor…
roamingengineer311 Jul 13, 2026
ebc6449
M #-: Update one.vmpool.info filter description (#759)
paczerny Jul 13, 2026
ed424f5
M #~: Release notes fixes after feedback (#760)
mattrowe-opennebula Jul 13, 2026
1057f3c
F OpenNebula/one#7490: VLAN Rules description (#755)
paczerny Jul 13, 2026
1cd912b
F #7343: Document Windows VirtIO driver requirements (#761)
ryatsyshyn Jul 14, 2026
3070f10
F #7334: Document OpenNebula allocation error handling (#763)
ryatsyshyn Jul 14, 2026
c3ea930
M #-: Bump version of devel branch to 7.3.85
rsmontero Jul 15, 2026
8f892b2
F OpenNebula/one#7909: Config file audit (#764)
mattrowe-opennebula Jul 15, 2026
992810a
M #-: Add missing methods to xml-rpc api (#765)
paczerny Jul 16, 2026
86d103c
M #~: Add OneApps to release notes (#768)
mattrowe-opennebula Jul 16, 2026
6e1846e
B OpenNebula/one#7914: add release notes (#766)
MarioRobres Jul 16, 2026
7478f33
F OpenNebula/one#7717: Add Ceph backup snapshot cleanup to release no…
xorel Jul 16, 2026
7ddbf62
F OpenNebula/one#7909: Transferred config files to CSV (#767)
mattrowe-opennebula Jul 16, 2026
68b47da
B OpenNebula/one#7915: Added to resolved issues
rsmontero Jul 16, 2026
70ff22a
M #-: Bump version to 7.5.80 - Add 7.4
rsmontero Jul 17, 2026
8ebbf7d
M #~: Fixed build error
mattrowe-opennebula Jul 20, 2026
e448ec2
Merge branch 'master' into f-7518
mattrowe-opennebula Jul 20, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -496,7 +496,7 @@ The filesystem `/` now will be 10GiB bigger with no loss of service.

## GPU Configuration

If the OpenNebula evaluation involves GPU management, GPU should be configured in pass-through mode. For the detailed process check [this guide from the official documentation]({{% relref "/product/cluster_configuration/hosts_and_clusters/nvidia_gpu_passthrough" %}}). Overall, a GPU configuration in OpenNebula consists from 2 main stages:
If the OpenNebula evaluation involves GPU management, GPU should be configured in pass-through mode. For the detailed process check [this guide from the official documentation]({{% relref "/product/cluster_configuration/pci_passthrough_sriov/nvidia_gpu_passthrough" %}}). Overall, a GPU configuration in OpenNebula consists from 2 main stages:
- Host preparation and driver configuration
- OpenNebula settings for PCI pass-through devices

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,10 @@ After selecting the hypervisor(s) for your cloud, you are ready to **add the vir

Now you should have an OpenNebula cloud up and running with at least one virtualization node. The next step is to configure OpenNebula to work with your infrastructure. OpenNebula directly manages the hypervisor, networking and storage platforms; and you may need additional configuration:

- **Networking setup** with [802.1Q VLANs]({{% relref "../../../product/cluster_configuration/networking_system/vlan#hm-vlan" %}}), [Open vSwitch]({{% relref "../../../product/cluster_configuration/networking_system/openvswitch#openvswitch" %}}) or [VXLAN]({{% relref "../../../product/cluster_configuration/networking_system/vxlan#vxlan" %}}).
- **Storage setup** with [NFS/NAS datastore]({{% relref "../../../product/cluster_configuration/storage_system/nas_ds#nas-ds" %}}), [Local Storage datastore]({{% relref "../../../product/cluster_configuration/storage_system/local_ds#local-ds" %}}), [SAN datastore]({{% relref "../../../product/cluster_configuration/lvm" %}}), [Ceph]({{% relref "../../../product/cluster_configuration/storage_system/ceph_ds#ceph-ds" %}}), [Dev]({{% relref "../../../product/cluster_configuration/storage_system/dev_ds#dev-ds" %}}), or [iSCSI]({{% relref "../../../product/cluster_configuration/san_storage/iscsi_ds#iscsi-ds" %}}) datastore.
- **Host setup** with the configuration options for the [KVM hosts]({{% relref "../../../product/operation_references/hypervisor_configuration/kvm_driver#kvmg" %}}), [LXC hosts]({{% relref "../../../product/operation_references/hypervisor_configuration/lxc_driver#lxdmg" %}}), [Monitoring subsystem]({{% relref "../../../product/cloud_system_administration/resource_monitoring" %}}), [Virtual Machine HA]({{% relref "../../../product/control_plane_configuration/high_availability/vm_ha#ftguide" %}}) or [PCI Passthrough]({{% relref "../../../product/cluster_configuration/hosts_and_clusters/pci_passthrough#kvm-pci-passthrough" %}}).
- **Authentication setup**, OpenNebula includes by default an internal **user/password authentication system**, but it can also use an external authentication driver such as [SSH]({{% relref "../../../product/cloud_system_administration/authentication_configuration/ssh#ssh-auth" %}}), [x509]({{% relref "../../../product/cloud_system_administration/authentication_configuration/x509#x509-auth" %}}), [LDAP]({{% relref "../../../product/cloud_system_administration/authentication_configuration/ldap#ldap" %}}) or [Active Directory]({{% relref "../../../product/cloud_system_administration/authentication_configuration/ldap#ldap" %}}).
- **Networking setup** with [802.1Q VLANs]({{% relref "product/cluster_configuration/networking_system/vlan#hm-vlan" %}}), [Open vSwitch]({{% relref "product/cluster_configuration/networking_system/openvswitch#openvswitch" %}}) or [VXLAN]({{% relref "../../../product/cluster_configuration/networking_system/vxlan#vxlan" %}}).
- **Storage setup** with [NFS/NAS datastore]({{% relref "product/cluster_configuration/storage_system/nas_ds#nas-ds" %}}), [Local Storage datastore]({{% relref "product/cluster_configuration/storage_system/local_ds#local-ds" %}}), [SAN datastore]({{% relref "../../../product/cluster_configuration/lvm" %}}), [Ceph]({{% relref "product/cluster_configuration/storage_system/ceph_ds#ceph-ds" %}}), [Dev]({{% relref "product/cluster_configuration/storage_system/dev_ds#dev-ds" %}}), or [iSCSI]({{% relref "product/cluster_configuration/san_storage/iscsi_ds#iscsi-ds" %}}) datastore.
- **Host setup** with the configuration options for the [KVM hosts]({{% relref "product/operation_references/hypervisor_configuration/kvm_driver#kvmg" %}}), [LXC hosts]({{% relref "product/operation_references/hypervisor_configuration/lxc_driver#lxdmg" %}}), [Monitoring subsystem]({{% relref "product/cloud_system_administration/resource_monitoring" %}}), [Virtual Machine HA]({{% relref "../../../product/control_plane_configuration/high_availability/vm_ha#ftguide" %}}) or [PCI Passthrough]({{% relref "product/cluster_configuration/pci_passthrough_sriov/pci_passthrough#kvm-pci-passthrough" %}}).
- **Authentication setup**, OpenNebula includes by default an internal **user/password authentication system**, but it can also use an external authentication driver such as [SSH]({{% relref "product/cloud_system_administration/authentication_configuration/ssh#ssh-auth" %}}), [x509]({{% relref "product/cloud_system_administration/authentication_configuration/x509#x509-auth" %}}), [LDAP]({{% relref "product/cloud_system_administration/authentication_configuration/ldap#ldap" %}}) or [Active Directory]({{% relref "product/cloud_system_administration/authentication_configuration/ldap#ldap" %}}).

### 3.4. Configure Cloud Services

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Clusters"
title: "Cluster Management"
date: "2025-02-17"
description:
categories:
Expand All @@ -12,14 +12,14 @@ weight: "3"

<!--# Clusters -->

Clusters group together Hosts, datastores, and virtual networks that are configured to work together. A cluster is used to:
Clusters group together Hosts, datastores, and virtual networks that are configured to work together. A Cluster is used to:

> * Ensure that VMs use resources that are compatible.
> * Assign resources to user groups by creating Virtual Private Clouds.

Clusters should contain homogeneous resources. Note that some operations like live migrations are restricted to Hosts in the same cluster.
Clusters should contain homogeneous resources. Note that some operations like live migrations are restricted to Hosts in the same Cluster.

The requirements for live migrating VMs between Hosts of the same cluster are that no differences occur in the following areas of the hypervisors:
The requirements for live migrating VMs between Hosts of the same Cluster are that no differences occur in the following areas of the hypervisors:

* CPU model
* Firmware settings
Expand All @@ -32,20 +32,20 @@ The requirements for live migrating VMs between Hosts of the same cluster are th

## Cluster Management

Clusters are managed with the `onecluster` command. To create new clusters, use `onecluster create <name>`. Existing clusters can be inspected with the `onecluster list` and `show` commands.
Clusters are managed with the `onecluster` command. To create new Clusters, use `onecluster create <name>`. Existing Clusters can be inspected with the `onecluster list` and `show` commands.

```default
$ onecluster list
```shell
onecluster list
ID NAME HOSTS NETS DATASTORES

$ onecluster create production
onecluster create production
ID: 100

$ onecluster list
onecluster list
ID NAME HOSTS NETS DATASTORES
100 production 0 0 0

$ onecluster show production
onecluster show production
CLUSTER 100 INFORMATION
ID : 100
NAME : production
Expand All @@ -59,24 +59,24 @@ DATASTORES

### Add Hosts to a Cluster

Every Host must belong to a cluster, so if no cluster is specified it will be assigned to the `default` cluster by default. Hosts can be created directly in a different cluster by using the `--cluster` option of `onehost create`, or be added at any time with the command `onecluster addhost`. Hosts can be in **only one cluster** at a time.
Every Host must belong to a Cluster, so if no Cluster is specified it will be assigned to the `default` Cluster by default. Hosts can be created directly in a different Cluster by using the `--cluster` option of `onehost create`, or be added at any time with the command `onecluster addhost`. Hosts can be in **only one Cluster** at a time.

To delete a Host from a cluster, the command `onecluster delhost` must be used.
To delete a Host from a Cluster, the command `onecluster delhost` must be used.

In the following example, we will add Host 0 to the cluster we created before. You will notice that the `onecluster show` command will list the Host ID 0 as part of the cluster.
In the following example, we will add Host 0 to the Cluster we created before. You will notice that the `onecluster show` command will list the Host ID 0 as part of the Cluster.

```default
$ onehost list
```shell
onehost list
ID NAME CLUSTER RVM TCPU FCPU ACPU TMEM FMEM AMEM STAT
0 host01 - 7 400 290 400 3.7G 2.2G 3.7G on

$ onecluster addhost production host01
onecluster addhost production host01

$ onehost list
onehost list
ID NAME CLUSTER RVM TCPU FCPU ACPU TMEM FMEM AMEM STAT
0 host01 producti 7 400 290 400 3.7G 2.2G 3.7G on

$ onecluster show production
onecluster show production
CLUSTER 100 INFORMATION
ID : 100
NAME : production
Expand All @@ -91,22 +91,22 @@ DATASTORES

### Add Resources to Clusters

Datastores and virtual networks can be added to multiple clusters. This means that any Host in those clusters is properly configured to run VMs using images from those datastores, or is using leases from those virtual networks.
Datastores and virtual networks can be added to multiple Clusters. This means that any Host in those Clusters is properly configured to run VMs using images from those datastores, or is using leases from those virtual networks.

For instance, if you have several Hosts configured to use a given Open vSwitch network, you would group them in the same cluster. The [Scheduler]({{% relref "../../cloud_system_administration/scheduler" %}}) will know that VMs using these resources can be deployed in any of the Hosts of the cluster.
For instance, if you have several Hosts configured to use a given Open vSwitch network, you would group them in the same Cluster. The [Scheduler]({{% relref "product/cloud_system_administration/scheduler" %}}) will know that VMs using these resources can be deployed in any of the Hosts of the Cluster.

These operations can be done with the `onecluster` `addvnet/delvnet` and `adddatastore/deldatastore`, respectively:

```default
$ onecluster addvnet production priv-ovswitch
```shell
onecluster addvnet production priv-ovswitch

$ onecluster adddatastore production iscsi
onecluster adddatastore production iscsi

$ onecluster list
onecluster list
ID NAME HOSTS NETS DATASTORES
100 production 1 1 1

$ onecluster show 100
onecluster show 100
CLUSTER 100 INFORMATION
ID : 100
NAME : production
Expand All @@ -125,79 +125,83 @@ DATASTORES

### The System Datastore for a Cluster

In order to create a complete environment where the scheduler can deploy VMs, your clusters need to have at least one System Datastore.
In order to create a complete environment where the scheduler can deploy VMs, your Clusters need to have at least one System Datastore.

You can add the default System Datastore (ID: 0) or create a new one to improve its performance (e.g., balance VM I/O between different servers) or to use different System Datastore types (e.g., `shared` and `local`).

To use a specific System Datastore with your cluster instead of the default one, just create it and associate it just like any other datastore (`onecluster adddatastore`).
To use a specific System Datastore with your Cluster instead of the default one, just create it and associate it just like any other datastore (`onecluster adddatastore`).

## Managing Clusters in Sunstone

The [Sunstone UI interface]({{% relref "../../control_plane_configuration/graphical_user_interface/fireedge_sunstone#fireedge-sunstone" %}}) offers an easy way to manage clusters and the resources within them. You will find the cluster sub-menu under the infrastructure menu. From there you will be able to:
The [Sunstone UI interface]({{% relref "../../control_plane_configuration/graphical_user_interface/fireedge_sunstone#fireedge-sunstone" %}}) offers an easy way to manage Clusters and the resources within them. You will find the Cluster sub-menu under the infrastructure menu. From there you will be able to:

- Create new clusters selecting the resources you want to include in this cluster.
- Create new Clusters selecting the resources you want to include in this Cluster.

![create_cluster](/images/sunstone_cluster_create.png)
{{< image path="/images/hosts_and_clusters/sunstone_cluster_create.png" alt="Sunstone login" align="center" width="90%" mb="20px"
>}}

- See the list of current clusters, from which you can update or delete existing ones.
- See the list of current Clusters, from which you can update or delete existing ones.

![dashboard_cluster](/images/sunstone_cluster_dashboard.png)
{{< image path="/images/hosts_and_clusters/sunstone_cluster_dashboard.png" alt="Sunstone login" align="center" width="90%" mb="20px"
>}}
- See Cluster details and update overcommitment.

- See cluster details and update overcommitment.

![details_cluster](/images/sunstone_cluster_details.png)
{{< image path="/images/hosts_and_clusters/sunstone_cluster_details.png" alt="Sunstone login" align="center" width="90%" mb="20px"
>}}

## Enhanced VM Compatibility (EVC)

The Enhanced VM Compatibility (EVC) feature facilitates the management of heterogeneous OpenNebula clusters by masking host CPU capabilities to enforce a unified base model. Using a lowest-common-denominator approach ensures CPU compatibility across hosts and enables seamless live migration of Virtual Machines between hosts with different processor generations.
The Enhanced VM Compatibility (EVC) feature facilitates the management of heterogeneous OpenNebula Clusters by masking Host CPU capabilities to enforce a unified base model. Using a lowest-common-denominator approach ensures CPU compatibility across Hosts and enables seamless live migration of Virtual Machines between Hosts with different processor generations.

EVC is configured at the cluster level. This simplifies management and improves scalability by allowing administrators to add newer hardware to existing clusters without preventing VM migration due to CPU differences.
EVC is configured at the Cluster level. This simplifies management and improves scalability by allowing administrators to add newer hardware to existing Clusters without preventing VM migration due to CPU differences.

### Using EVC with the CLI

1. Inspect the cluster to view the current template and attributes:
1. Inspect the Cluster to view the current template and attributes:

```bash
$ onecluster show default
```shell
onecluster show default
```

Look for the `CLUSTER TEMPLATE` section. If `EVC_MODE` is not present, it has not been configured for the cluster.
Look for the `CLUSTER TEMPLATE` section. If `EVC_MODE` is not present, it has not been configured for the Cluster.

2. Set the `EVC_MODE` attribute on a cluster using `onecluster update`. For example, to set a Sandy Bridge baseline:
2. Set the `EVC_MODE` attribute on a Cluster using `onecluster update`. For example, to set a Sandy Bridge baseline:

```bash
$ onecluster update default"
```shell
onecluster update default"
```

Then add the `EVC_MODE` attribute to the list:

```bash
```shell
...
EVC_MODE="sandybridge"
...
```

The exact CPU model string depends on the hypervisor's supported CPU map. You can view the supported cpu models of a given host with the following command under the `KVM_CPU_MODELS` key:
The exact CPU model string depends on the hypervisor's supported CPU map. You can view the supported cpu models of a given Host with the following command under the `KVM_CPU_MODELS` key:

```bash
$ onehost show <host-id> -j
```shell
onehost show <host-id> -j
```

Make sure to select a cpu model available in all hosts in the cluster, otherwise you may fail to deploy VMs on unsupported hosts.
Make sure to select a cpu model available in all Hosts in the Cluster, otherwise you may fail to deploy VMs on unsupported Hosts.


3. To revert or remove EVC, update the cluster template to remove the `EVC_MODE` attribute (for example by setting it to an empty string or re-applying a template without the attribute).
3. To revert or remove EVC, update the Cluster template to remove the `EVC_MODE` attribute (for example by setting it to an empty string or re-applying a template without the attribute).

### Using EVC with Sunstone

The Fireedge / Sunstone web UI provides a convenient way to enable and change EVC without editing templates directly.

1. Open the Infrastructure → Clusters view and select the cluster you want to configure.
1. Open the Infrastructure → Clusters view and select the Cluster you want to configure.

2. Click the Update button and go to the Select Hosts tabs, there you will see the EVC Mode section. To enable EVC, choose a model from the droplist. Afterwards you can click Finish.

![Update cluster EVC mode](/images/sunstone_cluster_evc_update.png)
{{< image path="/images/hosts_and_clusters/sunstone_cluster_evc_update.png" alt="Update cluster EVC mode" align="center" width="90%" mb="20px"
>}}

3. Once the EVC mode is set, you can see it listed in the cluster attributes the same way as if the CLI had been used.
3. Once the EVC mode is set, you can see it listed in the Cluster attributes the same way as if the CLI had been used.

![EVC set in cluster attributes](/images/sunstone_cluster_evc_attributes.png)
{{< image path="/images/hosts_and_clusters/sunstone_cluster_evc_attributes.png" alt="EVC set in cluster attributes" align="center" width="90%" mb="20px"
>}}
Loading
Loading