EMC VNX – FAST VP explained

FAST VP stands for Fully Automated Storage Tiering for Virtual Pools. It’s a very smart solution for dynamically matching storage requirements with changes in the frequency of data access. FAST VP segregates disk drives into three categories (already explained in EMC VNX – RAID groups vs Storage Pools) called tiers:

  • Extreme Performance Tier – Flash drives
  • Performance Tier – 15k and 10k SAS drives
  • Capacity Tier – Near-line SAS drives (that can be up to 4TB in size)

The main feature of FAST VP is reduce Total Cost of Ownership, by maintaining high performance, using mix of expensive and cheaper disks.  The main idea is based on the fact, that only part (usually not more than 5%) of the data is accessed frequently. Based on that sentence we can put those “more-active data” located on Heterogenous pools on higher Tier to lower the read response time. Look at the picture below showing before/after.

FAST VP before/after effect

FAST VP before/after effect

Tiering policies

FAST VP is automated feature which implements a set of user-defined tiering policies to ensure the best performance for various environments. FAST VP uses an algorithm to make data relocation decisions based on the activity level of each slice. It ranks the order of data relocation across all LUNs within each separate pool. Available LUN level policies are:

  • Highest Available Tier – this policy is used when quick response times are a priority. The Highest Available Tier policy starts with the hottest (fastest) slices first and places them in the highest available tier until the tier’s capacity or performance capability limit is hit.
  • Auto-Tier – a small portion of a large st of data may be responsible for most of the I/O activity in a system. This policy allows for moving a small percentage of the ‘hot’ data to higher tiers while maintaining the rest of the data in the lower tiers. The Auto-Tier automatically relocates data to the most appropriate tier based on the activity level of each data slice. LUNs set with Highest available Tier take precedence in case of limited capacity of high tier.
  • Start High then Auto-Tier – This policy is default for each newly created pool LUN (on heterogenous pools obviously). It takes advantage of the Highest Available Tier and Auto-Tier policies. Start High then Auto-Tier sets the preferred tier for initial data allocation to the highest performing disk drives wich available space. After some time it relocates the LUN’s data based on the performance statistics and the auto-tiering algorithm.
  • Lowest Available Tier – this policy is used when cost effectiveness is the highest priority. Data is initially places on the lowest available tier with capacity. It’s perfect for LUNs that are not performance or response-time sensitive. All slices of these LUNs will remain on the lowest storage tier available in the pool, regardless of their activity level.
  • No Data Movement – this policy can be chosen only after a LUN is created. Data remains in its current position, so the performance and response-time is predictable.  The data can still be relocated within the tier, and the system still collects statistics on these slices, so if you change the policy (for example to Auto-Tier) the Storage Array has all necessary information to move portion of data to appropriate tiers.

 Data Relocation

Data relocation is a process that moves the data between the available tiers within the storage pool, accordingly to the chosen tiering policy and collected statistics of LUN’s slices. You can set the Relocation Schedule or manually start the process. The Data Relocation Status can have three values:

  • Ready – no active data relocations
  • Relocating – data relocations are in progress
  • Paused – all data relocations for system are paused.
Manage Auto-Tiering window

Manage Auto-Tiering window

As I mentioned before FAST VP feature allows for automatic data relocation based on a user-defined relocation schedule. The schedule defines when and how frequently the array starts data relocation on the participating storage pools. The Data Relocation Schedule section enables you to define the operational rate for the data relocation operation. Values are low, medium, high. Low has the least impact on system performance, high has the most impact. The default value is medium.

Using FAST VP for file

To create filesystems  you have to begin by provisioning LUNs from a block storage pool with mixed tiers. Provisioned LUNs are added to the ~filestorage Storage group. After performing a rescan of the storage system a diskmark operation is started that presents the newly created storage to a new file storage pool. If the Block pool LUNS used for creating File Storage Pool were created with FAST VP enabled, the File Systems will use this technology as well. Take a look at the picture below:

FAST VP for file workflow

FAST VP for file workflow





EMC VNX – Create and modify a storage pool

Once you learn the choice of creating RAID groups, and provisioning storage through LUNs created on RAID vs Storage Pool concept I’m sure you would like to learn how to create a Storage Pool. If you  don’t know what that is, try to read my previous post EMC VNX – RAID groups vs Storage Pools. What you should know? Basically what is a Storage Pool, what is the difference between Homogeneous pool and Heterogeneous pool.

 Create a pool

Creating a pool is quite simple, all you need is to provide a pool name, choose the disks and choose the protection level.

How to create Storage Pool

How to create Storage Pool

Presented figure shows an example of creating a heterogeneous storage pool with name Pool 1, and 3 disk types, with RAID5 for Flash and SAS disks, and RAID6 for NL-SAS disks.

The Scheduled Auto-Tiering box is visible only when the FAST enabler is installed and the Pool radio button is selected. Once you select that option, you will include this storage pool in the auto-tiering schedule. I bet you wonder what is in Advanced box, don’t you?

Create Storage Pool - Advanced Tab

Create Storage Pool – Advanced Tab

