Infinite I/O

VAIO Primer: Part II "Getting Started with Storage Policies"

Posted by Dan Perkins on Jul 12, 2016

Today we continue our series on VAIO.  You can start with the prologue (Running vSphere 6? Why you should care about VAIO), the first post (VAIO Primer "What is VAIO?") or just start here. 

In my last post, I looked at how we install an I/O filter.  I mentioned that installation alone is not sufficient to start using it, and that an association needs to be made between the filter and a VMDK. 

Today, I'll explain the basics of Storage Policies - the mechanism within vSphere 6 that enables this association.

Seeing storage policies

To help you understand what I am describing and how Infinio Accelerator configures the storage policies in a basic environment, let's take a look at vCenter.  Note, storage policies are only configurable through the vSphere web client - the Windows-based client does not feature these facilities.

The three areas in the web client where you can view storage policies is (1) under the Policies and Profiles menu, (2) when creating or editing a VM’s virtual hardware, and (3) when viewing the Monitor or Manage tabs of the virtual machine.

tab1.png

tab2.png

tab3.png

 

All three are useful, though there is quite a bit of redundancy and oftentimes it isn’t immediately obvious how the three work together or what the best management style is.  This is particularly true for admins that are new to storage policies.  

 

Assigning a storage policy to a virtual machine

When you assign a storage policy to a virtual machine using vCenter's policies and profiles management tool, at the lowest level what is happening is that the I/O filter is actually being applied to each compatible VMDK descriptor file.  Here is an example:

[root@r610-27:/vmfs/volumes/181b0263-e9924ed0/websrv1] cat websrv1.vmdk
# Disk DescriptorFile
version=5
encoding="UTF-8"
CID=4deadfa0
parentCID=ffffffff
isNativeSnapshot="no"
createType="vmfs"

# Extent description
RW 83886080 VMFS "websrv1-flat.vmdk" 

# The Disk Data Base
#DDB

ddb.adapterType = "lsilogic"
ddb.geometry.cylinders = "5221"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.iofilters = "iniaccel"
ddb.longContentID = "cfdd9eaf6c64d19e105f21f04deadfa0"
ddb.sidecars = "iniaccel_1,websrv1-0b9583da615df227.vmfd;iniaccel_3,websrv1-aad1603d4a9896dd.vmfd;iniaccel_2,w
ddb.thinProvisioned = "1"
ddb.toolsVersion = "2147483647"
ddb.uuid = "60 00 C2 9f 23 43 f5 bd-7e 56 28 cf d6 74 f1 18"
ddb.virtualHWVersion = "11"

 

It is this association to the VMDK that allows the filter framework to instantiate an I/O filter on VM startup.  The average user doesn't need to modify descriptor files (or even use the managed object browser in order to assign IO filters) - vCenter itself is best suited for configuring a small number of VMs.  The process of assigning the storage policy is fairly manual and does not currently support a bulk configuration facility.  
 

Infinio's abstraction of storage policies 

When developing our UI for the 3.0 product we choose to try to reduce this complexity and to merge the three views above into a single purpose-built workflow.  Our goal was to manage the complexity out of storage policies while still allowing full flexibility for the advanced user.  

This is what we ended up on.  Search and browse simplicity with multi-select lets you create a quick list of the VMs you wish to accelerate.  The next screen verifies the filter is installed, and as they say, away you go.

choosevms.png confirm_updates.png

 

Within the Infinio Management Console it is as easy as selecting a VM and hitting “Accelerate”. Behind the scenes Accelerator configures and manages the basic storage policies for you.  

What's next?

Since many of the APIs that the Console uses are accessible from the vCenter UI, an advanced user can easily add the Accelerator I/O filter to any number of their existing policies, or else develop new storage tiers that utilize RAM and SSD caching for top level performance.  You still gets the benefits of the charting tools in the Infinio Management Console because any VM or VMDK that is associated with the I/O filter automatically starts uploading stats.

In my next post, I'll demonstrate how to include Infinio in existing storage policies and manage their application to virtual machines entirely through Virtual Center. 

Meanwhile,  why not:

See a 90-second walkthrough

Topics: Talking Tech