Spectrum Virtualize – Policy based management

It’s been far too long since I posted on here. I do have a good excuse in that almost all of my “spare time” has been consumed by what started as a hobby and kind of spiraled into a boutique synthesiser brand… (for those interested see Ge0sync Synth) … anyway… I can make all the excuses under the sun, at the end of the day we need to make the time for the important things.

Never is this more true than today with our IT and Storage management processes and procedures. With all businesses under extreme pressure as the world pivots out of the pandemic and into potential recessions, supply chain issues, the big resignation and general skills shortages – now more than ever it is critical to make sure your IT teams can easily and consistently provision resources and maintain resilience, especially when it comes to your data and its storage.

To that end, over the last year or so we have been gradually introducing new ways to simplify and automate the management of Spectrum Virtualize based systems. One key strategy has been the addition of functional Policies that can be applied to a logical object (pool, group etc) and define the default attributes picked up by capacity provisioned from that, or in that object.

Policies allow for separation of duties, for example a storage architect can define the policy up front, leaving the storage admin to use the policy when performing day to day tasks.

A policy also allows for simplified integration into business automation systems. When device or product specific options are defined in the policy, the remaining generic task details can be applied without the need for product specific knowledge. For example when provisioning new volumes, if the only attribute required is the capacity, then automation can vendor agnostic – the policy dictates any SLA, data reduction, backup or DR requirements.

Volume Groups

Most of the new Policy based management constructs make use of Volume Groups.

Volume Groups are not new to Spectrum Virtualize, they were first added in 7.8.0 in 2016, however until recently only the Transparent Cloud Tiering (FlashCopy to Cloud based object storage) made use of them.

A functional Policy can be created and applied to a Volume Group. Any volumes added to or contained in the Volume Group will pickup the attributes defined by the functional Policy.

Only one Policy of each type, but more than one type of Policy can be added to a Volume Group.

Policies and Volume Groups become explicit management objects in the GUI.

Policy Types

As of 8.5.2 there are several functional Policies that can be defined and added to a Volume Group :

  • Safeguarded Policy
  • Snapshot Policy
  • Replication Policy

In addition a Provisioning Policy can be created but it makes more sense to apply this to a Storage Pool than to a Volume Group, since it defines how Volumes are created rather than what features are applied to the Volume after its created.

Policy TypeApplied ToAttributes
ProvisioningStorage Pool (Parent/Child)Data Reduction Type* : (None,Thin,Compressed,Deduplicated)
SafeguardedVolume GroupRetention Period, Frequency of Copy
SnapshotVolume GroupRetention Period, Time of Copy, Safeguarded
ReplicationVolume GroupTopology (Type), Locations, RPO Alert

Provisioning Policy

The provisioning policy allows the storage architect to up front apply the type of data reduction that should be used for all volumes created from a given pool. That can be a parent pool or a child pool. With a child pool policy over-riding the parent pool policy (if it both are defined).

The data reduction types possible will depend on the pool type, for example a standard pool does not support provisioning policies that require compression and/or deduplication. In all cases any underlying disk data reduction (such as compression on FCMs) will be in addition to anything specified here. If compression is defined in the provisioning policy, this will enable DRP based compression that is applied to the data BEFORE any FCM compression is attempted.

  • None – Do not use any capacity savings at the volume/pool level. In other words, fully allocate volume capacity from the pool at provisioning time.
  • Thin(Standard Pool Only) Create all volumes using thin provisioned allocation in a standard pool.
  • Thin & Deduplicated(DRP Only) Create all volumes using thin provisioned allocation and deduplicate all data.
  • Compressed(DRP Only) Create all volumes using thin provisioned allocation and compress all data at the DRP level.
  • Compressed & Deduplicated(DRP Only) Create all volumes using thin provisioned allocation and deduplicate then compressed all data.

Clearly any provisioning policy other than “None” implies Thin. The labeling the GUI uses comes from the underlying CLI options, where deduplication can be specified in addition to the capacitysavings option.

-capacitysavings none|thin|compressed -deduplicated


In part 2 of this series, we will look at the new Snapshot (or FlashCopy 2.0) functionality that was introduced in the 8.5.1 code earlier this year and how it also makes use of the Policy based management technology.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: