All posts by codyhosterman

Retrieving Storage Policy of a VM with vRO

I recently saw a post on Reddit about pulling a VM storage policy from a VM using vRO and it was stated that it was not possible which was said to be confirmed by VMware support.

‘Now I don’t know when they asked VMware support, and if it was two years or so ago, then that was true. But it is certainly not true now. Though I will admit, it is not super intuitive to figure out unless you know where to look. Here is how you do it.

Btw, I only tested this with VVol storage policies, but it really should not matter at all.

Continue reading Retrieving Storage Policy of a VM with vRO

Generating the default VVol Storage Container ID

A VVol datastore, is not a file system, so it is not a traditional datastore. It is just a capacity quota. So when you “mount” a VVol datastore, you aren’t really performing a traditional mounting operation as there is no underlying physical storage to address during the mount. So instead of mounting some storage device, you are mounting what is called a storage container. This is the meta data object that represents the certain amount of capacity that can be provisioned from a given array. An array can have more than one storage containers, for reasons of multi-tenancy or whatever.

In a VMFS world, when you go to create a new datastore, you pass it the serial number of the storage you want to format with VMFS. You know that serial, because, well, you created the storage device. When you “mount” a VVol datastore, instead of a device serial, you supply the storage container UUID. It comes in the form of vvol:e0ad83893ead3681-b1b7f56a45ff64f1. Of course the characters will vary a bit.

Continue reading Generating the default VVol Storage Container ID

Mounting a VVol Datastore with PowerCLI

I’ve been making a lot of updates to my PowerShell module around VVols recently and this was the last “table stakes” cmdlet I wanted to add. There are certainly more to come, but now we definitely have the basics. In 1.2.2.1 release of the PowerShell module I added a cmdlet called Mount-PfaVvolDatastore.

As of today we support a single VVol datastore–though we are working on adding support for more than one.

Continue reading Mounting a VVol Datastore with PowerCLI

Installing the Pure Storage vSphere Plugin with PowerShell

A common question I hear is “can I install the Pure vSphere Plugin via PowerShell?” and my answer has been up until now, “sorry no :(”

But I was asked it twice last week and I decided to actually think about it? Why couldn’t it be automated? Just because we host in in the FlashArray and it is normally installed via our GUI? That GUI has to be executing code to do the install.

Installing a vSphere plugin is really two steps. First registering the plugin as an extension (this says what the plugin is, what version, etc). And then actually installing the plugin files to the vCenter. In a normal situation, someone logs into our GUI, connect to the vCenter and then runs the “install” which is really just registering the extension. In that registered extension, there is a link to where the plugin files can be downloaded from. This is step 2. At some point after registration, the vSphere Client downloads the files. In the Flash version, it happened the next time you logged in (this is why logging in took so long the first time you logged in after installing plugin). In the HTML-5 vSphere Client, this happens in the background, so there is no delay in logging in.

Continue reading Installing the Pure Storage vSphere Plugin with PowerShell

Registering VASA with PowerShell

Registering VASA providers is the first step in setting up VVols for a given vCenter, so automating this process is something that might be of interest to folks. We currently have this process in our vSphere Plugin, as well as in our vRO plugin, and of course you can do it manually. What about PowerShell? Well we have that too!

In our PowerShell Pure/VMware module there are three new cmdlets:

  • new-pfavasaprovider
  • get-pfavasaprovider
  • remove-pfavasaprovider
Continue reading Registering VASA with PowerShell

The Pure Storage Plugin for the HTML-5 vSphere Client

Finally! I know… You have been waiting for this and so have I. Our first release of our vSphere Web Client Plugin that supports the HTML-5 interface is officially released. Let’s walk through what it looks like!

The HTML-5 interface is vastly superior to the flash/flex based one, not only due to more accurate readouts, faster load times, but also the extensibility of the interface and guidelines around integration. Making it a much better platform for integration as compared to prior interfaces for vSphere.

Continue reading The Pure Storage Plugin for the HTML-5 vSphere Client

Assigning Read Access to Windows Private Key

I have written about authenticating with the Pure1 REST API, and my PowerShell module in the past:

https://www.codyhosterman.com/2019/01/using-the-pure1-rest-api-part-i-powershell/

One of the issues is that if you followed my default instructions, you would need to run the PowerShell window as an admin to be able to create the connection. The answer–now that I think about it is fairly obvious: non-admin users (or admins not running in admin mode) don’t have security rights to it. Duh!

Continue reading Assigning Read Access to Windows Private Key

First Class Disks and VVols

One of the major advantages we have seen with VVols is making a virtual disk a first class citizen on the array. We can restore, copy, replicate them (and their VMs) as storage objects were meant to be restored, copied, replicated etc.

Though one thing about virtual disks is that by default–they are not first class citizens in vSphere, VVols or otherwise. To create one, it has to be associated with a VM.

To retrieve one in PowerCLI (for example) get-harddisk requires a datastore or a VM to return a result:

Same if I want to create a new one:

Continue reading First Class Disks and VVols

Revamped PowerShell Module for Pure and VMware

About 6 months ago, my esteemed colleague Barkz blogged about our path forward with PowerShell. We have an official PowerShell SDK for managing the FlashArray–but it is limited to that: doing stuff to the FlashArray.

So to add value and make managing it within context of the layers you actually manage your infrastructure from (VMware, Microsoft, etc.) we created some value-add PowerShell modules to make it easier. Barkz talks about them here:

Continue reading Revamped PowerShell Module for Pure and VMware

Pure Storage Plugin v3 for vRealize Orchestrator

We just released an updated plugin for vRO today that is fully certified by VMware and is available on the VMware marketplace:

Download it here.

What are the new features? Well a lot–some various bug fixes, but this is mostly about new features:

  • ActiveCluster support
  • Enhanced protection group information
  • Throughput limits
  • Volume Groups
  • Pure1 REST API integration
  • Protocol Endpoints
  • Host Personality
Continue reading Pure Storage Plugin v3 for vRealize Orchestrator