1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Linux Virtualization Manager (OLVM) 4.5 on Oracle Linux 8 (オンプレでの構築)

Last updated at Posted at 2025-09-03

image.png

Standalone Engine install & troubleshooting manual

OL Virutalization Managerの設定(2025年8月現在)
非常に苦労しましたので、備忘録として記載しておきます。

尚、下記のOracle公式サイトを参考にしております。
https://docs.oracle.com/en/virtualization/oracle-linux-virtualization-manager/?utm_source=chatgpt.com

<以下、本文>

Oracle Linux Virtualization Manager (OLVM) 4.5 on Oracle Linux 8

Purpose: A practical, copy‑paste manual for installing Standalone Engine OLVM 4.5 on Oracle Linux 8 (on‑prem), plus fixes for the most common DNF/module issues we hit.

Audience: Admins deploying OLVM in labs or production.


1 Overview & Architecture
Standalone Engine (recommended): The Manager (ovirt‑engine) runs on its own OL8 VM/host. KVM hosts are separate machines you add later.
Do not install the engine on a hypervisor OS (unless doing Self‑Hosted Engine, which is a different workflow).


2 Prerequisites
Engine host (Manager):
• Oracle Linux 8.8+ Minimal Install.
FQDN resolvable forward & reverse (e.g., olvm.example.com).
Time sync: chronyd running and correct timezone.
SELinux: Enforcing (required).
IPv6: enabled (do not disable on the Manager).
• Outbound access to Oracle repos (or a local mirror).

Quick checks (run on the Engine host):

hostname -f
getent hosts $(hostname -f)

timedatectl
sudo systemctl enable --now chronyd

getenforce
sysctl net.ipv6.conf.all.disable_ipv6    # expect 0

3 Repositories
Install the OLVM 4.5 release RPM (enables the correct repos):

sudo dnf install -y oracle-ovirt-release-45-el8
sudo dnf clean all && sudo dnf makecache

Confirm the repos:

sudo dnf repolist | egrep -i 'ovirt|baseos|appstream|kvm|gluster'
# Expect these enabled:
#   ol8_baseos_latest, ol8_appstream, ol8_kvm_appstream,
#   ovirt-4.5, ovirt-4.5-extra, ol8_gluster_appstream

Repo hygiene (avoid conflicts during install):
# Disable older or noisy repos during installation
sudo dnf config-manager --disable 'ovirt-4.4*' '*epel*' ol8_codeready_builder

Tip: Avoid setting module_hotfixes=1 globally in repo files. Use one‑shot flags only when absolutely necessary.


4 Pin Module Streams (prevents dependency fights)
Lock to the streams OLVM 4.5 expects on OL8:

sudo dnf module reset -y postgresql perl maven javapackages-tools
sudo dnf module enable -y postgresql:12 perl:5.26 maven:3.8 javapackages-tools:201801

5 Install the Manager

sudo dnf install -y ovirt-engine
sudo engine-setup

Recommended answers in engine-setup:
• Engine on this host: Yes
• ovirt‑provider‑ovn: Yes (default)
• WebSocket Proxy: Yes
• Data Warehouse: Yes (local)
• VM Console Proxy: Yes
• Grafana: Yes
• Keycloak: No for simplest first install (can add later)
• Firewall changes: Yes
• Accept defaults for local PostgreSQL; provide the Engine FQDN; set the admin password

If engine-setup asks you to update its own setup packages, run:
sudo dnf update -y ovirt-engine-setup ovirt-engine-setup-plugin-websocket-proxy ovirt-engine-dwh-setup ovirt-engine-dwh-grafana-integration-setup ovirt-engine-keycloak-setup

Rerun sudo engine-setup afterward.

Login:
• URL: https://<engine-fqdn>/ovirt-engine
• User: admin
• Profile: internal
• Password: set during engine-setup

If you need to reset/unlock admin:

