Skip to main content
Pure Technical Services

Installing the FlashArray NFS VAAI VIB Component

Currently viewing public documentation. Please login to access the full scope of documentation.

Introduction

In order for storage vendors to add value to native VMware virtual machine storage operations (via acceleration, insights, and more) VMware provides a standardized API called vSphere APIs for Array Integrations, often referred to as VAAI. For those familiar with block-based datastore implementations of VAAI, these are in-band protocol-based operations that require no installation of additional software. For NFS-based datastores there is no standardized way of implementing this is the datapath--this is mainly due to the fact that vendors implementation operations in different ways for support of NFS. Therefore, VMware provided an alternative path for VAAI support file NFS through the use of VAAI plugins in the form of an ESXi host-based vSphere Installation Bundle (VIB) component.

This VIB component is tested, certified, and digitally signed by VMware to ensure the appropriate behaviors and avoid malicious installation of software into the ESXi kernel behavior.

Pure Storage now provides a VAAI NFS VIB component for use with FlashArray storage arrays starting with Purity 6.4.0. Please ensure your FlashArray hardware model also supports File Services as well before proceeding.

VAAI Primitives

VMware provides the following features (often referred to as "primitives") with NFS-based VAAI:

  • Full File Clone. This feature offloads the cloning or Storage vMotion of VMDKs (virtual disks) and VMs to the array. Instead of ESXi transmitting unneccessary reads and writes over the data path, a singular operation is sent to inform the underlying array of what VMs file or files to directly copy. This reduces network traffic and often accelerates the overall operation.
  • Fast File Clone. This feature offloads the creation of snapshots or Linked Clones to the array. This results in similar benefits to Full File Clone but is focused on snapshot/file redirection.
  • Reserve Space. By default virtual disks on NFS datastores are created as "thin" this means the capacity is not allocated until it is actually written to similar to a traditional file on a file system (files grow as written to). This primitive allows the NFS array to fully reserve the provisioned space of the VMDK upon creation.
  • Extended Statistics. By default, ESXi only has insight into basic capacity reporting for NFS datastores that are provided natively by the NFS specification. This primitive enhances this metric set by providing more insight into capacity utilization for thinly-provisioned devices.

For further reading please refer to VMware documentation here

Downloading the VAAI VIB Component

The best way to install the VIB zip component is directly on ESXi from the web URL listed below in the ESXCLI Method. If the ESXi host does not have access to that URL directly, the zip package can be downloaded below.

Pure Storage is looking into ways to simplify this installation in the future.
 

Version Download ESXi Release Support
1.0.0-1 File:Download-Icon.png - Wikimedia Commons ESXi 7.0 U1+
ESXi 8.0 GA+
  MD5 Checksum
3702f49757391c2c6e71126def43408d
SHA256 Checksum
 871d66a521a731d6b72e2f703ecd87c41d012426015ddbe98d90d192e738fb60
 
Beta Retired ESXi 7.0 U1+
ESXi 8.0 GA+
  MD5 Checksum
169E8B9042FE32EF9E7114385CDE27F1
SHA256 Checksum
 A225599A80D2AA5BB3BB193F86C04507793DDC720EE61AEE80B40F9FCFF4A272
 
     

Always confirm the checksum (SHA256 is preferred) before installing into ESXi.

Installing the VIB Component

For any host you plan on mounting FlashArray NFS datastores to, you should install the VAAI plugin. It can be installed after NFS datastore provisioning, but it is recommended to make this the first step. Once installed, it is does not need to be re-installed or managed with the exception of potential future updates of the VIB (bug fixes, new features) or required VMware updates.

Note in order to install and enable any NFS VAAI VIB, you must either stop then start the NFS VAAI service or reboot the host post-installation.

ESXCLI Method

A common method for installing a VIB into ESXi is via ESXCLI--a command line tool offered natively in the ESXi shell. To access this you must SSH into the host with root-level credentials.

First, stop VAAI NAS service if running.

/etc/init.d/vaai-nasd stop

Then, install the VIB component either from a local folder or the web URL.

esxcli software component apply -d https://pure-vmware-plugin-repository.s3.us-west-1.amazonaws.com/vsphere/VAAI-NFS/GA/Latest/index.xml

Next start the VAAI nasd service.

/etc/init.d/vaai-nasd start

Finally validate the installation.

esxcli software vib list | grep Purity

Name                                 Version                              Vendor  Acceptance Level  Install Date  Platforms
-----------------------------------  -----------------------------------  ------  ----------------  ------------  ---------
PSI-ESX-PurityFANasPlugin-1.0.0      1.0.0-1                              PSI     VMwareAccepted    2023-05-23    host

PowerCLI Method

To install, connect to your vCenter and repeat the following on all required hosts. Replace <your cluster name> with the name of the desired cluster.

$cluster = get-cluster <your cluster name>
$clusterHosts = $cluster | get-vmhost
foreach ($esxi in $clusterHosts)
{
   $esxcli = $esxi |Get-EsxCli -v2
   $installOperation = $esxcli.software.component.apply.CreateArgs()
   $installOperation.depot = "https://pure-vmware-plugin-repository.s3.us-west-1.amazonaws.com/vsphere/VAAI-NFS/GA/Latest/index.xml"
   $esxcli.software.component.apply.Invoke($installOperation)
}

The output should look like this when completed successfully:

$esxcli.software.component.list.Invoke()|Where-Object {$_.Name -eq "PSI-PurityFANasPlugin"}


AcceptanceLevel : VMwareAccepted
CreationDate    : 05-10-2023
DisplayName     : FlashArray NAS VAAI Module for ESXi Server
DisplayVersion  : 1.0 - Build 1.0.0
ID              : PSI-PurityFANasPlugin_1.0-1.0.0
Name            : PSI-PurityFANasPlugin
Platforms       : host
Vendor          : Pure Storage, Inc
Version         : 1.0-1.0.0