Fundamentals of Software Audit Data Collection – Virtualization Inventory

in Blogs

In order to effectively manage their software usage and to mitigate compliance exposure, companies need to know how to gather and analyze information regarding their product usage. While some software products may have unique data-collection requirements that ordinarily would not be applicable for other products, usage levels for many products can be measured using a common set of reports that companies can prepare themselves to gather. The purpose of this and other posts in this series of blog entries is to give companies insight regarding how to gather those datasets and why that information is relevant to their licensing obligations.


Most mid-sized and larger businesses today run a significant portion of their server footprint (if not all of their servers) in virtualized environments. Such configurations typically consist of one or more physical, host servers where the company uses a system-partitioning and/or resource-allocation solution to run one or more virtual, guest computers with operating systems that are compatible with the software that the company needs to run. Virtualization can offer significant cost savings, since it facilitates lower investments in physical hardware to meet a company’s computing needs. It also can yield performance benefits, by allowing for more efficient system-failover and resource-sharing architectures.

However, virtualization also can entail supplemental licensing obligations and risks. Some software publishers do not recognize virtual server processors as a relevant license metric, effectively requiring the full processing capacity of the physical host infrastructure to be licensed for a product (even if that product is running on only a single virtual server within the physical infrastructure). Oracle, for example, is somewhat notorious for not recognizing VMware (likely the most popular virtualization technology used today) as effective for limiting license obligations to virtual resources. Other publishers make allowances for sub-capacity licensing options, but they condition such license grants on using cumbersome measurement tools to track the resources allocated to virtual servers running their software products. IBM and its requirement to use its License Metric Tool in such scenarios is a good example. Therefore, BEFORE a company deploys any software in a virtualized computing environment, that company needs to review the license terms applicable to the products it uses in order to ensure that its planned configuration will not result in additional licensing exposure.

Another challenge associated with virtualization is gathering complete inventory data. The primary hardware inventory previously discussed here typically is not a sufficient source of information regarding virtualized environments, because most inventory tools and methodologies do not provide information regarding the physical hosts running the virtual servers. What is needed is a separate reporting solution that can map virtual servers to their hosts and that can provide the same level of detail regarding physical hosts as the primary hardware inventory. In particular, for each host, the inventory should include information regarding the make and model of each device as well as the make, model and quantity of processors and processor cores for physical servers and virtualization hosts. It also typically is important for the virtualization inventory to provide information regarding whether virtual servers are able to migrate from one host to another, as opposed to being locked down to a particular host.

Again, VMware offers what is likely the most popular suite of virtualization technologies in use today. It also offers native reporting capabilities that make it relatively easy to generate a useful virtualization inventory. However, a preferred and, in most cases, easier method for obtaining that inventory is to use a free, third-party tool – RVTools – to generate a comprehensive set of VMware environment reports that contains all the information (and more) needed to perform a licensing analysis. RVTools is a Windows-based application that takes advantage of a built-in VMware software development kit to display information about the VMware virtual environment. Most companies consider it to be a user-friendly, one-stop solution to obtain all of the required information.

Microsoft’s Hyper-V technology is built in to the Windows Server operating system, and, consequently, it also enjoys significant popularity. A PowerShell query is a common technique for generating a Hyper-V inventory, though the output from that query is not formatted ideally for data-analysis purposes. Alternatively, companies that have licensed and deployed Microsoft System Center to manage their environments should be able to generate appropriate reporting, and Microsoft’s free MAP Toolkit can generate useful virtualization reports.

Other kinds of virtualization solutions are less flexible in obtaining all of the reporting required for software-asset management purposes. Citrix’s XenApp and XenDesktop solutions also are widely used (though perhaps not as extensively as VMware or Hyper-V), and while it offers some built-in reports, many companies report that they prefer to configure custom reports in order to gather information relevant to a licensing analysis. Other virtualization solutions – such as Oracle’s Solaris Zones or IBM’s LPAR technologies – may require the assistance of knowledgeable technical staff members in order to extract information needed for a licensing analysis using automated methodologies. A company also may be using open-source solution that effectively requires inventory data to be compiled manually.

Larger enterprises may run different virtualization solutions globally, and they need to prepare their system owners to be in a position to generate virtualization inventories on demand. In our experience helping multi-national enterprises with licensing analyses, this step often can be just as time-consuming as the collection of the primary hardware inventory.