Quick Start Checklist
Please ensure the following before attempting VVol setup and configuration:
- Upgrade FlashArray to Purity 5.1.11+ or 5.2.3+
- Recommended to be running Purity//FA 5.1.5+ for Key Improvements to VVols
- Configure NTP on every ESXi host, vCenter, and FlashArray involved in VVol management
- Run vCenter 6.5 and ESXi 6.5 or later (6.7 Update 2 is highly recommended).
- vCenter and ESXi management networks must have TCP port 8084 access to the FlashArray controller management ports
- Create a local array admin if running Purity 5.1+ to register the storage providers.
- Configure host and host groups with appropriate initiators on the FlashArray prior to VVol setup
If using Virtual Volumes and FlashArray replication, ensure that anticipated recovery site is running vSphere 6.5 or later. As always, please ensure you follow standard Pure Storage best practices for ESXi
Introduction to Virtual Volumes
Traditional storage provisioning of VMware-based virtual machines was done via a datastore mechanism.
The process was typically as follows:
- VMware administrator requests storage
- Storage administrator creates a “LUN” and provisions it to the ESXi environment via a protocol like iSCSI or Fibre Channel.
- VMware administrator rescans the SCSI bus of the ESXi host(s), identifies the device, and then formats it with the Virtual Machine File System (VMFS).
- A virtual machine is then created with various virtual disks. Each virtual disk was a file on that datastore. These virtual disks were then presented as block devices back up the virtual machine.
While this process could be automated via plugins and the like, it still presented a variety of problems. First off, every time additional capacity was needed, this process was required to be followed. Also, if a virtual machine needed a certain array feature (replication for instance), how was that achieved? Array based replication was at the datastore level, so enabling a feature on that datastore affected all of the other virtual machines on that datastore (for better or for worse). Furthermore, how could the VMware administrator be sure that feature was, at any point in the future, still configured properly or even enabled?
There were not a lot of great answers to these questions.
Enter VMware vSphere Virtual Volumes (henceforth referred to as VVols).
VVols solve these problems. At a high level, VVols offer the following benefits:
- Virtual Disk granularity on the array:
Each virtual disk is a physical volume on the array.
- Automatic Provisioning:
When a new virtual disk is requested for a VM, VMware automatically has the array create a corresponding volume and present it to that VM. A 100 GB virtual disk means a 100 GB volume on the array. When that virtual disk is resized, so is the array volume. When the virtual disk is deleted, so is the array volume.
- VM-insights on the array:
Since the array now sees each virtual disk, it can report on that granularity. It also understands the virtual machine object, so an array can now manage and report on a VM itself or its individual virtual disks.
- Storage Policy Based Management:
Since the array now has virtual disk granularity, features like array snapshots, or array-based replication can be provided at the exact granularity needed. With VVols, VMware can communicate to the array to find out what features it supports and allow the VMware administrator to assign, change, or remove functionality on a VVol on demand and via policies. If a storage administrator overrides a configured feature on a VVol, the VMware administrator is alerted becausre the VM is marked as non-compliant with its assigned policy.
Configuring the vSphere Web Client Plugin
While the FlashArray Plugin for the vSphere Web Client is not required for VVols on the FlashArray—it does help streamline some processes that would require coordinated use of multiple GUIs or scripting work.
- In your FlashArray GUI, got to Settings > Software and then vSphere Plugin. Click the edit icon in the top right. The Available Version should be 4.1.0 or higher. If it is not, please open a Pure Storage support ticket to get it loaded to the array, or follow the PowerShell-based installation steps detailed in the following article:
- Enter in your vCenter address (FQDN or IP) and credentials. These much have at least access to the Register Extension/Update Extension permissions in vCenter.
- The FlashArray will now query for existing installations. If there is an older one, click Upgrade, otherwise, click Install.
- The plugin will then be registered with vCenter. The credentials are not saved into the FlashArray, nor do they need to be. Once you refresh the page the saved credentials will go away. No further interaction is needed in the FlashArray GUI.
- The plugin will then be installed upon next login, watch for the following tasks to complete in the vSphere Client
- Then, if necessary, refresh the browser when you see this notification:
- To verify the installation from within vCenter, log in to the HTML-5 vSphere Client. A Pure Storage logo icon should appear unedr the vSphere Client home menu.
- To authenticate your FlashArray(s) into the plugin, click on the Pure Storage icon or use the drop-down menu and choose Pure Storage from the home menu button at the top of the screen.
- Click on Add FlashArray.
- Enter in your FlashArray credentials (storage admin or higher permission level) and connection info.
- Click Add to authenticate that FlashArray with the plugin. Add additional FlashArrays as needed.
Registering the FlashArray VASA Provider
The quickest method for registering the FlashArray VASA Provider is through the use of the FlashArray Plugin for the vSphere Web Client. It should be noted that this plugin is NOT required to be installed to use VVols with the FlashArray—though it does help streamline some processes such as this.
Pure Storage recommends using a local array admin to register the storage provider. A local array admin user can be created starting in Purity 5.1 and higher. This process is outlined here.
- For each FlashArray for which you would like to register their VASA providers, select the array listing and click the Register Storage Provider button.
- In the window that appears, enter your FlashArray credentials (storage admin permission level or higher) and click Register. If your vSphere Client is connected to more than one vCenter (Enhanced Linked Mode) you can choose one or more vCenters to register VASA with.
- The VASA providers will then be registered to the selected vCenters
The FlashArray will log all subsequent VVol operations from those vCenters under the user used to register the storage providers. Pure Storage recommends the user of a local user to register the storage provider. The user will be able to create a local storage admin for this purpose starting in Purity 5.1 and higher.
Mounting the FlashArray VVol Datastore
Once VASA has been registered, the FlashArray Plugin for the vSphere Web Client can automate the process to connect a PE to a cluster and also mount the VVol datastore.
- This is performed by navigating to Hosts & Clusters, then right-clicking on the desired cluster or clicking the cluster and then the Actions menu in the vCenter inventory pane. Next, click the Pure Storage menu option and choose Create Datastore.
- Next, choose the VVol radio button and choose a FlashArray to provision from. Then, if required, enter a friendly name for the VVol datastore.
- If the VVol datastore on that FlashArray has already been mounted to a host or cluster in that vCenter, the name will already by populated and the entry box will be greyed out.
- Click Create. If there is an error message, this usually means that a corresponding host group has not been created, or it is created improperly. Refer to the section Configuring Host Connectivity for more information.
Creating VM Storage Policies
A quick option for the creation of VM storage policies is to use the FlashArray Plugin for the vSphere Client. The 4.1.0 release of the plugin offers the ability to import one or more FlashArray Protection Groups and create respective storage policies in vCenter.
- To do this, navigate to the FlashArray Plugin home screen in the vSphere Client, either from the home menu or the home drop down at the top of the page.
- Choose a FlashArray and then the Import Protection Groups button. The window that pops up will show the available protection groups on that FlashArray and a quick summary of their local snapshot policy and replication policy. For a more detailed description, refer to the protection group directly.
- Select the protection groups that you would like to import and then click the Import button. Note that if a protection group is grayed out (cannot be selected) that means a storage policy that matches that protection group already exists.
- Clicking Import will take the following configuration parameters from the selected protection groups and create the respective VM storage policies:
- Snapshot interval
- Short-term per-snapshot retention
- Replication interval
- Short-term per-replication snapshot interval
The plugin will then create the storage policies on all vCenters configured in that environment that the logged-in user has access to (so if they are in enhanced linked-mode by sharing SSO environments it will be created on all).
- If you navigate from the plugin screen to the Policies and VM Storage Policies Profiles page then to, you will see just the default policies (or ones you created prior).
- If you view the policy, you can see the details of the configured capabilities.
Policies can also be manually created or changed using the following FlashArray capabilities:
|Pure Storage FlashArray||Yes or No|
|FlashArray Group||Name of one or more FlashArrays|
|QoS Support||Yes or No|
|Consistency Group Name||A FlashArray protection group name|
|Local Snapshot Policy Capable||Yes or No|
|Local Snapshot Interval||A time interval in seconds, minutes, hours, days, week, months or years.|
|Local Snapshot Retention||A time interval in seconds, minutes, hours, days, week, months or years.|
|Replication Capable||Yes or No|
|Replication Interval||A time interval in seconds, minutes, hours, days, week, months or years.|
|Replication Retention||A time interval in seconds, minutes, hours, days, week, months or years.|
|Minimum Replication Concurrency||Number of target FlashArrays to replicate to at once|
|Target Sites||Names of specific FlashArrays desired as replication targets|
Moving a VM to VVols
A virtual machine can be easily and non-disruptively be migrated from NFS or VMFS to Virtual Volumes via a Storage vMotion operation. This will convert virtual disks into the separate volumes on the array.
- Click on a virtual machine in the vSphere Web Client and choose Migrate.
- Then choose “Change storage only”.
- Choose a VM storage policy if desired, or just choose a VVol datastore.
- If you chose a policy, VMware will filter out non-compatible datastores. If the policy has replication or snapshot capabilities, you will need to choose a replication group (which is a FlashArray protection group).
- Click Next then finish to have VMware convert the VM online to VVols and apply any policy configurations if selected
Virtual Volume Reporting
The Virtual Volume architecture not only gives VMware insight into the FlashArray, but it also gives the FlashArray insight into VMware. The granularity provided by Virtual Volumes gives the FlashArray the ability to understand the virtual machine object (volume group) and its various virtual disks (volumes).
Data Reduction Reporting
- As noted in previous sections, a VM is represented on the FlashArray as a volume group. By clicking on the Storage pane and then the Volumes tab, you can see the volume groups. Click on the one that represents your virtual machine.
- The top panel of the volume group shows averaged or aggregate information for your virtual machine. If you click on the Space button in the Volumes box, the space stats will be displayed for the individual VVols as well.
- To see historical information, click on the Analysis pane and choose Capacity and then the Volumes tab.
- To look at VMs (volume groups) or VVol (volumes) click on the drop down and choose the appropriate object type.
- Once selected, look through the objects and select it to see the VM or VVol of your choosing. Alternatively, type in the name of the VM into the search box and the listing will be filtered automatically.
- VM and VVol performance can also be reported on. By click on the Analysis section and the Performance sub-section, details like IOPS, latency, and throughput can be viewed. Click on the Volumes tab to find the various VMs (volume groups) or VVols (volumes).
- To see report on a VM, choose volume groups in the drop down. To see specific VVols, choose volumes.
The analysis tab will breakout the performance stats (IOPS, throughput, and latency) in different charts, which can be split further into Reads or Writes. For VM latency, it is averaged for all volumes in that VM. For throughput and IOPS, it is accumulative across the volumes. If a specific volume is selected, they are the stats for just that volume.
Creating a Snapshot
While a benefit of virtual volumes is that you can go to the array GUI/REST/CLI and perform per-VM or per-virtual disk operations, a primary advantage is that this can be done from within vCenter natively.
When you have a virtual machine that consists of VVols, you can use the vSphere Web Client (or any VMware management tool) to create array-based snapshots.
- For instance, the process to create a snapshot with the vSphere Web Client is as follows. Navigate to the Host & Clusters view and identify the target virtual machine. Then right-click on the VM and choose Snapshots and then click Take Snapshot.
- This will bring up the snapshot creation panel. In here, you can choose a name and one or neither of the following options.
- Snapshot the virtual machine’s memory
When you create a memory snapshot, the snapshot captures the state of the virtual machine's memory and the virtual machine power settings. When you capture the virtual machine's memory state, the snapshot operation takes longer to complete. You might also see a momentary lapse in VM response over the network (a ping or so).
- Quiesce the guest file system
When you quiesce a virtual machine during a snapshot, VMware Tools quiesces the file system in the virtual machine. The quiesce operation pauses or alters the state of running processes on the virtual machine, especially processes that might modify information stored on the disk during a restore operation. This does require VMware Tools to be installed inside of the VM.
- Snapshot the virtual machine’s memory
- Purity//FA 5.1.3+ -- Snapshots will be a copy of the volumes for the VM that you are taking a managed snapshot of.
- Here is a look at the volume group and the the config, data and data snapshot volumes.
- Here is the Data volume for the VM running, you'll see it's connected to the host.
- Then here is the the snapshot volume of the current data volume. Notice that it is not connected to any hosts and it is not a Pure Snapshot, but it's own volume.
- Here is a look at the volume group and the the config, data and data snapshot volumes.
- Pre Purity//FA 5.1.3 -- If you look at one or all of the data VVols on the FlashArray, you will now see their respective snapshots:
- The snapshot will also appear inside of VMware interfaces where it can be fully managed.
Additional VVol Features of the FlashArray vSphere Web Client Plugin
The FlashArray Plugin for the vSphere Web Client 3.0 introduces a few value-add snapshot and recovery features that are not otherwise built-in to the vSphere Web Client.
When you have a virtual machine using VVols, there is a new tab that appears called FlashArray Virtual Volume Objects. This shows the virtual disk to VVol relationship in the table and offers a few features on the top panel.
The plugin offers three snapshot-related features here:
Import Disk — this allows you to take any VVol or any VVol snapshot from any FlashArray VVol-based VM in that vCenter (including itself) and present a copy of it instantly to the selected VM.
Create Snapshot — this allows you to create a FlashArray snapshot of just the selected virtual disk
Overwrite Disk — this allows you to refresh the data on a VVol virtual disk with any VVol snapshot or VVol from any FlashArray VVol-based VM.
Undelete Disk — this allows you to instantly recover any VVol-based virtual disk that was accidentally deleted for up to 24 hours.
The Import Disk workflow lists all of the VMs with FlashArray data VVols and all of their snapshots (managed and unmanaged).
You can then choose any data VVol or any of its snapshots.
When you select it and click Create, the plugin will create a new data VVol of the appropriate size and then do a volume copy from the source to the new data VVol. Since this is a metadata-based FlashArray volume copy it will be essentially instantaneous regardless of the size of the volume.
The standard VMware tools provide mechanisms to create a snapshot of a VM, but when executed, VMware creates a snapshot of every virtual disk (data VVol) in that VM. Often this is not needed—often only a snapshot of one or a few of the virtual disks presented to a VM needs to be created. So, this workflow in the plugin allows you to create a snapshot of the particular virtual disk you selected in the table.
- Select the desired virtual disk and right-click it and choose Create Snapshot.
- A window will then pop up for snapshot creation.
- You can enter in a snapshot name or leave it blank to have the FlashArray just assign it a number. This will then create a FlashArray snapshot of the data VVol for that virtual disk.
The third feature is overwriting a virtual disk. This will take in any source data VVol or VVol snapshot and overwrite the selected data VVol. You can overwrite from any source FlashArray data VVol as long as it is the same size as the target data VVol and on the same FlashArray.
- Either select a virtual disk and click the Overwrite Disk option on the top panel, or right-click that virtual disk and choose Overwrite Disk.
- Select any VVol or VVol snapshot to overwrite the target VVol (note it must be the same size).