sudo ovirt-aaa-jdbc-tool user password-reset admin --password 'NewStrongPass!'
sudo ovirt-aaa-jdbc-tool user unlock admin

This is overall picture.
#Reminder: Guest VMs do not need OLVM packages. Only Manager & KVM hosts use the release RPM.

・Install oracle-ovirt-release-45-el8 on: the Manager (Engine) host each KVM host (hypervisor)

・Do NOT install it inside guest VMs.
Guests are just normal OSes.

image.png

6 Add Your First KVM Host (separate machine)
On the KVM host (OL8 Minimal):

sudo dnf install -y oracle-ovirt-release-45-el8
sudo dnf clean all && sudo dnf makecache
hostname -f; timedatectl; getenforce

In the Admin Portal:

  1. Compute → Hosts → Add
  2. Enter FQDN, choose Default cluster, provide root password or SSH key
  3. Keep Install host checked; wait until the host status becomes Up (may reboot once)

7 Networking
Compute → Hosts → → Network Interfaces → Setup Host Networks
• Attach ovirtmgmt to a physical NIC (OLVM creates a Linux bridge). Note that the NIC will briefly bounce.


8 Storage Domain (example: NFS)
On an NFS server:

sudo mkdir -p /srv/ovirt/data
echo '/srv/ovirt/data *(rw,sync,no_root_squash)' | sudo tee -a /etc/exports
sudo exportfs -rav

In Admin Portal:
Storage → Domains → New

  • Type: NFS, Role: Data
  • Host: NFS server IP/FQDN; Path: /srv/ovirt/data
  • Save, then Activate domain if needed

(For iSCSI: choose iSCSI, Discover target, select a LUN, Role=Data, and create the domain.)


9 Create a VM (quick)
Compute → Virtual Machines → New

  • Choose OS type, memory/CPU, add a disk on the Data domain
  • NIC: attach to ovirtmgmt
  • Boot from CD‑ROM (ISO) or Attached Disk (cloud image)
    • Start VM → open Console (VNC or SPICE)

10 Troubleshooting (battle‑tested fixes)

A) DNF lock: “Waiting for process with pid …”

ps -fp <PID>
sudo systemctl stop packagekit dnf-makecache.service dnf-makecache.timer
sudo kill <PID> || sudo kill -9 <PID>

B) “All matches were filtered out by modular filtering”
List/reset modules:

sudo dnf module list --enabled
sudo dnf module reset -y <module>
sudo dnf module enable -y <module>:<stream>

One‑shot bypass for a single install (use sparingly):

sudo dnf --setopt=<repo>.module_hotfixes=1 install -y <pkg>

C) Jackson / Maven mismatch (OL8 AppStream)
If a package requires mvn(com.fasterxml.jackson.core:jackson-databind) and it’s filtered:

sudo dnf module reset -y maven javapackages-tools
sudo dnf module enable -y maven:3.8 javapackages-tools:201801
sudo dnf clean all && sudo dnf makecache

optional one-shot if still hidden

sudo dnf --setopt=ol8_appstream.module_hotfixes=1 install -y jackson-databind

D) SLF4J conflict when updating ovirt-engine-extension-aaa-jdbc
There is no OL8 slf4j-jdk14 ≥ 1.7.32. Remove the binding and update the core libs:

sudo dnf remove -y slf4j-jdk14
sudo dnf install -y slf4j jcl-over-slf4j   # will pick 1.7.32+ from AppStream

E) PostgreSQL 16 vs Perl 5.32 ABI conflict
Pin the supported streams and replace PG16 with PG12:

sudo dnf --disablerepo='*' --enablerepo=ol8_appstream,ol8_baseos_latest   module switch-to -y perl:5.26 postgresql:12

Fallback if switch-to not available:

sudo dnf module reset -y perl postgresql
sudo dnf module enable -y perl:5.26 postgresql:12
sudo dnf distro-sync -y 'perl*' 'postgresql*' --allowerasing

