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:
- Cleanup host partitions/volumes
- Configure KVM hosts and choose one as a deployment host
- 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
- Choose a deployment host referred to here as
kvmhost1
. The deployment host is used to start your Gluster and SHE deployment. - 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
- Publish the ssh public key to the deployment host itself using its FQDN. For example:
root@kvmhost1 ~]# ssh-copy-id kvmhost1.example.com
- 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
- 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.
-
On all hosts
- Log in as root and install
cockpit-ovirt-dashboard
to provide a web UI for installationvdsm-gluster
to manage Gluster servicesovirt-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
, andkvmhost3
:# dnf install cockpit-ovirt-dashboard ovirt-host vdsm-gluster
- Run the following commands to ensure the
cockpit.socket
is enabled and started and to open the cockpit port infirewalld
.For example, run the following commands on the
kvmhost1
,kvmhost2
, andkvmhost3
:# systemctl enable --now cockpit.socket # firewall-cmd --permanent --add-service cockpit # firewall-cmd --reload
- Log in as root and install
- On the deployment host only, install the
ovirt-engine-appliance
andgluster-ansible-roles
packages.[root@kvmhost1 ~]# dnf install ovirt-engine-appliance gluster-ansible-roles