All posts by codyhosterman

NVMe-oF Support is now Released!

Today Pure Storage officially released support of NVMe-oF support on the FlashArray. This is another important step forward in the FlashArrays progress with NVMe. Prior to this, we have made a few incremental, but important improvements in the product to add full end-to-end support of NVMe:

  1. Converting our NVRAM devices to use NVMe
  2. Moving off of SSDs and adding custom NVMe-based flash modules in the FlashArray//X chassis
  3. Adding support for drive shelves that are connected via NVMe-oF
  4. Officially release NVMe-oF support for front-end workloads.

This has been a multi-step process that we spent a great deal of effort to make sure we were fully taking advantage of what NVMe in general has to offer.

Continue reading NVMe-oF Support is now Released!

PowerCLI and VVols Part VIII: Running a Failover–Planned Migration

In the previous post in this series I explored how to run a VVol-based test failover of a virtual machine. Now I will walk through running an actual failover.

There are two types of failovers; a planned migration (everything is up an running) and a disaster recovery failover (part or all of the original site is down).

For this post, I will start with running a planned migration.

Continue reading PowerCLI and VVols Part VIII: Running a Failover–Planned Migration

PowerCLI and VVols Part VII: Synchronizing a Replication Group

In this post, I will overview how to synchronize a VVol-based replication group with PowerCLI. See previous posts below for more context:

This post is somewhat specific to Pure Storage–the cmdlets of course are universal, but behaviors may not correlate to your storage array. So if you are using VVols on a non-Pure array, certainly consult your vendor.

Furthermore, this is certainly specific to PowerCLI when it comes to the commands. With that being said, the fundamentals on how this works with Pure is common for all orchestration tools, so you should be able to use this information for other tools. Though of course the cmds/syntax will be different.

Continue reading PowerCLI and VVols Part VII: Synchronizing a Replication Group

Pulling Performance Statistics from Pure1 with PowerShell

I have written a few posts recently on using the Pure1 with PowerShell, like below:

I made a PowerShell module you make it easy for you to use, which can be installed via install-module from the PowerShell gallery. Details here:

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

Continue reading Pulling Performance Statistics from Pure1 with 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:

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/scripts-and-tools/pure1-rest-api/pure1-powershell-module/h

Continue reading Using the Pure1 REST API Part I: PowerShell

Introducing the Pure1 REST API

Hello there! The FlashArray and FlashBlade products from Pure have always had a REST API service built in–this REST service allows you to manage, provision, and pull raw statistics from the array.

But there are two pieces missing:

  1. You need to iterate through each array if you want to intelligently place a volume on it (or find a volume or whatever)
  2. They only offer raw statistics–you need to do some crunching possibly to get what you want. Create projections and forecast, find how busy an array is, etc.

Luckily this is what Pure1 does for you. Every customer has access to our Pure1 web tool. This is something we host, all of your dial-home information gets fed into it. We use that information to figure out how “busy” an array is, when it will fill up from a capacity or performance perspective and much more. We now offer a REST API for Pure1 as well, so you can do some one-stop shopping for the information you need, that the arrays cannot natively provide.

Continue reading Introducing the Pure1 REST API

It’s 2019! Year in Review and A Few Twitter Recommendations

Happy New Year!! I don’t plan on this being a long post, but as I type this I think “Well I don’t really even have a plan on what this post will be”. So I take that back–this post will be of an indeterminate length.

2018 was an interesting year–for better or for worse I suppose. Let’s put politics and world affairs aside for now. Not enough time in the day for that.

2018 was great year for me personally, I got married, enjoyed a lot of backpacking, camping, and traveling with my wife. Had more than a few Ballast Point Sculpins. Played the heck out of Zelda Breathe of the Wild.

Continue reading It’s 2019! Year in Review and A Few Twitter Recommendations

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