Linux KVM Infrastructure Inventory

By default, basic information on all guest devices is automatically included in the inventory of a Linux KVM virtual host. The combination of the device inventory from all VMs and from the host, together with the structural information about the guest devices, allows the host and guests to be displayed in the correct relationships in the Unclustered hosts and VMs group of the Virtual Devices and Clusters page (unless you manually edit a cluster relationship for multiple hosts, so that they move to your chosen group), as well as in properties pages like the Virtual Machines tab of the inventory device properties for the VM host, and the VM properties tab of the device properties for the virtual machines.

For troubleshooting, take note of the following requirements:

Supported platforms for the virtual host server include:
Red Hat Enterprise Linux (RHEL)
CentOS version 5.1 or later
Oracle Linux
SUSE Linux.

Tip:Other Linux distributions, such as Fedora and Ubuntu, that are using KVM may be successfully reported in inventory, provided that a supported version of libvirt (see below) is installed. However, these are untested as of this writing.

For the virtual host to be identified as a KVM host, the libvirt library must be installed and operational there. The minimum supported version of libvirt is 0.2.3.

Tip:CentOS 5.1, when installed with KVM virtualization enabled, includes libvirt 0.2.3.

Inventory from the host server must be collected by Inventory Agent version 14.0.0 or later. Inventory from guest VMs may be collected by earlier versions of Inventory Agent. If you prefer to use zero footprint inventory collection by an inventory beacon to gather inventory, the inventory beacon similarly must be 14.0.0 or later.
Inventory Agent on the Linux host server must be running as root if you wish to report all the guest VMs on the host. If for some reason, you choose to run the Inventory Agent as a non-root user account, it can report only those VMs that are accessible to that account. Furthermore, the non-root account must have viewing rights through the appropriate API. For details, see Common: Collection from Virtual Environments in Gathering FlexNet Inventory.

Tip:When using the zero footprint inventory collection method, the appropriate inventory beacon(s) need the credentials of the root user for the virtual machines and host. For this, the Password Manager on the appropriate inventory beacon(s) needs to be updated with these credentials. Use the value SSH account (password) for the Account Type field. For more information, see Using Password Manager.

The KVM inventory functionality must not be turned off. This is controlled in the config.ini file (the virtual registry on UNIX-like platforms) through the PerformKVMInventory preference. Normal operation requires that this preference is either absent or set to True; setting it to False disables (only) the gathering of the KVM host/ guests relationships. As a result, the host server is no longer recognized as a virtual host, and appears in listings and in its own properties as a normal Computer; and guests appear in inventory unlinked to any host. More details about the preference are also available in Gathering FlexNet Inventory.
A Linux KVM host supports many different guest operating systems. Rather than relying on the guest OS, the identification that the guest VM is running within the Linux KVM infrastructure (VM type is Linux KVM) relies on the manufacturer and model reported for the virtual 'hardware' of the guest VM. The following values currently identify the guest as a Linux KVM virtual machine, regardless of the guest operating system it is running:

Manufacturer

Model

Red Hat

KVM

Apache Software Foundation

CloudStack KVM Hypervisor

QEMU

Any value

To collect Linux KVM inventory, IT Asset Management uses the following standard components and processes:

Standard Components and Processes to Collect Linux KVM Inventory

Inventory Type

Component Used

Process used

Purpose

Device inventory

ndtrack in any of its formats:

As the full Inventory Agent locally installed
As the lightweight inventory scanner (for Linux, ndtrack.sh)
Run remotely in zero footprint inventory collection by the appropriate inventory beacon.

The inventory collection component collects the software and hardware inventory separately from each virtual machine on the host, and from the host server itself. Inventory gathered from the host by the inventory component (version 14.0.0 or later) automatically includes the KVM infrastructure data, and this is included within the normal inventory (.ndi) file, and uploaded and processed as usual.

After a full inventory import, the relationships between the inventory device records are visible on the Virtual Devices and Clusters page. By default, because the baseline KVM does not support clustering information, the host and its guest VMs are under the Unclustered hosts and VMs group. Of course, if you manually create clustering data for a group of your hosts, the host/guest records move to the appropriate cluster. Alternatively, you can show a flat list of the guest VMs by filtering the VM type column to match Linux KVM.

Of course, the host and VM guests also appear all the usual inventory listings, such as the All Inventory page.

The hardware and software inventory is used for normal license compliance calculations. Correct mapping of guest VMs to host server allows correct calculations of sub-capacity points for license types like IBM PVU.