For today’s post, I want to cover one of the fundamental aspects of VMware: the VIB file.
When working with VMware over the years, I’ve run into multiple occasions that have required the use of VIB files. I’ve talked with multiple people who still struggle with what a VIB file is. So today, we’re going to talk about them.
What is a VMware VIB?
In short, a VIB is a software package that gets installed on a vSphere ESXi host that contains things like drivers. They have become quite a bit more common in the last few years as the supported hardware base for vSphere has increased over time.
If you want the official description from VMware:
VIB stands for vSphere Installation Bundle, and it’s a software package that gets installed on a vSphere ESXi Host. A VIB is somewhat similar to a tarball or ZIP archive in that it is a collection of files packaged into a single archive to facilitate distribution. If we look deeper we will find that a VIB is comprised of three parts:
A file archive or payload
An XML descriptor file
A signature file
The file archive/payload contains the files that make up the VIB. These are essentially the files that will be installed on the ESXi host when it’s instructed to.
The XML descriptor file describes the contents of the VIB. It contains the requirements for installing the VIB and identifies who created the VIB and the amount of testing that’s been done. Often times you will run into various third-party vendors who have their own VIBs so having this content is good.
The signature file is used to verify the level of trust. This is where it can get confusing because, in lab environments like my homelab, I generally use third-party VIBs and community supported VIBs. In a production environment, you might want to use only PartnerSupported VIBs and above. VIBs are distributed in the following levels:
- VMwareCertified: The VMwareCertified acceptance level has the most stringent requirements of all of them. VIBs with this level go through rigorous testing by VMware in-house. Today, only IOVP drivers are published at this level. VMware takes support tickets for VIBs with this acceptance level.
- VMwareAccepted: VIBs created by VMware partners that are approved by VMware. VMware relies on partners to perform the testing, but VMware verifies the results. VMware directs support calls for VIBs with this acceptance level to the partner’s support organization.
- PartnerSupported: VIBs with the PartnerSupported acceptance level are published by a partner that VMware trusts. The partner performs all testing. VMware does not verify the results. This level is used for a new or nonmainstream technology that partners want to enable for VMware systems. Today, driver VIB technologies such as Infiniband, ATAoE, and SSD are at this level with nonstandard hardware drivers. VMware directs support calls for VIBs with this acceptance level to the partner’s support organization.
- CommunitySupported: VIBs created by individuals or partners outside of the VMware partner program. These VIBs do not undergo any VMware or trusted partner testing and are not supported by VMware or its partners.
You can check to see what your host level acceptance is set to by doing the following:
From the vSphere Client select the ESXi Host and go to Configuration >> Security Profile. Under “Host Image Profile Acceptance Level” edit the acceptance level. You can also check with PowerCLI. From a PowerCLI command prompt while connected to the ESXi host run the following commands:
$esxcli = Get-EsxCli
You can set or change the policy from PowerCLi by running the following:
VIBs are generally installed and upgraded as a normal upgrade process. It’s possible that you might have missing VIBs. To check, look in the /var/log/vmkernel.log file and check for any error entries. Sometimes you can download a VIB and install it manually, which we’ll be covering in more detail in a future segment.
To wrap up, we’ve covered what a VIB is and the various acceptance levels. It depends on what kind of support you’re looking for but be careful in production environments that you’re not using community supported VIBs. They aren’t officially supported, and if you get into a bind with one of these, VMware will be unable to assist you. Again, as mentioned in the next post, I’ll cover how to work with VIBs. We’ll walk through how you can upgrade your ESXi hosts using the esxcli command as well.
Also, to leave you with a question, have you used many community-supported VIBs? Have you had good luck with them? Not good luck? Let us know in the comments section below!