genernal

Local Rolling Database Maintenance in 23ai….

Local Rolling Database Maintenance. Starting with Oracle Database 23ai, you can apply rolling patches locally for Oracle Real Application Clusters and Oracle RAC One Node deployment. It’s very similar to single-server rolling database maintenance, but this feature is used for the multinode RAC environment. So let’s take a look at how it works. So let’s assume a two-node RAC database example. So we have host A and host B, and CDB1 instance running out of host A, CDC2 instance running out of host B. When we perform our place patching, we install the software in a new home and then we apply patch. Once patch operation is complete with the local rolling database maintenance, we can start new home from a new instance out of a new home, while the original instance is still running out of original home. So at one point, on host A, we’re going to have two instances, one from original home and the other instance out of a new home. Once everything is ready, services and instances, the services and sessions are moved to new instance running out of a new home. And once the sessions are moved, then the original instance is stopped. And same thing happened on host B. So we install the new version of the software or we install or patch the software in a new home and then start a new instance out of a new home, in this example, CDB2/4. And then sessions are moved to new home, the original instance is stopped. Local database maintenance provides uninterrupted database availability during maintenance activities such as patching for Oracle RAC and Oracle RAC One Node databases. This significantly improves the availability of your databases without causing extra workload on other cluster nodes. So let’s take a look at examples. First, you download Oracle Database installation image file and extract the image file into new Oracle home directory. And from the new Oracle home directory, start OUI and apply required release update. And then perform software installation. So it is installing the patched software in a new home. And then we’re going to run SRVCTL modify database command with a -localrolling option. This is to enable local rolling to create a new rec instance. So as soon as you run this command, new instances are created but stopped. For example, if you have a two-node rec database in the first node, the new instance is created but stopped. In the second node, a new instance is created but stopped. And then we’re going to transfer Oracle RAC and Oracle RAC One Node database and PDBs and services from the old Oracle home to the new Oracle home. And this is the step to start the instances out of a new home and then transfer services, the PDBs, the services to new instances and then stop original instances and that’s by SRVCTL transfer instance. And now you’re going to verify database configuration changes. And the output of a server control configure database command, it should show new instance names for the database.

Continue reading...

Smooth Reconfiguration of Oracle RAC Instancesi in 23ai….

