Save to My DOJO
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 ESXi 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 file 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 file 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 running VIB file. 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 ESXi VIB file. It contains the requirements for installing the VIB and identifies who created the VIB and the amount of testing that’s been done. Oftentimes you will run into various third-party vendors who have their own running VIB files 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 ESXi VIB files 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. Vib files 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: VIB files 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: Running VIB files 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: VIB files created by individuals or partners outside of the VMware partner program. These .vib files do not undergo any VMware or trusted partner testing and are not supported by VMware or its partners.
You may be wondering how to create a VMware VIB file? While this is possible, it is not supported and VMware recommends against doing this in production hosts. However, it is perfectly fine to be adding a VIB file to vcenter6.7 for instance.
How to list VIB files?
A number of esxi VIB files are preinstalled when spinning up a VMware vSphere host. Which .vib file and versions will depend on the ISO you use to install vSphere. The “vanilla” or “stock” ESXi from VMware will include the latest .vib files and default drivers, while an OEM ISO customized for Dell or HP hardware for instance will usually not include the latest versions of VIB files but they will include drivers specific to the hardware they sell.
Interacting with running VIB files can be done with ESXCLI, meaning you can do it in an SSH session or in PowerCLI. The VIB file related commands are in the following namespace:
esxcli software vib
“Esxcli namespace for VIB file”
In the following example, we work in an SSH session.
You can list the installed ESXi VIB file with the following command. You can obviously also use grep to narrow down the results.
esxcli software vib list
“List all VIB file with ESXCLI”
How do I install and update a VIB file?
Now let’s VMware how to install VIB files. In order to install a .vib file, we will use the following command. Now don’t go install just any VIB file out there, this should be reserved for very specific cases such as fixing a dodgy NIC driver or else. Once install you let esxi load the VIB file vSphere.
You can either install a VIB file as part of a depot using the “-d” parameter. Those come in zip file format (instead of VIB file extension) and usually include a bunch of VIB files. This is what you get when you update your vSphere host with the command line
esxcli software vib install/update -d <path to zip bundle>
You can also install individual VIB files with the VIB file extension by specifying the path using the “-v” parameter.
esxcli software vib install/update -v <path to vib file>
Now if you leverage vSphere Lifecycle Manager (vLCM) in your environment you may wonder how to update using the VIB file vSphere web client? Well, you can import patches manually in zip format (depot), you will find the procedure in the VMware documentation..
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 running 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 blog post.
To protect your VMware environment, Altaro offers the ultimate VMware backup service to secure backup quickly and replicate your virtual machines. We work hard perpetually to give our customers confidence in their backup strategy.
Plus, you can visit our VMware blog to keep up with the latest articles and news on VMware.
To wrap up, we’ve covered an ESXi VIB file 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 a community-supported ESXi VIB file. 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 VIB files. 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 VIB files? Have you had good luck with them? Not good luck? Let us know in the comments section below!
Not a DOJO Member yet?
Join thousands of other IT pros and receive a weekly roundup email with the latest content & updates!