oVirt / RHEV is a powerful open source virtualization platform suitable for small to large enterprise infrastructure. It has hyper-converged infrastructure design philosophy to enable you manage storage, compute and networking from a single administration portal. Each cluster in RHEV virtualization environment has a MAC address pool which defines a range of MAC addresses allocated to the cluster. As a default setting, each cluster has only one MAC address pool configured. The same MAC address pool can contain multiple address ranges and is shareable by multiple clusters.
The MAC address pool created by oVirt / RHEV installation is used for each cluster, unless you manually create an extra mac address pool and assign to a cluster. If in your setup you have clusters sharing physical networks, it is not recommended to also share address pool since each cluster will be unaware of the addresses assigned by the other clusters, and this could result in conflicting MAC address assignments.
How MAC addresses are assigned in RHEV / oVirt
When a new virtual network device is created, oVirt will automatically generate and assign Mac address to it. This helps with the prevention of MAC address duplication. The assignment of new MAC address is from the next available address following the last assigned address in the pool. If the cluster has run out of MAC addresses to assign from the range, the search starts again from the beginning of range to check if any address is available. If there are multiple MAC address ranges, with available MAC addresses, defined in a single MAC address pool, the ranges take turns serving incoming requests in the same way available MAC addresses are selected.
A MAC address pool can be configured to allow manual assigning of duplicates. In this case, a MAC address pool will not automatically use duplicate MAC address, only that a user can manually use a duplicate MAC address as required.
In this brief article, we shall show you how to create a MAC address pool to provide new MAC addresses and assign it to a cluster in virtualization platform.
Creating new MAC Address Pool on oVirt / RHEV
From your workstation machine, open a web browser and log in to the Red Hat Virtualization Manager / oVirt Engine Administration Portal using the URL:
Input the username and password of the admin user:
Once authenticated, click Administration, and then click on Configure in the menu sections.
You should see the default MAC address pool
Click Add to create new address pool
The Address Pool created in this example will have below details:
- Name: Extra-Mac-Pool
- Description: Extra Mac Address Pool
- MAC Address Ranges From: 56:6f:d4:33:00:00
- MAC Address Ranges To: 56:6f:d4:33:ff:ff
The MAC address count is automatically generated for you. In my case, this will be 65,536
If you select the “Allow Duplicates” check box, it means a user can manually use a duplicate MAC address / use MAC address multiple times in a pool. When this feature is disabled, each MAC address can be used once in the pool.
Adding multiple MAC address ranges
To input multiple MAC Address ranges, click the plus button next to the From and To fields.
Enter the required MAC Address Range and click OK.
Created MAC address pool can be edited anytime to change its details, including the range of MAC addresses available in the pool and whether duplicates are allowed.
Assign Mac Address Pool to Cluster
Access Administration Portal from your web browser and navigate to Compute > Clusters
Select cluster to assign the pool and click “Edit“
Click MAC Address Pool in the menu
On the “MAC Address Pool” dropdown list, choose the new pool created and click “OK“.
The cluster will then use the pool we created and assigned. It is recommended to assign a new MAC address pool to RHEV / oVirt cluster that doesn’t have workloads. For cluster with Virtual Machines, extend existing MAC address Pool by adding more ranges and this will not affect existing workload.