Servers leaving or joining a cluster resulting a reconfiguration that is essentially a synchronization event to recover all the changes made by the failed instance. Oracle RAC has reduced the time, the sessions wait on this event during reconfiguration. In Oracle RAC 23ai, smart reconfiguration reduces the impact of a service disruption from both planned and unplanned operations, utilizing several features, such as Recovery Buddy and PDB and service isolation and smooth reconfiguration, resulting in a faster reconfiguration than previous releases. So we’re going to take a look at some of the features introduced in previous releases, and then we’re going to get into smooth reconfiguration that was introduced in 23ai. Let’s review global resource management.  One user makes a connection to one of the RAC instances, and user can submit SQL statement requesting a set of blocks. In order to catch database blocks, the buffers must be allocated and also master metadata must be allocated to be able to describe changes to those buffers. An internal algorithm is used to decide which instance should contain the master metadata structure for that entity. In our example, the master metadata structure are distributed across instance 1 and instance 2. During the instance startup, this information on the master metadata structure for the entity has persisted in the data dictionary and reused during instance startup. And also the global resources are managed for unplanned instance crash and also planned service relocation as well. Now, let’s review PDB and service isolation. Let’s assume, there are three PDBs– PDB1, PDB2, PDB3. PDB1 is running on instance 1 and PDB2 is running on instance 1, instance 2, and instance 3. And also PDB3, it is available in instance 2 and instance 3. So when you make any changes to PDB1, then the metadata structure owned by PDB1 is only available in instance 1. When you make any changes to PDB3, the master metadata structure for PDB3 will be distributed across the instances where PDB3 is up and running. In this example, in instance 2 and instance 3. So let’s take a look at RAC reconfiguration. The PDB in RAC embodiment is reconfigured only needed if PDB1 is open on instance 2 as an example. So, for example, originally, PDB1 was available on instance 1. When you start PDB1 even in instance 2, the master metadata is redistributed across instance 1 and instance 2. And also if CDB 2 goes up, then what will happen? All the PDBs that were running out of instance 2 are no longer available. So the master metadata that was kept in instance 2 must be redistributed across surviving instances, in this example, instance 1 and instance 2. And impact is isolated to the affected PDBs only if the PDB is unaffected when CDB instance crashes. And also PDB1 is open on instance 2, or fourth instance is brought up. So these cases, the impact is only isolated at the PDB level. The PDB and service isolation. This is a feature that is used for CDB, and this is an enhancement from the service-oriented buffer cache access. And this feature improves performance by reducing distributed lock manager operations for services not offered in all PDB instances. The next topic is Buddy Recovery for reconfiguration. The Recovery Buddy feature is a feature that reduces the waiting time during reconfiguration. In prior releases, Oracle RAC instances identified and recovered the changes made by the failed instance by reading the redo logs. So, for example, for instance 1, PDB1 goes down. In order to recover blocks, the heavily modified on PDB1, one of the surviving instances must access the redo log file owned by PROD 1 and then identify blocks to be recovered. So that’s in a physical I/O. And it is a time-consuming operation. With the Recovery Buddy feature, we can reduce this I/O because of in-memory log and also because of Recovery Buddy concept. So, for example, in the three-node direct database,  we actually assign the Buddy Recovery for each instance. For example, PDB1 is a Recovery Buddy of PROD 3, and also PROD 2 is a Recovery Buddy of a PROD 1, PROD 3 is a Recovery Buddy of PROD 2. So which means that when you make any changes to the blocks in instance 1, PROD 1, then changes will be captured directly in PROD 1 but also the same changes will be maintained in the Recovery Buddy memory. So in-memory log. And same thing– when you make any changes to PROD 2, this change will be maintained not only locally but also in the Buddy Recovery instance as well. So here’s an example. So we connect to instance 1 and request the blocks like this and then make changes. So we make changes like this. Now, when you make any changes to PROD 1, these changes are maintained in PROD 1 but also the same change is maintained in the Recovery Buddy instance. So if PROD 1 goes down, instead of having access to online redo log file owned by Prod 1, we can directly access to in-memory log preserved in the Recovery Buddy instance and then read it to identify blocks to be recovered. So once we identify blocks to be recovered and apply changes, then it recover. So this feature reduces the time required for reconfiguration. Smooth reconfiguration. Smooth reconfiguration of Oracle Real Application Clusters instance reduces brownout time during cluster reconfiguration. So here’s an example. Suppose that you run srvctl command to stop instance, in the previous version, as soon as you run srvctl stop instance command, your instance is just stopped. And also until the metadata that was kept in the stop instance is redistributed, your database was frozen for that amount of time until global resources are recovered. However, in 23ai, we changed the algorithm slightly. So you request a stop instance. However, instead of stopping instance immediately, we perform the resource remastering operation first. So we distribute the metadata before performing stopping of an instance. So after redistributing instance, then we’re going to actually shut down instance. So when you actually look at the differences between version 19c, for example, and then 23ai, we slightly change the order, and that reduced the time required for the cluster reconfiguration. So in 19c, as soon as you issue stop instance command, srvctl stop instance, your instance must be killed and stopped. And then the global resource must be remastered. So for a short amount of time, your database wasn’t able to perform any activities. However, in 23ai, when user requests the srvctl stop instance, instead of stopping an instance, we remaster the resource first. And then after the resources are remastered, then we could actually shut down instance. That reduces reconfiguration time. So this feature it distributes resource coordinator. So resource coordinator is same as the master resource, the owner, or the resource master. So same terminology. So we call it now resource coordinator, before shutting down instances for planned maintenance....

Continue reading...

Extent-based Scrubbing in 23ai….

What is Oracle ASM scrubbing? Oracle ASM scrubbing is a feature that enhances availability and reliability by seeking out rarely accessed the data and fixing logical corruptions automatically. You can perform on-demand based scrubbing by using altered disk group scrub command. And you can run this command at ASM disk group level by running all the disk group and scrub option. And it is also possible to scrub at the disk level. The second command you see the scrub disk and the disk name to specify the disk– will be scanned to identify logical corruptions. And it’s also possible to scrub at the file level, like a third example. All the disk group data scrub file, and then this is to scrub the specified file. And we can also add additional options along with the scrub option. If you want to stop ongoing scrub operation, you can run all the disk group with a scrub stop option. And this feature was available prior to 23ai, so what you knew in 23ai. With the introduction of Oracle Database 23ai is now possible to scrub individual extents or a range of extent. Previously, ASM scrubbing was only available on file levels or disk level and disk group level. When compared to the scrubbing the entire file in 23ai, you can specify extent. You can scrub specific extent set to reduce scrubbing turnaround time. It improves the data availability and also minimizes the performance impact. It’s possible to perform the extent-based scrubbing by using same command alter disk group scrub, but with the additional option. So when you look at the first command all to disk group scrub file and block number 10 and count to three. So what it does is this command identifies block number 10. And from that, check the three blocks. So block number 10 and 11 and 12. And identify extent that contain data blocks and then scrub. So the extent-based scrubbing instead of scrubbing entire file, we can specify specific blocks. Then the command automatically identify extent that contain blocks you specified. So it will dramatically reduce the turnaround time. It will also possible to scrub multiple groups of a data blocks. So you can add a block and count the combination multiple times. So in the example, in the second bullet, we specify the block number 50 and count to 10 and block number 1,024 count to 70, meaning that identify block number 50 and then count 10 blocks from that. And then identify block number 1,024 and identify 70 blocks from the block number 1,024. And then once blocks are identified and check the extent that contain data blocks. So extent-based scrubbing will be performed based on those extent that contain blocks you specified. So it dramatically improves the performance.

