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.
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
# Extent description
RW 83886080 VMFS "websrv1-flat.vmdk"
# The Disk Data Base
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"
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.
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.
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: