So far, we have covered the following aspects of Dell EMC PowerStore:

High Level Overview

Hardware

AppsON

Now, let’s dive deeper into one of the features that excites me to the most, vVols. PowerStore is optimized for virtualized environments with its close integration with VMware vSphere or as Chris Mellor wrote “PowerStore.. and its integration with VMware means it should on that basis alone become the default midrange storage offering for existing customers.” & “Dell EMC has probably the best integration going with VMware..”

PowerStore provides the storage capabilities for the creation of specialized VMware datastores in the vSphere environment which are shared by ESXi hosts.

  • Volumes (Block) are discovered and mounted as VMFS datastores.
  • Exported file systems are mounted as NFS datastores (only on PowerStore T models).

    Storage containers on PowerStore appliances act as a logical grouping of vVols that enable vVols to map directly to the appliance.

Discovery and connection to ESXi hosts on the network is accomplished through host configurations using storage protocols, and VASA support configuration.

The PowerStore X configuration provides a hypervisor layer in addition to block storage.

  • VMware ESXi is the base operating system running on the PowerStore X hardware.
  • PowerStore X appliance uses a portion of the system resources and storage space to run the PowerStore software VMs.

The storage system works closely with existing VMware storage management and integration features.

  • VASA is a VMware-defined API meant to provide a common way for VMware to integrate with storage vendors. The API is implemented using an out-of-band, Simple Object Access Protocol (SOAP) over HTTPS.

  • VMware vSphere APIs for Array Integration (VAAI) are a set of APIs to enable communication between VMware vSphere ESXi hosts and storage devices. The APIs define a set of storage primitives that enable the ESXi host to offload certain storage operations to the array. These APIs reduce resource overhead on the ESXi hosts and can improve performance for storage-intensive operations.

What is Virtual Volumes (vVols) Technology?

vVols is an integration and management framework that virtualizes SAN/NAS arrays, enabling a more efficient operational model that is optimized for virtualized environments and centered on the application instead of the infrastructure. vVols simplifies operations through policy-driven automation that enables more agile storage consumption for virtual machines and dynamic adjustments in real time, when they are needed. It simplifies the delivery of storage service levels to individual applications by providing finer control of hardware resources and native array-based data services that can be instantiated with virtual machine granularity.

With vVols, VMware offers a paradigm in which an individual virtual machine and its disks, rather than a LUN, becomes a unit of storage management for a storage system. vVols encapsulate virtual disks and other virtual machine files, and natively store the files on the storage system.

Overview

vVols are VMDK granular storage entities exported by storage arrays. vVols are exported to the ESXi host through a small set of protocol end-points (PE). Protocol Endpoints are part of the physical storage fabric, and they establish a data path from virtual machines to their respective vVols on demand. Storage systems enable data services on vVols. The results of these data services are newer vVols. Data services, configuration and management of virtual volume systems is exclusively done out-of-band with respect to the data path. vVols can be grouped into logical entities called storage containers (SC) for management purposes. The existence of storage containers is limited to the out-of-band management channel.

vVols and Storage Containers (SC) form the virtual storage fabric. Protocol Endpoints (PE) are part of the physical storage fabric.

By using a special set of APIs called vSphere APIs for Storage Awareness (VASA), the storage system becomes aware of the vVols and their associations with the relevant virtual machines. Through VASA, vSphere and the underlying storage system establishes a two-way out-of-band communication to perform data services and offload certain virtual machine operations to the storage system. For example, operations such as snapshots and clones can be offloaded.

For in-band communication with vVols storage systems, vSphere continues to use standard SCSI and NFS protocols. This results in support with vVols for any type of storage that includes iSCSI, Fibre Channel, Fibre Channel over Ethernet (FCoE), and NFS.

  • vVols represent virtual disks of a virtual machine as abstract objects identified by 128-bit GUID, managed entirely by Storage hardware.
  • Model changes from managing space inside datastores to managing abstract storage objects handled by storage arrays.
  • Storage hardware gains complete control over virtual disk content, layout and management.

Many storage partners have added vVols support in their arrays. For end-to-end vVols support, HBA drivers need to support vVols-based devices. This necessitates availability of an API to get the second-level LUN ID (SLLID) and use by the SCSI drivers.

  • Virtual disk granular external storage consumption model for VMware vSphere.
  • Two primary aspects:
    • in-band: Fibre Channel, iSCSI, NFS and NVMe-oF (in the future) for storage media access.
    • out-of-band: vSphere API for Storage Awareness (VASA) as a machine to machine communication for storage management.
  • vVols technology is vendor agnostic.
  • Vendors need to certify implementation to get onto the Hardware Compatibility List:
    • Base vVols certification with 350 individual tests
    • vVols replication certification with 70 individual tests
    • vVols SCSI-3 persistent reservations support with 20 tests

Key Concepts: VASA API Endpoint

PowerStore includes an embedded VASA 3.0 provider. VASA gathers information about the storage system, focusing on the storage container properties and data services, and displays this information in vCenter. vCenter must be registered in PowerStore Manager to enable this functionality. Each PowerStore cluster can only be registered to a single vCenter instance.

PowerStore communicates with the ESXi server through APIs based on the VASA protocol. VASA enables PowerStore appliances to request and display basic information about the storage system, and the storage resources it exposes to the virtual environment.

PowerStore Manager is capable of monitoring the status of the provisioned storage resources:

  • Monitor events without requiring continuous polling.
  • Automation for configuration process

In general, a VASA session is created when a vCenter connects to the VASA Provider using the VASA protocol. The protocol allows (and enforces) only one session per vCenter. Sessions are created with information about the client (FC and iSCSI initiators) for use in filtering results. Sessions are maintained in memory only; they are not persisted across restarts. vCenter detects a failed session and automatically starts a new session.