Continue reading...

Cluster Health Monitor Enhancements in 23ai….

Let’s take a look at cluster health to monitor enhancement in Oracle database 23ai. Autonomous Health Framework Repository is a repository that stores the information collected by various components such as Cluster Health Monitor, Cluster Health Advisor, Fleet Patching and Provisioning, and Oracle Clusterware. So all these components collect information and store that information in a repository and that is called the autonomous health framework repository. There is a changes to this repository, starting with the Oracle Database 23ai, the use of Grid Infrastructure Management Repository, which we used to call GIMR is de-supported. Instead in Oracle Database 23ai uses a directory on the local file system, and that is one change to this area. And let’s take a look at related information. So review of a cluster health monitor and cluster health advisor. And these are the components of a great infrastructure. When you look at cluster health monitor first– and this component persists the collected operating system metrics on their directory in Oracle base, which is a metric repository. And this repository is auto-managed on the local file system. And you can change the location and size of this repository. And also, know the view samples are continuously written to this repository, not in the GIMR, but the local file system-based the repository. And the data is saved in the JSON format. And historical data is auto-archived into hourly zip files and also archive the files are automatically purged once the default retention limit, which is the 200 megabyte is reached. So one thing that you have to know in 23ai GIMR is de-supported instead, local file system repository is used and that repository is auto-managed. Let’s take a look at another component, Cluster Health Advisor. And this component continuously monitor cluster nodes and RAC databases for performance and availability issues to provide early warnings of a problems before they become critical. You can think about this as an ADDM, ADDM in the database level. So it collects database information along with all the OS metrics information and analyze it and give you recommendations. Oracle Cluster Health Advisor support the monitoring of a two critical subsystems of Oracle Real Application Cluster. First, Oracle Database. Second, the database hosts the system. Now, especially in 23ai, CHA Cluster Health Monitoring, Cluster Health Advisor, it can monitor not only container database, but also pluggable database as well. So we can leverage the PDB level data as well to get better idea and better information. And all analysis in research and diagnostics, and corrective actions, and metric evidence, these are all stored in the file system-based repository. OK. So another new features in Oracle Database 23ai. Cluster Health Monitor introduces a new diagnostic feature that identifies critical component events that indicate pending or actual failures and also provide recommendations for corrective actions. For example, RDBMS or GIPC and CSS, and all the other components as well that running in the same cluster. You can the generate event that indicate any type of failures. And once event that describes failures created, and they can be sent over to Cluster Health Monitor. Prior to Oracle Database 23ai, CHM was responsible to collect information up to that point, especially OS metrics. In 23ai in addition to OS metrics, CHM also can receive the event sent by various component, like a RDBMS and also CSS, GIPC, and so on. And also in addition, CHM can work with the new component, which called the CHM diagnostic component. So it can ask a CHM diagnostic component to review event and then make a recommendations. And when possible, take action as well. And these are all the enhanced in the diagnostic area. So if something goes bad in the cluster and the cluster component can create event to describe this failure, CHM can receive this event and work with the cluster health to monitor diagnostic component to generate the recommendations. And when possible, to take action. So all in actions and recommendations stores in the file system-based repository. And also, admins are notified that through the component such as Oracle Trace File Analyzer. Improving robustness and reliability of Oracle Database hosting infrastructure is a critical business requirement for enterprises. This improved the ability to detect and correct at the first failure, and the self-healing autonomously delivers value by improving business continuity. So that’s a big improvement in 23ai. Now, let’s take a look at new Oracle cluster monitor command that is related to the new diagnostic component. The first command is the Oracle cluster monitor CHM diagnostic description. And this is to get a detailed description of all supported events and actions. And we can also run Oracle cluster monitor CHM diagnostic with a query option. This is the query of the CHM diagnostic event actions sent by various component and generate an HTML or text report. It’s also possible to run Oracle cluster monitor CHM diagnostic collect. And then you add additional options like a last 1.5 hours and then out directory. So where to create the output. So this is to collect all event actions data generated by CHM diagnostics into the specified output directory location.

Continue reading...

OLVM Networks….

