OLVM CLusters….

Now let’s get into the next component, which is called the clusters. So OLVM has got clusters which provide a robust framework for managing virtualized environments, offering high availability, load balancing, and efficient resource management. Proper setup and management of clusters will ensure a stable and scalable virtualization infrastructure, which is capable of meeting the demands of modern enterprise workloads. By grouping the hosts into clusters, OLVM will actually make it more simpler for the administrators and enhance the capabilities of the virtualized environments.

So when we look at the clusters, a cluster is basically a part of your data center. Inside a cluster, you might have multiple different KVM hosts that can be configured, and they are utilizing the same network and the same storage so that they can work with the mechanisms of virtualization migrations or virtual machine migrations, implementing features for storage utilization, quality of service, affinity management, fencing management. A lot of things can be done with these clusters and the host inside the cluster.

So a data center can consist of multiple clusters, and a cluster can consist of multiple KVM hosts. And if you look at this, the host consists of multiple virtual machines having guest agents installed over it, and the host interacts with the oVirt engine using the VDSM daemon. And they are connected to the shared storages so that they can implement a proper cluster mechanism inside the environment.

So now let’s try to understand more about the clusters. Let’s try to see what are the clusters basically having or what are the properties of the cluster. So clusters, they are logical grouping of hosts that share the same storage domains and have the same type of CPU. The idea here is clusters are termed as logical groups of hosts, which are basically the physical servers, or also termed as a KVM host, that share common resources and configuration. Host within a cluster share the same storage domains and the network configurations.

Each cluster in the system must belong to a data center, and each host in the system must belong to a cluster. So the idea of the cluster is the cluster is integrated with your data center. Each cluster must belong to a data center within the OLVM environment, and each host in the system must be assigned to a specific cluster and by extension to a specific data center.

Virtual machines are dynamically allocated to any host in a cluster and can be migrated between them, according to policies defined on the cluster. So dynamic allocation of virtual machines, like– virtual machines are dynamically allocated to any host inside the cluster based on the available resources and defined policies that you have specified. Like Policies can be migration and allocations, which are governed by the policies at the cluster level.

You can define load balancing policies and high availability policies that can help the virtual machines to decide or the OLVM to decide in which host the virtual machine should be started or created. The cluster is the highest level at which power and load-sharing policies can be defined. So at the cluster level, you can define the policies, which are actually power management policies and load-sharing policies. Like I can configure a load balancing policy, which can be set to distribute workloads evenly across host, optimizing resources, usage, and performance. In power management, power policies can manage the power state of the host to save energy during the low usage period.

The number of hosts and virtual machines that belong to a cluster are displayed in the results list under host count and VM count. So I can get a option that is monitoring can be done to understand how many hosts are there in the cluster and how many VMs are there in the column, which identifies the clusters, host count, and VM count. And administrators can monitor resource usage, performance metrics, and overall cluster health through the OLVM interface. The default setup will create one default cluster in the default data center.

If you look at the page of the cluster, you can see that if you want to get into the clusters or see the cluster, which is defined for you, and try to create new clusters inside the environment– using the Administration portal, you can go to the Compute menu. Inside the Compute menu, you will select Clusters. And in the Cluster page, you can see the details of the default cluster that is assigned to you.

Just concentrate on the column host count that specifies how many hosts are created inside the cluster. And VM count specifies how many virtual machines are created inside the cluster or belongs to this cluster. If you want to create new clusters or edit the existing cluster or upgrade the cluster, you can do that by using the button. So New is actually for creating a new cluster, Edit for editing a cluster or upgrading a cluster from one release to the other.

So let’s try to see what are the components that I need to provide if I want to create a new cluster and what are the things that I should configure for it. If I’m creating a new cluster with a new button, it opens the New Cluster page for me. The New Cluster page involves configuring various settings to ensure that the cluster operates efficiently and meets the specific needs of your virtualized environments.

These settings include general configurations, like the CPU type, memory optimization, scheduling policies, high-availability architecture, load balancing, fencing, power management, optimization, migration policies. A lot of configurations can be set using the new cluster when you’re creating the cluster. Later, you can edit the cluster and define these components.

So now let’s try to see the properties and the configuration options for the cluster. Let’s talk about the first part, which is the general settings. In the general settings, we have got the data center in which you are creating the cluster, the name of the cluster, the description of the cluster, and the comments.

So name, you can enter a unique name for the cluster inside the data center. Description is optional. You can provide a description for the cluster. And then you can select the data center to which the cluster is belonging. And you have got the compatibility version that you can also go with for defining the compatibility features for your cluster.

