1. Home
  2. Training Library
  3. DevOps
  4. DevOps Courses
  5. Red Hat Virtualization and Infrastructure Migration Technical Overview

Open Virtualization with Red Hat Virtualization

Developed with
Red Hat
Start course
1h 10m

Virtualization is everywhere! Exactly what is it and how should you make use of it?

The "Virtualization and Infrastructure Migration Technical Overview" course will help you discover the benefits of open source virtualization, how to better manage your virtualization assets, and the best way to move traditional workloads from one virtualization provider to an open virtualization.

In this course, you will learn to:

  • Easily define infrastructure mappings.
  • Create migration plans to confidently balance your workloads.
  • Build migration plans to reduce your expenditure on virtualization.

Right now we are going to talk about Open Virtualization. We will see a demo of it using Red Hat Virtualization. Open Virtualization is a way to do virtualization with open source H2H, and it has all the features that you are expecting from a virtualization platform: resource management, high availability, being able to perform scheduling policies to be able to place your VMs in the right hypervisors, do a live migration and live storage migration to move VMs from one hypervisor to the other, or their storage from one storage array to another without interrupting the service. And of course, integration with CloudForms, which is a cloud management platform. 

So, we see that RHV is Red Hat Virtualization is a platform, a virtualization platform that can handle many workloads. And it can use many kinds of the storage to be able to handle them. One of them could be NFS but we're also using Gluster storage as software-defined storage solution, and we have CloudForms connected to it to be able to manage the workloads. We can also connect to it using Ansible and create Ansible playbooks to automate some tasks in RHV by using the modules that come with Ansible. 

In Red Hat Virtualization, or RHV, what we do is we leverage the best of open source that we have in-house. So, for example we use an open -- Red Hat Enterprise Linux as the platform for the hypervisors and inside Red Hat Enterprise Linux we leverage the features that come with the Linux kernel such as KVM which is an engine for virtualization that is very performant. We also leverage their high-availability add-ons that come with Red Hat Enterprise Linux which is what you would use to create a cluster. So, you are sure that the hypervisors accessing the same storage do not corrupt the data in it. Because we use these fancy engines are used in the cluster and have been used for more than 10 years.

We also leverage JBoss Enterprise Application Platform for the manager. So, we could say that the manager in Red Hat Virtualization is just an application running on the top of JBoss Enterprise Application Platform. And of course we use Patternfly. Patternfly helps create user interfaces with a common user experience using the same language and the same objects in every single interface. So, it makes really easy and straight forward to find whatever you are looking for, and it also looks very good. 

So, what do we provide on top of this? Red Hat provides support on Red Hat Virtualization provides training, and provides consulting and professional services, and also very important Third-Party Certifications not just for hardware but also for software. And we have security certification for all the environments that we create and we also include every single new feature that comes in the product with the subscription that you already have. So, whenever you have any version of the product, you can make use of the new features without having to pay for a new license because it is included in the subscription. 

This is the value that we add on top of open source, and just as an example on how Red Hat Virtualization leverages Red Hat Enterprise Linux. We go to the Ecosystem page in the Customer Portal. We will see that Red Hat Virtualization certifications are covered by Red Hat Enterprise Linux. What does this mean? If we go to Red Hat Enterprise Linux and we search for the servers that are certified for it, we will see that there are 4396 matching products. These are items in the servers list that you could use to build your own infrastructure using this hardware. So, now let us go and see a demo of Red Hat Virtualization. 

This is Red Hat Virtualization version 4.2 and we have an Administration Portal and a VM Portal. This VM Portal is a User Portal that, as Red Hat Virtualization has a role-based access control, it enables you to be able to see all your machines in one very simple and easy to use interface. In here, you can perform very simple tasks on your VMs like for example, let's reboot this VM. You can create a new VM, you can see and edit some of the properties. You could even access the console.

In this case, we are using Spice protocol to access the console but there are like several choices. We are using the Spice protocol because it is the most performant protocol that we have in Red Hat Virtualization to access the console, and it is very indicated to use for video-intensive applications. We can use VNC protocol, which is much more available and it can be integrated directly into a webpage so you do not need to install any kind of software on your laptop to be able to access the console. 

So, let us go to the Administration Portal. This is the Administration Portal and in here you can access and manage all the resources of Red Hat Virtualization. We can see all the machines in here for example, you can do all the tasks that you can do in the console like shutting down the machine, or you could migrate them and move them from one host to another. First, before moving this let us see that we have here two JBoss Enterprise Application Platform servers with one application on it, a database, and a load balancer. Let us access that application.

This application is just a ticket shop, but a demo. The good thing about having it as a demo is that you can Start bot and it mimics the fact that people could be accessing the application to request tickets. So, the application is running and now we can just migrate this VM. There are nice add-ons in this console like, for example, you can see here the tasks that are happening, very easily, and go back to the previous page.

Or you can see here a drawer with notifications like, for example, we should make a backup of our database. So, now that the VMs are migrated we can see that the applications keeps, the application keeps running and also, we can go to the cluster and establish a policy because, you know, we do not want both servers in the same host as they are a cluster. 

So, we can create a policy in which we can define affinity or untie affinity rules. So, let us create this Affinity Group, JBoss. We will say that we have negative affinity for VMs. And we will choose the two VMs jboss0 and jboss1. And we will enforce it so we are sure that they are not running on the same hypervisor. We apply it and we can see how the VM is migrated so they are not both on the same hypervisor. So, we will have one on kvm0 hypervisor and the other one on kvm1. This way we will ensure that they are, in case a hypervisor fails, they are located in different hypervisors and the application keeps running. 

We can also create virtual machines based on templates. One of the things that I like most about this is that we are using cloud-init the same cloud-init that you would use in clouds, to be able to add users or any other configuration to the VM during the boot up. So, let us create a user labuser in this machine. Run the VM. We can access the VM with the user we have just created using cloud-init. So, this was a walk around on Red Hat Virtualization and Open Virtualization. I hope you enjoyed it and see you in the next video.


About the Author
Learning Paths

Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.

Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS).