Category Archives: PowerShell

Using the Pure1 PowerShell Module

Recently I wrote a blog post on how to authenticate and connect to Pure1 via PowerShell. You can find that here:

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

But it is fairly involved, so I made it easier for you (and me) by writing a PowerShell module and posted in on the PowerShell Gallery.

https://www.powershellgallery.com/packages/Cody.PureStorage.Pure1/

Continue reading Using the Pure1 PowerShell Module

Using the Pure1 REST API Part I: PowerShell

In my last post, I spoke about the ins and outs of using the Pure1 REST API–but it was a fairly manual process. Which of course is not how you really want to use a REST API. So the first part of this series will be using it with one of my favorite tools: PowerShell!

I will separate this into five parts:

  1. Creating your certificate
  2. Adding your public key into Pure1
  3. Creating your JWT
  4. Authenticating with Pure1
  5. Making REST calls after authentication

UPDATE!!!! I made this much easier, you can use my module to connect to Pure1 which is on the PowerShell gallery.

You can find more information on it here:

https://www.codyhosterman.com/2019/01/using-the-pure1-powershell-module/

https://www.codyhosterman.com/scripts-and-tools/pure1-powershell-module/

Continue reading Using the Pure1 REST API Part I: PowerShell

Updating a volume group name on the FlashArray for VVols

The FlashArray implementation of Virtual Volumes surfaces VMs on the FlashArray as standard volume groups. The volume group being named by the virtual machine name. Each VVol is then added and removed to the volume group as they are provisioned or deleted. These objects though are fairly flexible–we do not use the volume group as a unique identifier of the virtual machine–internally we use key/value tags for that.

The benefit of that design is that you can delete the volume groups, rename them, or add and remove other volumes to it. Giving you some flexibility to group related VMs or whatever your use case might be to move things around, without breaking our VVol implementation.

Continue reading Updating a volume group name on the FlashArray for VVols

PowerCLI and VVols Part VI: Running a Test Failover

This post I will talk about using PowerCLI to run a test failover for VVol-based virtual machines. One of the many nice things about VVols is that in the VASA 3.0 API this process is largely automated for you. The SRM-like workflow of a test failover is included–so the amount of storage-related PowerShell you have to manually write is fairly minimal.

Continue reading PowerCLI and VVols Part VI: Running a Test Failover

1.1.0.2 Release of the Pure Storage VMware PowerShell Module

I have released a new version of the VMware/Pure PowerShell module which can be automatically installed from the PowerShell Gallery.

Pure Storage PowerShell VMware Module

Updates in this release are focused on VVols. Creating VVol snapshots, copying them, creating new disks from them, retrieving them etc.

Version 1.1.0.2

I wrote a blog post below on using some of the new cmdlets:

PowerCLI and VVols Part V: Array Snapshots and VVols

Continue reading 1.1.0.2 Release of the Pure Storage VMware PowerShell Module

Pure Storage and VMware PowerShell Module

I see a fair amount of requests around how to do different things with VMware PowerCLI and the Pure Storage PowerShell SDK. How do I correlate a VMFS to a volume? How do I create a new VMFS? How do I expand? Etc.

To help our customers I have written a module that includes a lot of the common operations people might need to “connect” PowerCLI to our PowerShell SDK.

The module is called Cody.PureStorage.FlashArray.VMware. Continue reading Pure Storage and VMware PowerShell Module

PowerCLI and VVols Part IV: Correlating a Windows NTFS to a VMDK

My last post in this series was about getting a VVol UUID and figuring out what volume on a FlashArray it is. But what about the step before that? If I have a guest OS file system how do I even figure out what VMDK it is?

There is a basic option, which can potentially be used, which is correlating the bus ID and the unit ID of the device in the guest and matching it to what VMware displays for the virtual disks.

But that always felt to me as somewhat inexact.  What if you accidentally look at the wrong VM object and then do something to a volume you do not mean to? Or the opposite?

Not ideal. Luckily there is a more exact approach. I will focus this particular post on Windows. I will look at Linux in an upcoming one.

Continue reading PowerCLI and VVols Part IV: Correlating a Windows NTFS to a VMDK

PowerCLI and VVols Part I: Assigning a SPBM Policy

There are a variety of ways to assign and set a SPBM Policy to a VM. I recently put out a workflow package for vRO to everything VVols and Pure:

vRealize Orchestrator VVol Workflow Package

I also specifically blogged about assigning a policy to a VM with vRO:

Assigning a VVol VM Storage Policy with vRO

How do you do this with PowerCLI?

Continue reading PowerCLI and VVols Part I: Assigning a SPBM Policy

Volume matching via the API in Purity 5.0

Core to most scripting with the FlashArray is figuring out what volume is on what FlashArray. Then you proceed to do what you need with it (snapshot, report metrics, whatever).

Traditionally how this was done, at least from a VMware perspective was via the NAA (network address authority). You take this number, which is how ESXi uniquely addresses a volume and slice it up to find the array serial and the volume serial. By matching the section with a particular array serial, you have identified what array owns it. Then you can make the calls to that array.

Details on how this worked are beyond the scope of this post, but you can see this here:

VMFS Snapshots and the FlashArray Part IV: How to correlate a VMFS to a FlashArray volume Continue reading Volume matching via the API in Purity 5.0

VMware and FlashArray PowerShell GUI tool v2.7

Quick post. I updated my PowerShell GUI tool I maintain for VMware and FlashArray management and added some new features. This time mainly around protection group management. Download it from my GitHub page here:

https://github.com/codyhosterman/powercli/blob/master/PureStorageVMwareStorageTool.ps1

Continue reading VMware and FlashArray PowerShell GUI tool v2.7