Configure KVM Hosts for HCI Deployment

Before you can create Gluster volumes or deploy the Engine on the hyperconverged hosts, you must do a fresh installation of Oracle Linux 8.8 (or later) and enabling the required repositories. For detailed instructions, see Preparing a KVM host in the Installation and Configuration section of Oracle Linux Virtualization Manager: Getting Started. (Do not proceed with Adding a KVM host.)

Important:

You must have at least three (3) KVM hosts. If you want more than three KVM hosts, they must be added in factors of three.

After installing the operating system on each host, prepare for deployment by completing the prerequisite tasks:

  1. Cleanup host partitions/volumes
  2. Configure KVM hosts and choose one as a deployment host
  3. Install required packages

Ensure hosts have no partitions or LVM volumes on disks for Gluster use.

If you find any partions or LVM volumes, remove them before continuing, for example:

[root@host1 ~]# lvscan | grep -i gluster
 
[root@host1 ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0  250G  0 disk
|-sda1        8:1    0    1G  0 part /boot
+-sda2        8:2    0  249G  0 part
  |-ol-root 252:0    0  247G  0 lvm  /
  +-ol-swap 252:1    0  2.1G  0 lvm  [SWAP]
sdb           8:16   0  500G  0 disk
sr0          11:0    1 1024M  0 rom

Configure KVM hosts

  1. Choose a deployment host referred to here as kvmhost1. The deployment host is used to start your Gluster and SHE deployment.
  2. On the deployment host, use the ssh-keygen command to create an ssh keyring. This is used to configure Gluster nodes and volumes.
    root@kvmhost1 ~]# ssh-keygen
  3. Publish the ssh public key to the deployment host itself using its FQDN. For example:
    root@kvmhost1 ~]# ssh-copy-id kvmhost1.example.com
  4. Publish the ssh public key from the deployment host to all other hosts using their FQDNs. For example:
    root@kvmhost1 ~]# ssh-copy-id kvmhost2.example.com
    root@kvmhost1 ~]# ssh-copy-id kvmhost3.example.com
  5. On the deployment host only, create a hard link to $HOME/.ssh/known_hosts for Gluster. For example:
    [root@kvmhost1 ~]# ln $HOME/.ssh/known_hosts $HOME/.known_hosts

Install common rpm packages on all hosts and additional packages on the deployment host.

  1. On all hosts
    1. Log in as root and install
      • cockpit-ovirt-dashboard to provide a web UI for installation
      • vdsm-gluster to manage Gluster services
      • ovirt-host to configure the host as a KVM hypervisor when added to the Engine console

      For example, run the following command on the kvmhost1, kvmhost2, and kvmhost3:

      # dnf install cockpit-ovirt-dashboard ovirt-host vdsm-gluster
    2. Run the following commands to ensure the cockpit.socket is enabled and started and to open the cockpit port in firewalld.

      For example, run the following commands on the kvmhost1, kvmhost2, and kvmhost3:

      # systemctl enable --now cockpit.socket
      # firewall-cmd --permanent --add-service cockpit
      # firewall-cmd --reload
  2. On the deployment host only, install the ovirt-engine-appliance and gluster-ansible-roles packages.
    [root@kvmhost1 ~]# dnf install ovirt-engine-appliance gluster-ansible-roles