How to Setup HA for RHV-M 4 pt1

Hi folks! After plowing through my home lab, I’m ready to walk you through setting up RHV-M in a “self-hosted engine” (HA) configuration. I’ve talked about this in some previous articles if you need to familiarize yourself with what the significance is or why someone might want to go with this approach over a standard deployment.

Let’s get to it.


Sounds funny, right? “Pre-setup”.. like you’re going to setup before you setup? But really, that’s what you need to do. In this case, everything needs to be right before you just dive right into the deep end of the lake, or you’re going to hit rocks. What I mean is that your underlying environment needs to be right, or things will not go smoothly at all.

Specifically, you’re going to need to pay attention to the requirements of the hosts and RHV-M software.. the specs are well published. For example, you need to have fully qualified domain names for all of your hosts and RHV-M, and they need to resolve (forward and reverse!) in some form of DNS. Just using “/etc/hosts” isn’t going to cut it here.. Don’t have running DNS in your lab, don’t sweat it, look here. Also, you’re going to need to have your storage in order. FC, iSCSI, and NFS will all work fine, but lets face it…. NFS is the easiest to setup and maintain. Just be sure that user 36 and group 36 owns the export. If you need a quick primer on how to allow NFS through the firewall in RHEL 7, I’ve got that too.

As for the hosts, I happen to be using the lightweight hosts in this example. That means strict use of LVM Thinpools for the disk layout as well as at least 60GB of space for /var. Also, you really need to go way beyond the bear minimum of 2GB of RAM for the host… That may be all you need to run the host, but what will you need to run your apps? In this case, RHV-M needs 16GB all by itself. So load up all the memory you can get your hands on. If you are budget constrained, cheap out on the CPU’s, not the memory. Seriously.

You’ll also need to change the ownership of “/var/tmp” to user and group 36. You’ll need to copy the RHV-M appliance (OVA image) there prior to kicking off the configuration. You download the OVA image from the Red Hat site (


I don’t have a demo video this time around.. I’m on international travel and don’t have access to my lab. I’ll get you guys a demo ASAP. One of my colleagues here has a recorded demo that I may end up using.. I’ll get you a walk-through one way or another!!!

Configuring Self-Hosted Engine

  1. Install RHVH – I created a host with 100GB of space so that I have about 65GB in /var, a little over 12GB in /, about 1GB for /boot, and the rest for swap. I have the network interface configured at boot time with the DNS pointing at my dnsmasq server, but you’ll want to point it wherever your DNS is..
  2. Once your first RHVH is done, download the RHV-M appliance (if you haven’t already), and then copy it over to the /var/tmp directory of the RHVH.. then change the ownership, `chown –R 36.36 /var/tmp`. Note – when I copied my OVA image over, I shortened the file name to simply “rhevm-appliance.ova” so that when I have to type it in as part of the deployment, there is much less to type and less chance for a typo.
  3. You can deploy your second RHVH host, but do NOT attempt to configure it as part of the cluster yet.
  4. Once RHVH is up, the OVA image copied over, and /var/tmp ownership is changed, log into the Cockpit interface via web browser – https://ip_for_rhvh:9090
  5. On the “System” tab in Cockpit, change the “Performance Profile” to “virtual host”.
  6. Then go to “Virtualization” -> “Hosted Engine” and click the “start” button.
  7. From there, simply follow the prompts in Cockpit, for example:* Most of the [defaults] will be fine for our purposes
    * When it prompts for “the device to boot the VM from”, it is referring to the RHV-M appliance. If you copied the OVA image to “/var/tmp”, select “disk”.
    * When it prompts for the path (a question or 2 later) for the path to the OVF file, give it the full path for the OVA, for example “/var/tmp/rhevm-appliance.ova”
    * Accept the defaults regarding the appliance configuration (cloud-init, generate, domain, etc)
    * Provide IP and DNS info for the RHV-M appliance when prompted
    * When asked if lines in “/etc/hosts” should be added, answer “yes”
    * Accept the remaining defaults
    * Review your selections when prompted, and if they look correct, select “yes” to commence the installation of the hosted engine VM and RHV-M.
  8. Watch the activity log – the login as well as the temporary VNC password will be provided.

Wrapping up / Follow up

I’m going to follow this up with a walk through video as promised, but I will also show you fine folks how to add an additional RHVH so that the RHV-M appliance actually has a place to failover/failback. Additionally, you’ll need to know how to put the HA services into maintenance mode.

As always, comments and questions are welcome!

Hope this helps,

Captain KVM

Sidenote – in my home lab, NetworkManager (in both RHVH nodes and the RHV-M appliance) kept pulling DNS server configuration from my cable modem and placing those server IP’s in “/etc/resolv.conf”, while my dnsmasq IP was in the NIC configuration file.. this wreaked havoc, especially later when I tried to deploy the actually hosted engine configuration!!!! I simply logged into my cable modem, it forced it to also use my dnsmasq server. It worked great, as my dnsmasq server simply forwarded external requests to

Agree? Disagree? Something to add to the conversation?