Let’s talk about the networks. So use bond network interfaces with the OLVM. So OLVM supports bond network interfaces which enable the aggregation of multiple physical network interfaces into a single logical bond. And this aggregation enhances network reliability and throughput by providing redundancy and load balancing across bonded interfaces. It can also work with using VLANs to separate different traffic types. I can use virtual local area networks which are used in OLVM to segment and isolate different types of network traffic within the virtualized environments. The VLANs allow administrators to logically partition a physical network into multiple virtual networks, each identified by unique VLAN IDs. VLAN is assigned directly to the physical interface. And these VLANs can be directly assigned to a physical network interface. This means that administrators can configure VLAN tagging directly on the physical network interface cards, which are termed as NICs. Each VLAN tag interface can then handle traffic specific to its assigned VLAN, facilitating the network segmentation and management. So based on these network configurations, OLVM also works with something called as logical network. So each logical network is playing a critical role in ensuring efficient and secure operations of virtualized environments, like the management network is dedicated to handling communication between Oracle Linux Virtualization Manager and the hypervisor host. And this network is essential for tasks that are related to administration monitoring and maintenance. Then we have got one more logical network that is created, which is called the VM network. And this VM network is used for communication between virtual machines within the virtualized environments, like guest-to-guest communication or internet access, which provides VMs with access to external networks or internal services, which facilitates communication with internal services and resources. We’ve also got the next level of networks which are called as display networks, which is used for handling remote displays and graphical outputs from virtual machines. This network is particularly important for scenarios where graphical desktop environments or applications running inside VMs need to be accessed remotely, like using the remote desktop access, which enables administrators or users to connect to VM desktops or applications using remote desktop protocols, which is termed as RDPs for Windows, or virtual console access. It provides access to virtual machine consoles for management and troubleshooting purpose. We have also got networks which are related to migration. The migration network is a dedicated network to facilitate live migration of virtual machines between hypervisor host, without disrupting their operations. So it helps you in data transfers, live migration, and resource optimization. In the networks, when we create the resources, we also need to configure something called as MAC address. So MAC address can be defined by using something called as MAC address pools. The MAC address pool is actually defined inside your virtualized environments by defining specific ranges for each cluster. It ensures efficient allocation and utilization of MAC addresses and supports scalability across multiple clusters. And it facilitates network management practices that enhance overall system reliability and security. A MAC address pool is specified for each cluster. And MAC address pools are more efficient with memory allocations. The same MAC address pool can be used by shared multiple clusters, or you can use the same MAC address by multiple different clusters. And the MAC address pool assigns the next available MAC address to the allocation. When a VM is created within OLVM, the MAC address pool assigns the next available MAC address from the specified range for the particular cluster. This automate assignments ensures that each VM receives a unique MAC address without conflicts. If the MAC addresses, as we said, can be shared across multiple different clusters, the MAC address pool can be configured across multiple clusters. And this allows administrators to optimize MAC address allocation across different segments of their virtualized environments. Now let’s see how we can configure a MAC address. You can do that by getting into the administration menu of your administration portal and selecting MAC address pool. And then using this and selecting MAC address pool, you can go for adding the MAC address pool list. There’s a default MAC address pool that is pre-created for you. You can still add new MAC address pools. When you click on the Add MAC address pool, it opens the new MAC address pool where you’ll provide the name of the MAC address pool. You will allow the options of MAC address ranges. You specify the from range, the to range, defining the MAC address references, which will give you the calculated value of how many MAC addresses are generated for this particular pool. And then you can use this pool by multiple clusters to assign MAC addresses to the virtual machines.

Continue reading...

OLVM Storage Pool Manager….