The Advanced tab can be selected to configure Thresholds and FAST Cache (of course if the FAST Cache enabler is present when the pool is created). Snapshot section will be available if the Snapshot enabler is loaded. As present in the printscreen, you can schedule automatically deletion of snapshots if the monitored space is above chosen threshold.
A VNX can contain one or many pools. Pools can be as large as the maximum number of drives (expect vault drives and hot spares obviously), lathough there are limits of maximum allowed drive increment. For example with VNX5300 you can create a pool with maximum of 40 drives at a time, but later you can expand this pool with another 40 drives to reach 80 disks in total.

Expanding  Pools

You can easily expand RAID Group, and Pools. To do so, you need to have extra hard drives available. Right-click on the pool, and select Expand.

Expanding Pools

Expanding Pools

The operation is simple. From the Expand Storage Pool window, select the number of disks by using the dropdown arrow. Remember the limit of creating big Pools? Depends on the VNX model you can use limited number of disks at once, for example maximum number of disks with VNX5500 is 80, so if you would like to create a pool from 120 disks you need to first create a pool using 80 disks, and then expand this pool with additional 40 disks.

Shrinking Pools

As with RAID groups, the same is with Pools, you cannot shrink the pool. To release some space you would have to completly destroy the pool.

EMC VNX – RAID groups vs Storage Pools

With EMC training I have learnt some general guidelines, that should be followed to optimize and enable good performance on a VNX Unified storage system.

Drive types

When you chose a specific drive type, you should base your choice upon the expected workload.

  • FLASH – Extreme Performance Tier – great for extreme performance.
  • SAS – Performance Tier – perfect for general performance. Usually 10k RPM or 15k RPM.
  • NL-SAS – Capacity Tier – most cost effective, for streaming, agining data and archives and backups

RAID groups

When we want to provision storage on our hard drives, first we have to create either a RAID group, or a Storage Pool. Let’s first review RAID groups.

RAID Levels

Within EMC VNX RAID groups should have a maximum count of 16 drives (which is strange, since this rule does not apply to NetApp at all!).
Choosing the correct drive type is only one step, you also have to choose a correct RAID group.

  • RAID 1/0 – this RAID group is appropriate for heavy transactional workloads with a high rate of random writes (let’s say greater than 25-30%)
  • RAID 5 – I would say this one is most common one. Works best for medium to high performance, general-purpose and sequential workloads. And it’s much more space effective, since blocks are not mirrored, and parity takes only one extra disk (distributed on all disks thru the RAID group)
  • RAID 6 – Most often used for NL-SAS. Works best with read-based workloads such as archiving and backup to disk. It provides additional RAID protection (two disk may fail in one RAID group, instead of 1 with RAID5).

As I mentioned before, RAID groups can have a maximum count of 16 drives (not with NetApp). For parity RAID, the higher the count, the higher the capacity utilization (since there is only one parity disk in RAID5, and 2 parity disks in RAID6 regardless the RAID group size).

Preffered RAID configuration

With a predominance of large-block sequential operations the following rules are most effective:

  • RAID5 has a preference of 4+1 or 8+1
  • RAID6 has a preference of 8+2 or 14+2
  • RAID1/0 has a preference of 4+4

One more tip – when creating RAID groups, select drives from the same bus if possible to boost performance (always prefer horizontal over vertical selection).

Storage Pools

A storage pool is somehow analogous to a RAID group. In few words it’s a physical collection of disks on which logical units (LUNs) are created. Pools are dedicated for use by pool (thin or thick) LUNs. Where RAID group can only contain up to 16 disks, pool can contain hundreds of disks. Because of that, pool-based provisioning spreads workloads over many resources requiring minimal planning and management effort.

Of course pool has the same level of protection against disk failure as RAID groups, simply because RAID groups are used to build up pool. In fact, during pool creation, you have to choose which RAID configuration you preffer.

Pools can be homogeneous or heterogeneous. Homogeneous pools have a single drive type (e.g. SAS or NL-SAS) whereas heterogenous pools contain different drive types. Why EMC allow us to mix different drive types in one pool? Actually it’s pretty clever, le me go a little deeper into that:

Homogeneous pools

Pools with single drive type are recommended for application with similar and expected performance requirements. Only one drive (Flash, SAS, NL-SAS) is available for selection during pool creation.

Homogeneous Storage Pools

Homogeneous Storage Pools

Picture above shows three Storage pools, one created from Flash Drives (extreme performance tier), another created form SAS drives (performance tier) and the third one created from NL-SAS drives (capacity tier)

Heterogeneous pools

As mentioned previously, heterogeneous pools can consist different types of drives. VNX supports Flash, SAS, and NL-SAS drives in one pool. Heterogeneous pools provide the infrastructure for FAST VP (Fully Automated Storage Tiering for Virtual Pools).

Heterogeneous Storage Pools

Heterogeneous Storage Pools

FAST VP facilitates automatic data movement to appropriate drive tiers depending on the I/O activity for that data. The most frequently accessed data is moved to the highest tier (Flash drives) in the pool for faster access. Medium activity data is moved to SAS drives, and low activity data is moved to the lowest tier (NL-SAS drives).