If dnf update keeps trying to pull PG16, remove any module_hotfixes=1 lines from /etc/yum.repos.d/.repo, clean metadata, and redo the enable commands above.

F) engine-setup keeps asking to update setup packages

Update the specific setup RPMs, then re-run:
sudo dnf update -y   ovirt-engine-setup   ovirt-engine-setup-plugin-websocket-proxy   ovirt-engine-dwh-setup   ovirt-engine-dwh-grafana-integration-setup   ovirt-engine-keycloak-setup
sudo engine-setup

G) Can’t log in to the UI
• Use admin with Profile = internal.
• Reset/unlock if needed:

sudo ovirt-aaa-jdbc-tool user password-reset admin --password 'NewStrongPass!'
sudo ovirt-aaa-jdbc-tool user unlock admin

11 Handy Commands

Services & logs

sudo systemctl status ovirt-engine
sudo tail -f /var/log/ovirt-engine/engine.log

Engine DB backup

sudo engine-backup --mode=backup --file=/var/lib/ovirt-engine/backups/engine-$(date +%F).tgz --log=-

Repo sanity

sudo dnf repolist

Module sanity

sudo dnf module list --enabled

12 Notes & Best Practices
• Keep Engine, hosts, and storage on reliable DNS & time.
• Avoid globally disabling IPv6 on the Manager.
• Prefer separate storage for Data, ISO, Export (NFS/iSCSI/FC).
• For production, use external DBs only if you already operate managed PostgreSQL; otherwise keep the default local DB for simplicity.
• After first login, create named users and roles; avoid daily work as admin@internal.


End of guide.


<参考> 尚、OLVM4.5はOL8であることがMustですが、OLKVMもOLVMで管理するなら、OL8でないとダメ。逆に言うと、OL9をOLKVMとして使用する事は可能だが、その場合は、OLVMで管理できない。
詳細は下記。

OLVM vs. OL KVM — Supported OS versions (brief)
What runs where

OLVM 4.5 Engine (Manager)
Must run on Oracle Linux 8.8 or later (OL8). Install ovirt-engine and run engine-setup.
https://docs.oracle.com/en/virtualization/oracle-linux-virtualization-manager/getstart/getstarted-manager-install-prepare.html?utm_source=chatgpt.com

KVM hosts managed by OLVM 4.5
Must also be Oracle Linux 8.8 or later (OL8). Do a fresh OL8 install on each host, enable the OLVM 4.5 repos, then add the host from the Admin Portal (the Engine pushes VDSM/libvirt/qemu).
https://docs.oracle.com/en/virtualization/oracle-linux-virtualization-manager/getstart/getstarted-manager-install-kvm.html?utm_source=chatgpt.com

Guest VMs
Any supported guest OS. They do not require OLVM packages.

What is not supported

Oracle Linux 9 (OL9) as KVM hosts for OLVM 4.5 is not supported. Oracle’s docs for preparing a KVM host explicitly require OL8.8 (or later OL8). The OLVM 4.5 release comms also say it “supports Oracle Linux 8 KVM compute hosts.”
https://docs.oracle.com/en/virtualization/oracle-linux-virtualization-manager/getstart/getstarted-manager-install-kvm.html?utm_source=chatgpt.com

If you must stay on OL9 for the hypervisor

Use stand-alone KVM management (no OLVM):

Cockpit “Virtual Machines” GUI (cockpit-machines) on OL9, or libvirt/virsh tooling. Oracle’s OL9 KVM docs cover this unmanaged workflow.
chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://docs.oracle.com/en/operating-systems/oracle-linux/9/kvm-user/OL9-KVM-USER.pdf?utm_source=chatgpt.com

10-second takeaway

・OLVM 4.5 = OL8 for Engine + OL8 for KVM hosts.
・OL9 hosts ≠ managed by OLVM 4.5. Use stand-alone KVM tools if sticking with OL9.

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?