Storage Pool Manager plays a crucial role in managing storage domains within a data center. It ensures metadata integrity and providing mechanisms for automatic failovers and prioritizations. The SPM enhances the reliability, performance, and manageability of the storage infrastructure. So let’s try to see what are the usage of the Storage Pool Manager. It is a role given to a host in the data center to manage its storage domains. It’s a central role in the storage management. The SPM is responsible for managing the storage domain within a data center. It handles all metadata operations for the storage domain, which ensures data consistency and integrity. The SPM role helps you in managing snapshots, handling virtual machine disk allocations, and performing storage-related administrative tasks. The manager moves the SPM role to a different host if the SPM host encounters problems accessing that storage. So there is a process of SPM failover mechanism that happens. There are automatic reassignment of the SPM role that occurs. So if the host that is currently assigned the SPM role encounters a issue, like it’s losing access to the storage or the OLVM manager will– is not able to identify that host that is existing or it’s lost the communication– so under that scenarios, the OLVM manager will automatically move the SPM role to another suitable host. And this failure mechanism ensures continuous availability and management of storage domains, reducing the risk of downtime due to storage access problems. Only one host can be the SPM in the data center at one time to ensure the metadata integrity. It is influenced by the SPM priority. So each host in the data center can be assigned an SPM priority, which influences the likelihood of that host being the selected member or selected host for the SPM role. The SPM priority is a configurable setting that you can do inside your host management. So for every host, you can set up the priority for that particular option. So SPM priority settings can be defined at the host. You can alter the host, and the likelihood of the host being assigned the SPM role depends on the priority setting that you have done to that particular host. And a host with high SPM priority will be assigned the SPM role before a host with a low SPM priority. In the next slide, we’ll be seeing about how to set up the priority of the SPM manually. So let’s try to get into setting the SPM priority. You’ll edit the host and the storage that you define. So you’ll go to the host, and you’ll edit your host. And the SPM properties or the SPM properties of the host, you can define the SPM priority settings. So SPM priority settings can be configured as low, high, or normal. So SPM priorities in Oracle Virtualization Manager will help you in defining different levels. So you have got the SPM priority levels that can be categorized to your host, which can be high priority, normal, low. Or I don’t want to include this host as a SPM role host, so I can set it as never. So these are the priorities, and these will help you in specifying which host will get the SPM role. The highest priority will always be having the SPM role assigned to them. We have also got VDSM, which is also termed as Virtual Desktop and Server Manager. In Virtual Desktop Server Manager, we have got the VDSM, which is a vital component, which actually bridges the gap between the OLVM engine and the physical virtual resources on the KVM host. So you can manage and monitor the physical resources by using the VDSM, and it’s actually helping you getting the critical statistics and logs. The VDSM ensures that smooth operations like high availability, optimized performance of the virtual environments, is carried on. So let’s try to see the Virtual Desktop. The Virtual Desktop and Server Manager service is actually acting like an agent on the host. So it manages and monitor your physical resources, and it manages and monitor your virtual machine running on the host. It is a daemon on the VM host and communicates with the engine to help you in managing and monitoring the physical resources, like it helps you in resource allocation. So VDSM is responsible for managing the physical resources of the host, including the CPU, memory, storage, and network interfaces. It makes sure that the resources are efficiently allocated to virtual machines as and when needed. It also does the hardware monitoring with the physical health of the hardware. Checking for issues such as overheating, hardware failures, or performance bottlenecks, this can help in maintaining the reliability and performance of the host. It also goes in for optimization, where it optimizes the use of physical resources by dynamically adjusting allocations based on the current load and requirements of the virtual machine. It manages and monitors the virtual machines running on the host. So it also implements the life cycle of your virtual manager or your virtual machine. So basically, it is trying to give you handling of the complete life cycle of the virtual machines on the host, like creating of the virtual machines, starting, stopping, pausing, and deleting the virtual machines. It gives you the performance monitoring of your virtual environments, like it monitors the performance of running VMs, collecting data on the CPU usage, memory consumptions, network activities. And this data can help you in identifying performance issues and optimizing your VM operations. It is also responsible for resource scheduling. It schedules VM operations to ensure optimal performance and resource utilization. It gathers statistics and collects logs. So basically, the VDSM gathers a wide range of statistics and metrics from both the host and the VMs. This includes the data related to performance, the statistics of the resource usage, and the operational metrics. It collects and manages the logs related to the host and VM operations, which are crucial for troubleshooting, auditing, and ensuring compliance and organizational policies. Now let’s get down to the virtual machines. So OLVM being based on the KVM hypervisor and leveraging the Oracle Linux distribution, it integrates virtualization capabilities with management features to streamline virtual machine deployments, management of virtual machines and performance optimizations of the virtual machines. The virtual machines can be created either for Linux or Windows operating systems. The OLVM allows you to create virtual machines running various flavors of Linux, leveraging Oracle Linux on other compatible distributions. It also helps you in creating Windows-based virtual machines with Windows operating system, providing flexibility for both Linux and Windows environments. It helps in cloning from templates, can be cloned from an existing template in the VM portal. So you can define a template, and you can clone multiple virtual machines using the template. It imports an Open Virtual Appliance file into your environment. It also helps you in importing the OVA files into and from your environments. And it also gives you the options to configure multiple instance types, where you’ve also got some default instance types that are pre-allocated and created with the installation.

Continue reading...

OLVM Hosts….

