Storage upgrades used to be a big deal—kind of like going in for surgery.
First, there’s the pre-op work, such as assessing the risks and checking on the health of the arrays, switches, hosts, and applications. Many specialist teams had to get involved. For example, the virtualization team had to migrate virtual machines to another array and make extra certain to unmount everything so their hosts wouldn’t wind up in a vegetative state. The database and application teams needed to fail over their delicate applications to secondary instances. Finally, the help desk had to be ready on the front lines.
On the night of the upgrade, you could expect to be out for a few hours and hope you didn’t forget anything. It was a big production. I’d be lying if I said there wasn’t an aspect of luck involved.
Nowadays, with Pure Storage’s non-disruptive upgrades, this once high-risk procedure is more like a routine call with a telehealth professional. You can do it from anywhere at any time, even during the day on a Friday!
Now Offering Self-service Upgrades
Historically, Purity upgrades used to be performed with Pure Storage’s support engineers on the phone, walking you through the entire process. This included prep work, such as performing health assessments prior to the upgrade to make sure the entire process is as smooth as possible on the day of. This isn’t a practice I’ve seen done by a lot of hardware vendors before, except maybe by some converged infrastructure vendors or professional services.
“Pure Storage’s self-service upgrades are a fully automated version of our support-led upgrades. It’s like we took the knowledge of our support engineers and uploaded it to the cloud!”
However, support-assisted upgrades do come with one major dependency: the alignment of your schedule and the schedule of our support engineers. Thankfully, this isn’t a big deal, as you can easily see support’s availability and schedule the upgrade with them right in Pure1®.
However, in many cases, storage upgrades are a part of a much larger project, and if those timelines slip, then you may be looking for a more flexible option. Thankfully, such an option exists within Pure1 with self-service upgrades.
Figure 1: Scheduling support-assisted upgrades within Pure1.
Despite the name self-service, Pure has stuck to our mantra of simplifying data storage for you. Rather than offering a complete do-it-yourself solution where you have to find all the bits and read through documentation, KBs, and release notes, Pure Storage’s self-service upgrades are a fully automated version of our support-led upgrades. It’s like we took the knowledge of our support engineers and uploaded it to the cloud! Whether you’re upgrading a single FlashArray™, Pure Cloud Block Store™, or ActiveCluster™ and ActiveDR™ pairs, self-service upgrades are a great option. You can even upgrade multiple standalone arrays through bulk upgrades.
Figure 2: Initiating a self-service ActiveCluster upgrade from within Pure1.
This means that once you have enabled edge management (login required), the entire upgrade process is done from within the Pure1 UI. And because everything is initiated from Pure1, you can upgrade from anywhere you have an internet connection.
Watch the entire process of an ActiveCluster upgrade demonstrated in this Digital Bytes episode.
Self-service Upgrades Are Simple, Secure, and Stable
Pure Storage has a reputation for offering painless non-disruptive upgrades and we intend to maintain that reputation, no matter what upgrade approach you choose. When we designed self-service upgrades, we focused on several key factors:
- Simplicity: Self-service upgrades need to provide a similar experience to support-led upgrades. That means we don’t add additional complexities by burdening you with manual compatibility and health checks. The entire upgrade process is automated from upgrade recommendations and initial health checks through to the upgrade validation.
- Security: Self-service upgrades need to be secure from tampering or unauthorized users. Not only do we provide secure communication channels between the Pure1 Cloud and your FlashArray (which you can read more about in this KB—login required), but we also provide checks to ensure the binaries are unaltered before performing the upgrade. We even provide two-factor (TOTP) authentication to validate a user’s identity before initiating any upgrades.
- Stability: Self-service upgrades need to be performed safely and with ample risk mitigation. This starts with the health checks to make sure your FlashArray device is healthy and configured in a way that won’t disrupt the upgrade or your workloads. We’ve spent years reviewing support cases to create the pre-flight checks which are run several times throughout the process. Additionally, the upgrade process will require user input before initiating the upgrade and failing over to the secondary controller.
Pure//Launch Fall 2024 Webinar
Meet Real-time Enterprise File on the Pure Storage Platform
The Pure1 Edge Service and What It Can Do for You
If being able to perform FlashArray or Pure Cloud Block Store upgrades on your own time is appealing to you, here’s how to get started.
First, you’ll need to enable the Pure1 Edge Service. The compliance check won’t make any changes to your arrays and we recommend doing this at your earliest convenience to address any issues. You can perform this step in the Edge Service menu located under the administration heading in Pure1.
Figure 3: Requesting access to the Pure1 Edge Service.
Once you have access to the Pure1 Edge Service, you need to install the Purity//FA Upgrade Agent and run just two commands on your array to enable it (login required to access both KB articles). One requirement of the Pure1 Edge Service is you’ll need a FlashArray that’s running at least Purity 6.2.10 or 6.3.1. (6.3.0 isn’t supported.) If you’re upgrading your Pure Cloud Block Store, then you need to be running 6.3.7 or greater. If you don’t have that, you’ll need to schedule an upgrade first.
The Self-service Upgrade Process
Self-service upgrades can be performed from within the Pure1 UI from the Software Lifecycle dashboard. This is where you can also schedule support-assisted upgrades.
Figure 4: Purity version recommendations in the Software Lifecycle dashboard.
Know When It’s Time to Upgrade
Policy-driven upgrades simplify the process of determining what Purity version to upgrade to. Policies can be applied to single arrays or entire fleets depending on your requirements. You can choose to have some arrays under the proactive policy where they will receive the latest enterprise-ready versions while others only upgrade when there are critical patches. Or you can choose a balanced policy that reduces the frequency of upgrades while still receiving the latest enterprise-ready and long-life releases.
Figure 5: Results of the health check in the Software Lifecycle dashboard.
Run a Health Check to Stay Ahead of Disruptions
Health checks are run multiple times throughout the upgrade and will look for common issues that might interrupt the upgrade process or potentially disrupt your workloads. This includes things like hardware health and compatibility, making sure all paths are connected and symmetric to each controller.
The great thing about the health check is that you can run it on demand whenever you’d like. We recommend running a health check early on in your upgrade planning to give you enough time to address any issues that may arise. All checks can be exported and easily shared with others.
Figure 6: Software upgrade process in the Software Lifecycle dashboard.
Performing the Upgrade
When it’s time to perform the upgrade, simply select the array(s) and follow the prompts. The entire process is performed from within the Pure1 UI and is guided, so the sequence of events will be consistent every time. This includes running a pre-check, downloading the upgrade bundle, upgrading each controller in series, and performing additional checks throughout the process.
Figure 7: A look at the two-factor authentication verification you’ll get to validate your identity.
Before any data is downloaded to the array, we need to validate the user’s identity. This is done via the use of an authentication app to generate a time-based one-time password (TOTP). Users can enroll themselves in two-factor authentication through the Pure1 UI. Check out this video to learn how.
Figure 8: Before initiating the upgrade, user confirmation is required.
We also require your input before failing over storage controllers just to keep you in sync with what’s going on (and to make sure you’re ready for the failover). From there, we’ll upgrade the new secondary controller before running a final health check on the array and completing the upgrade.
Support-led Upgrades Will Still Exist!
This new upgrade option doesn’t mean that support-led upgrades are going anywhere. You can still schedule your support-assisted FlashArray and FlashBlade® upgrades directly in Pure1. Self-service FlashArray upgrades are about giving you the choice to perform non-disruptive upgrades on your own time. You and all of the other teams that were previously involved with storage upgrades will have more time to focus on other important tasks.
For the latest detailed information on self-service upgrades with Pure1, check out the Pure1 documentation (login required).
Written By:
Upgrade Your Own FlashArray with Pure1
Learn more about performing your own FlashArray upgrades.