Key Concepts: Storage Container

  • Pool of capacity exposed by storage system to create vVols.
  • Mounted on ESXi hosts as vVol datastore.
  • Depending on the implementation actual storage space may or may not be allocated for the storage container. For example, physical space is allocated from a storage pool in Unity and is not allocated in PowerMax or Trident.
  • In deployments with multitenancy requirements, storage containers can be used to partition tenants (no strong tenant isolation is offered by vSphere though).

Key Concepts: Storage Policy

  • Data structure defined by vSphere admin and supplied by ESXi host to storage system for vVol creation.
  • Combines capabilities exposed by the storage system to define set of requirements for creating vVols.
  • ESXi host initially supplies storage policy to discover matching storage containers/vVol datastores. This allows the storage system to restrict which vVols can be created where.
  • Storage system monitors compliance with the policy and reports non-compliance.

Key Concepts: Virtual Volume (vVol)

  • Storage system volumes hosting data for vSphere.
  • Accompanied with metadata supplied by vSphere.
  • Config – virtual machine configuration (up to 4 GB).
  • Data – virtual disk.
  • Swap – swap space for powered on virtual machines.

Key Concepts: vVol Snapshot

  • Block sharing snapshot of a base vVol.
  • Read-only or read-write.
  • Can be bound for IO access or restored from.
  • Fast-clone – a block sharing clone used for development and test or Virtual Desktop Infrastructure.
  • Full clone – used for deploying virtual machines from templates and storage vMotion.

Key Concepts: Protocol Endpoint

  • Protocol Endpoint is the access point for IO to vVols.
  • In case of FC or iSCSI it is a T10 administrative LUN under which vVols are bound as subordinate LUNs.
  • Reduces path management scale for ESXi storage stack.
  • In case of NFS it is an NFS exported path.
  • With NVMe-oF ANA Groups will likely be used instead of Protocol Endpoints to reduce path management scale.

PowerStore discovers the details about the virtual volumes that are stored in the storage container and displays them in PowerStore Manager.

Open the Storage Container page in PowerStore Manager by expanding the Storage submenu and selecting Storage Container.

Click the name of the storage container that is provisioned to the ESXi using VASA support.

Select the Virtual Volumes tab. The page displays the list of VVols stored in the storage container.

VVols are storage objects that are provisioned automatically on a storage container and store VM data.

You can monitor closely the status of any of the objects by selecting the ADD TO WATCHLIST, and gather support material.

Below, you can see the integration we have from the PowerStore GUI to the VMs that are residing on VVOLS

The area marked in read is showing the type of (v)volumes used by that VM, it has one config file, one vswp file (that gets created when the vm is powered on and gets deleted when it’s powered off) and one ‘data’ volume. You may ask why is it shown as ‘clone’, the reason is that if the parental vm template reside on the same vvol datastore as the one you are deploying (deploy from template, cloning etc) that vm to, it will utilize array based snapshot, that is also the reason, why it will be very fast to perform this operation.

The area marked in green is showing the storage container, this vm is residing in, you may asked yourself, “well, if there is only one storage container, why even bother?”, the answer to that is simple (and i think unique to PowerStore), we support more than one storage containers and there may be many reasons you want to create more than one, multi-tenancy etc.

The area marked in yellow is where things are starting to get interesting, it provides you metric relevant to that VM from both a storage & compute perspective, lets check them out

The compute tab will give you information on the selected VM, CPU usage, Memory Usage and System Uptime, all as it appear in vCenter.

The storage performance tab wil give you information about the latency, IOPS and Bandwidth consumed by that VM

The protection tab will both show you information about the protection policy of that VM and it’s associated, array based snapshots or it can also be used to take array based snapshots of that VM.

Finally, the virtual volumes tab will show you the associated volumes of that VM, note the ‘snapshot’ type added volume, it means that there is an array based snapshot, i just took for that VM.

And this is how the snapshot is visible from the vCenter interface. Pretty slick!

Modify Capacity of VVol Datastores

The capacity of VVol datastores, from provisioned PowerStore storage, can be increased or decreased by following these operations:

  • Change the storage container quota in PowerStore Manager.
  • Refresh the capacity in vSphere.

Open the Storage Container page in PowerStore Manager by expanding the Storage submenu and selecting Storage Container.

Click the name of the storage container that is provisioned to the ESXi using VASA support.

The storage container properties page opens. The available Information includes only storage consumption, and virtual volumes stored in the storage resource.

Select any of the tabs to see more details.

Quotas can be enabled on storage containers. A high water mark determines when an alert will be generated for the storage administrator.

From the properties page of the storage container that is attached to the ESXi host, perform the following operations:

  • Select the pencil icon on the right of the storage container name.
  • Change the value of the storage container quota. In the example, the storage container quota was increased.
  • Click APPLY to save the changes. The slide-out panel closes and the information on the capacity tab is updated.

Launch a vSphere Web Client session to the vCenter Server, and open the Storage view from the menu.

Select the VVol datastore and the Configure tab.

On the General page click REFRESH on the Capacity section. The VVol datastore capacity now reflects the change to the PowerStore storage container size.

Below, you can see a demo that will provide you a good overview of VVOLS when running on PowerStore

and here, you can watch a joint lightboard video we did with VMware around PowerStore vVols architecture

and another one here

lastly, here’s a demo showing how to protect (both locally and remotely) VMs running on vVols with RP4VMs (RecoverPoint for Virtual Machines)

you can also download the vSphere best practices white paper by clicking the screenshot below

in a future post, we are going to cover how to use the new PowerProtect software to have an enterprise grade backup for your VMs, hosted on PowerStore for both VMFS and vVols.

2 Comments »

Leave a Reply