Let’s try to understand the hosts in OLVM. We have got few major physical hosts that exist inside your Oracle Linux Virtualization Manager. The first one is the engine host. The engine host provides you with the administration tools. It’s a central management component and it runs the OLVM engine and it consists of interfaces for administering and for managing your virtual environments. The OLVM engine can be used for managing your clusters, host, storage, virtual machines, networking, and other aspects of the virtual infrastructure. And it provides the features related to different structures like reporting, enabling administrators to track performance and health of the virtual environments. So an engine by itself is a separate physical host on which you install the it engine utility, which is actually used for managing the complete virtualized environment. Then we have got the KVM host, which is capable of hosting virtual machines. The engine registers the KVM hosts which are actually capable of hosting your virtual machine. So virtual machine deployments and features or managing of these virtual machines all is done through your KVM host. It’s a physical machine which is actually hosted environment machine, which is registered with your engine. And OLVM can manage Multiple Oracle Linux KVM hosts. A single engine Can manage multiple hosts. As we have seen earlier, a single engine powered engine can manage multiple data centers. Each data center can have multiple clusters and, each cluster can have multiple hosts. So if you want to work with the host, these are the options which are available. So if you look at your administration portal page, you go to your compute, and inside the compute, you’ll select the host, and inside the host, you’ll get a list of available hosts that have been configured under that particular listing of your engine. So you can see all the host. And if you look at the table that describes the host available for you, it gives you the name of the host, the host name or the IP address, the cluster name to which it belongs, and the data center to which it belongs. And you can also view the virtual machines and the memory used by that particular host. So active virtual machines and the memory being utilized. Other than that, to manage the host, we need to select the host and go to the menu options or the buttons which are provided, like the New button to create a new host or register a new host, edit an existing host, installation like reinstall the host, host console to access the host console, Copy host networks, if we want to select the host networks and register it with some other host, I can use the copy host networks. The important button there is the management button. The management button helps you in managing the host, which gives you the options to convert your host into maintenance mode, get the options like activate the host if it’s inactive, refresh the capabilities to upgrade or update the information of the host, manage the power, that is power management, restart, stop, or start the host, you can go with accessing with SSH management, you can restart, stop, and you can select as SVM, you can convert this host to be a part of your storage pool management SVM role and then configure local storage. So if you want to configure a local storage on the KVM host. I can select the KVM host and make it as a local storage host. But the host should be in maintenance mode. So to manage the host, we have got the Manage button, to which we can manage multiple actions that can be performed on the host. Once you have created a new host or registered the host, you learn how to register a host in module number 4, where we’ll be talking about the host installation. So in chapter 4, you’ll be discussing on how to register the host. But once the host is registered, you get a detailed page of the host. The detailed page of the host describes multiple properties of the single host. So it gives you a number of virtual machines running over it. What are the network interfaces configured, what are the host devices, permissions, affinity labels, errata, and the events. It also gives you the commands to manage the host from the details page. So you have got the Edit button to edit your host, management button, installation button, and to access the host console. So these are the buttons, which are available for you to manage your host. Now coming down to the affinity label. Like last time, you have seen the affinity rules that we can configure in the cluster. Now we have also seen can configure affinity labels in the cluster, which can be used with the affinity rules. You can also have host affinity labels. Host affinity labels are used to influence the placement and behavior of virtual machines in relation to specific host within a cluster. These labels provide a way to group host together based on certain criteria and enforce policies that dictate how VMs interact with these groups. If I’m talking about the host affinity labels, they are custom tags. Affinity labels help in organizing and managing hosts more efficiently by creating logical grouping. It is basically used to enforce policies that define how VMs should interact with the host. It improves resource utilization and it supports high availability and fault tolerance if you have configured the affinity labels.

Continue reading...

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....

Continue reading...

Storage Domain – OLVM

Now, let’s talk about the storage domains. In Oracle Linux Virtualization Manager, a storage domain is a fundamental concept that represents a logical storage container where various virtualization related data is stored. Let’s try to understand how it is done. Have a common storage interface. So a storage domain provides a standardized interface through which virtualization components interact with storage resources. This interface abstracts the underlying storage technologies like NFS, GlusterFS, iSCSI, FCP and allows the OLVM to manage and utilize storage resources uniformly. Contain complete images of templates, VM, snapshots, and ISO files. So basically, storage domain in OLVM will contain the images of various components, like it can be a part containing templates, pre-configured VM templates, which can be used for rapid deployment of your virtual machines or VMs, which are like virtual machine disk images that store operating system, application, and data. It also stores snapshots, which is point in time copies of your VM disks, ISO files that can be disk images used for installing operating systems or applications on virtual machines. OLVM support storage domains that are block device storage domains and file system storage domains. Like in block devices, it supports SAN, which is iSCSI or FCP. And in File systems, it supports NAS which is NFS or Gluster file system. So if I go with the block devices, which is a SAN storage style, iSCSI uses the internet small computer system interface protocol to provide block level access to storage volumes, and that is provided over your IP networks. The Fiber Channel protocol provides block level access to storage volumes over fiber channel networks, offering high speed, low latency storage access. With file system NAS type network access to storage, which is consisting of NFS, which is the storage is over a network sharing files and directories as if they are mounted locally. And GlusterFS is a distributed file system that allows OLVM hosts to access storage distributed across multiple servers. Virtual machines should share the same storage domain to be migrated. Again, storage domains helps in migration and sharing. So virtual machines using OLVM can be migrated between hosts within the same data center. For successful migration, the source and destination host must have access to the same storage domain where the VM disk image is residing. It also supports– the data center can have at least one data domain. The data center requirements are basically categorized as non shared between data centers data domain. So a data domain is actually a domain that is created for each data center. It cannot be shared between data centers. So every data center must have at least one storage domain attached to it. And this ensures that there is a dedicated storage location for storing your VM data, and it cannot be shared between your data centers. So it’s non shared between data centers. So storage domains cannot be shared between different OLVM data centers and each data center manages its own set of storage domains to maintain isolation and control over storage resources. Now, let’s talk about something called as storage pool manager, which is also termed as the SPM. The storage pool manager plays a crucial role in managing storage domains within a data center. So let’s try to see how does the storage pool manager help managing your storage domains. SPM is a management role assigned to one of the host in the data center. So the role is assigned to one of the host within a data center by the OLVM engine. The host acts as a designated SPM for that particular data center. It manages the storage domains of the data center. The SPM is responsible for managing the storage domains within the data center. This includes coordinating access to storage resources and ensuring the integrity of storage metadata across all storage domains. And it also works with controlling access to storage by coordinating the metadata between the storage domains. SPM controls access to these storages by controlling and coordinating the metadata between storage domains or metadata includes information about virtual machines, disk images, templates, snapshots, and other virtualization related data which is stored inside your storage domain. The host running as SPM can still host virtual resources, so it’s not like the host, which is acting like SPM is only managing storage domain, but it can also host its own virtual resources. The SPM role is a primary role involving managing storage. The host running the SPM can still host virtual resources such as virtual machines and their applications. This ensures that the host contributes to both storage management and a compute resource within the data center. Now, what happens if the host is affected? So the engine assigns the role to another host, if the SPM host becomes unavailable. So there is a failover mechanism that is done internally. If the host currently serving as the SPM becomes unavailable due to hardware failure, network issues or other reasons, the OLVM engine automatically assigns the SPM role to another host within that particular data center. And the failover mechanism ensures continuity in storage management operations with minimizing disruptions in virtualized environments. So basically, internal failure mechanism is handled when the engine or the host becomes unavailable. Now, there’s something which is called as storage lease. So basically, a storage lease is a mechanism that enables virtual machines to maintain consistent access to storage across different host within a data center. Let’s try to see how does it work. When you add a storage domain, a special volume is created called as the xlease volume. And virtual machines are able to acquire a lease on this special volume. So special volume is created when you define this particular storage lease. When you add a storage domain to an OLVM, a volume called xlease is automatically created within the storage domain. And this volume is designated for managing storage leases for VMs, and the virtual machines are able to acquire a lease on this particular special volume. So virtual machines have the capability to acquire a lease on the xlease volume within their associated storage domain. This lease mechanism ensures that VM can maintain exclusive access to their required storage resources. A storage lease is configured automatically for the virtual machines on selecting storage domains to hold the VM lease. So when configuring a virtual machine and selecting a storage domain to hold its disk, images, and related resources, OLVM will automatically configure a storage lease for that VM. This lease allows the VM to start and operate on any host within that data center that has access to the storage domain holding that lease. It also gives you the options to enabling mobility, so it enables virtual machines to start on another host. So storage leads is supporting the virtual machines to get migrated and started on the other host doors. The lease ID and other information are sent from the SPM to...