Then we have got the CPU type in manage– selecting what is the CPU architecture, what is the management network, and then the CPU type. In the CPU type, we have got the CPU architecture, which selects the CPU type supported by all host in the cluster, and CPU level defines a specific CPU model to ensure compatibility and optimal performance across all hosts.

So you can specify what level of CPU you are trying to configure, whether it’s x86-64 or ppc64, s390x. These are the architectures of the CPU. And you can also configure the CPU type. But once you configure these, then you will be following the same structure of host that will be configured for your cluster, so same value of the CPU type should be configured for your cluster.

Then we have got something which is called as the optimization. In optimization, we have got the memory overcommit features that will allow the host to allocate more virtual memory than physical available. So I can set up these optimization parameters. And I can also go with setting up the scheduling policies.

In the scheduling policies, you can schedule policies that determines how VMs are distributed across the host in the cluster. So it can be even distribution or power saving, or it can be strict. These are the scheduling policies that can be configured. You can also define custom properties, which defines any custom properties needed for those scheduling properties.

Then we have got the fencing policy. The fencing policy will enable fencing to isolate and restart a nonresponsive host, and fencing ensures that VMs are safely relocated to the other host. You can set the time delay before fencing is initiated. By default, the time delay is set to 60 seconds.

We have also got the optimization settings that can be done to specify how the optimization workloads are handled. And we have got the next set of policies, which are called as a migration policies. That’s defining migration threshold that sets threshold for automatic migration of VMs to balance the load, or it can be parallel migration, which defines a number of parallel migrations allowed to prevent network congestion.

So these are a few of the things that you can set when you are defining your new cluster. Once the cluster is created, you can get into the Cluster Detail page by highlighting the cluster. And in the Cluster Detail page, we have got multiple options that you can look through.

You have got the general properties that gives the information of the cluster to which data center it is belonging, what is the compatibility version, what is the cluster ID allocated, what is the cluster CPU type, what is the– you can say like a chipset and frameworks that have been defined, number of VMs inside the cluster, number of volumes which are up, and volumes which are down. So you can get these details from the General tab.

The other components are the logical networks, which identifies which logical networks is your cluster using, host that identifies the hosts that are a part of this cluster, virtual machines identifies which are the virtual machines part of the cluster. Then you have got the affinity groups and affinity tables, which we’ll be talking in the next slides, CPU profiles, the permissions that are allocated, and the events that are happening on the cluster. So these are the detailed descriptions of things related to your cluster.

Now, from the Clusters Detail page, you can come down to the affinity group. And affinity group provides a robust mechanism to control and optimize the placement of VMs within a cluster by defining positive and negative affinity rules and setting enforcement modes. So administrators can ensure high availability and optimize performance and manage resources efficiently and comply with the licensing requirements. The proper use of affinity groups enhances the overall reliability, performance, and manageability of your virtualized environments.

So if you look at this, you have got the options which are given as affinities, which are positive and negative affinity. Define a name to the affinity, you’ll define the description for the affinity. And then you have got your VM affinity rule and host affinity rule, which is positive or which can be defined as positive affinity or negative affinity. Positive affinity ensures the VMs are placed on the same host. Negative affinity ensures that VMs are placed on a different host.

Then we have got VM to VM affinity rules, virtual machines to virtual machines affinity rules which you can define. And you can use this to define relationship between the VMs, VM to host affinity rules that you can define, which can help you in defining relationship between VMs and the hosts that are available. And you can define a positive affinity or the negative affinity for those. And you can use the enforcement mode, which determines how strictly the rules are enforced.

So enforcing can be used by enabling or disabling the enforcement mode. If it’s enabled, the rules will be strictly enforced. If it is disabled, if you don’t check that box, which is the enforcement box, the rules are preferences but not strictly enforced. And in the priorities, you can set the priorities of your environment. What is the priority level of this affinity rule? You can define that, and then you can use those priority levels inside your environment.

After creating the affinity rules, the next thing is your affinity labels. Now, affinity labels are a tool for categorizing and managing VMs and hosts. By applying labels, administrators can easily implement and enforce placement policies. They can optimize performance and ensure compliance and manage resources more effectively. So affinity labels enhances the overall manageability, performance, and reliability of the virtualized environments, making them an essential feature in Oracle Linux Virtualization Manager.

So affinity labels are tags that can be applied to both the VMs and the host to group them logically based on certain attributes or requirements. So you can define a label as a name. And then you can use the virtual machines and the host on which you define these labels. Labels are used to manage placement policies and ensure compliance and facilitate easier administration of your VMs.