Continue reading...

Data Center – OLVM

It’s important to understnad topics that are related to understanding data centers, understanding clusters, understanding hosts and understanding storage domains. We’ll also cover understanding networks and understanding virtual machines. So we’ll have a basic idea about what are the different components or the core components that make your Oracle Linux Virtualization Manager work to implement the high-level virtualization and high-availability architectures and management of quality of services. Let’s try to understand each of these topics as we go further. When we talk about the core components, your Oracle Linux Virtualization Manager is actually categorized into data centers, clusters, and hosts. So the main idea is your virtualization environment consists of the main core components, like the data center cluster and the host. So data center can consist of multiple clusters, and clusters can consist of multiple hosts. The hosts here are referred to KVM host. Inside the host, you can have multiple virtual machines that can be created depending on the availability of resources under those hosts. And if hosts are configured with cluster management, we can also go with clustered environments, where you can have migration of virtual machines and implementation of, you can say, fencing and other features if your host and clusters are configured, if your cluster contains multiple hosts. And with these, you also need to know the high-availability considerations, like how I can configure high availability architectures inside my Oracle Linux Virtualization Manager. As I said, virtual machine migration is one of the feature of high-availability architecture and that is possible with clusters and hosts configured properly. Then we have got to understand the networks. We have got the logical networks, and how these logical networks are configured and what are the components related to logical networks. And we are going to see these storage components like storage domains and understand what type of storage domains you can configure inside your Oracle Linux virtual manager. And at the end, we’ll also see a bit of event logging and notification. All these components that we are looking in here, we’ll be understanding these components, like host, virtual machines, high ability considerations, network, storage, as we go further in the course with individual chapters related to all these components. So let’s get started with understanding the basic idea related to the core components and their features and their settings. So the first thing is the data centers in Oracle Linux Virtualization Manager. A data center represents the highest organizational level within the OLVM hierarchy, encapsulating clusters, host, storage, and network configuration. So basically a data center in OLVM is designed to provide a comprehensive and unified management framework for all virtualized resources within an organization. So you can understand a data center is a logical grouping of the components like clusters, hosts, storage domains, and networks. It serves as the primary container for organizing and managing resources, ensuring consistent policies, configuration, and resource allocation across the infrastructures. Inside the data center, you might have multiple clusters. So inside the oVirt engine– the oVirt engine can handle multiple data centers. You can configure many data centers into engine. And each data center can have multiple different sets of clusters, clusters and hosts like clusters. Each data center contains one or more clusters. Clusters are group of hosts that share the same storage domains and network configuration. And inside the cluster, you can have hosts, which are physical servers within a data center, which are organized into clusters. Each host within a data center must belong to a cluster, ensuring efficient resource management and virtual machine allocation. Then when we talk about the storage domains, the data centers encapsules storage domains, which are logical entities representing physical storage resources. They can be configured as NFS, iSCSI, fiber channel, gluster file system. So there are different types of storage domains that you can configure inside your Oracle Linux Virtualization Manager. The shared storage is actually a storage that is shared between the component of your clusters. So all clusters and hosts within a data center share access to these storage domains, enabling virtual machine migrations and centralized storage management. Different types of storage domains can be created, including data, ISO, export domains, and each serving specific purpose inside your virtual environments. Other than this, the data center also consists of networks. You have got networks which are defined at the data center level and applied to clusters and host supporting various network topologies like VLANs and multi-interface configurations. So if you want to go with a data center creation, you can do that by getting into your administration portal. Using a GUI interface, you will go to the menu, which is called as a Compute. And inside the compute, you will select Data Centers, which will take you to the page for the data centers which are available inside your engine. And when I look at the data center part, I can see every installation will have one default data center created for you. You can create other data centers. You can define properties for it by using the buttons, which are listed there, which are called as the New button, so New button or the Edit button. The New button will help you in creating a new data center and Edit will help you in editing an existing data center. You can also remove the data centers from the system by using the Remove button. So these are the different actions that you can perform using your Data Center main page. Now, let’s see what are the features that I need to consider when I’m creating a new data center. So in the new data center, when you click that New data center button, you get this window, which pops up for defining the new data center properties. The new data center will have to be provided with a name. The name of the data center, it’s a text field, and it can have up to 40-character limit, and it should be a unique data center inside your engine. Then we have got the other component which is called as the storage type. Very much important to define what kind of storage is managed under this particular data center, whether it’s a shared storage or whether it’s a local storage type. So you can have a data center getting attached to local storage, which will not have a cluster configuration, cluster management, and high-availability architectures. But it only supports a single host and a single non-shareable cluster or a local cluster that is created for a local storage type data center. If I use shared, the shared storage domain can be anything related to iSCSI, NFS, FC, which is fiber channels, POSIX, or gluster file system. They can be added to the same data center. And local and shared domains, however, cannot be mixed. So again, at the time of creating the data center, you decide whether you want to create the data center with shared storage, or whether it’s a local storage data center. Usually, you create the local storage data center if you are trying to do some kind of testing, or doing some kind of development stages or creating virtual machines for test and development. But on production environments, majorly, for high-availability architectures for implementing fencing, or getting into QOS management and other features of high-availability architecture, we need to have a shared domain. Then we have got the compatibility version. The compatibility version parameter defines the Red Hat virtualization compatibility. So to what level is it compatible? So that is what is defined by the compatibility version. Then we have got the quota. The quota is a resource limitation tool provided with Red Hat virtualization, which can be defined as disabled, ordered, or enforced. The values inside the quota mode can be audit, disabled, or enforced. By default, it is audit. If you want to edit the quota settings and you want to allow the machines to utilize beyond the set limit, I can use the audit option. And I can get it logged to see whether I’m using more than the value required, which has been set as a quota. But if I enforce the quota, which is usually done on the production environments to force the systems not to go beyond the quota that is allocated to them, and disable this, you’re not controlling any quota limit. So you define these options at the data center level. We have also got something which is called as the quality of service. Quality of service in Oracle. Linux Virtualization Manager is a powerful feature that allows administrators to manage and optimize the performance of virtual resources by prioritizing workloads or setting resource limits and guarantees and implementing bandwidth management. Quality of service ensures that critical applications receive the necessary resource, that resource contention is minimized. And implementing QOS policies enhances the reliability, efficiency, and predictability of a virtualized environment, leading to a better overall performance and user satisfaction. And to do that, or to configure the default QOS policies for the storage, you can do that by getting into your Data Center page for your data center, selecting that data center from the data center page, and you get the details of the data center page in which you have got the QOS, Quality Of Service. And then you can define the quality of service by using the options like for the storage quality of service, you have got the New button there to which you can create a new quality of service definition. To applying the storage quality of service to manage input outputs per second and bandwidth for virtual machines, ensure that high-performance storage needs are met without impacting other virtualization environments. We have got– One of the option here is the Storage option, where we are creating a new storage QOS, where we can define the QOS name and the description, and then we can define the properties of the quality of service definition. Like I want to define the IOps limits, I can configure the total amount of IOps, amount of IOps for read, and amount of IOps for write that you’re giving as a limitation for the environment. So you’ve got set the limits on the I/O operations per second or bandwidth for storage devices to control the storage performance and reserve a minimum number of IOps for critical VMs to ensure they receive the necessary storage performance.

Continue reading...