3Par 101 – Part 2 – CPG’s

Re-cap

Previously I started my 3PAR 101 / beginners series with the post Meet Chunklet!, which has been one of the blogs most popular posts.  Now it’s time to move on with the series.

Part 1 of the series dealt with 3PAR’s unique approach to RAID and found that several logical layers were created to enable this. As a quick reminder; Vluns are a virtual volume which has been presented to a host, Virtual Volumes draw their space from CPG’s, CPG’s are a pool of Logical Disks and Logical disks are chunklets arranged as rows of RAID set. If you’re still a bit hazy on all this check out Part 1 of this 3PAR 101 series where we covered all this is in detail.

The 3PAR building blocks that we have direct control over are CPG’s VV’s and Vluns and will be what you mainly work with day to day, this 3PAR 101 series will cover each of these components in turn.

What are CPG’s

Without further ado lets crack on with looking at the first building block we will need to put our 3PAR to work, which is Common Provisioning Groups (CPG’s). A CPG is a pool of logical disks that virtual volumes will draw their space from. For simplicity if you have worked with other storage vendors you can think of a CPG as a RAID pool. However that is just to help to understand the concept, as a CPG also has many characteristics that make it different from a traditional RAID pool.

We know that CPG’s are a pool of space and the smallest building block that makes up that space is a chunklet. CPG’s effectively filter which chunklets are selected and how they are arranged, which in turn means CPG’s define performance and availability levels. There are three levels of availability port, magazine and cage. Port is the lowest level and protects against a backend port failure, magazine protects against the failure of a drive magazine and cage protects against an entire disk shelf failure.

Let’s look at a couple of examples below to help understand how CPG’s settings define performance and availability. CPG1 for example uses chunklets from FC disks, in a set size of 3 and availability of magazine. CPG2 is configured to use NL disks as RAID6 and a set size of 6 and an availability of cage. So CPG 1 will be higher performing but less available than CPG2.

CPG1 – FC, RAID 5, Set Size =3, availability= magazine

CPG2 – NL, RAID 6, Set Size =6, availability=cage

Upfront a CPG will consume no space it is only as virtual volumes demand space from it that it will autogrow. This is a big bonus as it eliminates the need to pre-allocate and pre-plan the size of the different CPG’s you need to create. Although with multiple CPG’s able to consume space from the same set of physical disks this does require that your capacity management needs to be more vigilant. Performance increases the more disks you stripe across, and so you will generally want to stripe all your data across all the available disks of that type in the system. Lastly you need to be aware that CPG’s will form the levels that the tiering software (AO) will work with, but more on that another time.

Summary

  • CPGs are a pool of storage that define performance and availability characteristics
  • Multiple CPG’s can exist on the same set of physical disks
  • CPG’s grow on demand and so no space needs to be pre-allocated
  • CPG’s should be striped across as many disks of the same type as possible to maximise performance
  • The availability options for a CPG are HA cage, magazine and port. The CPG will default to the highest level of availability.

Creating  a CPG –  SSMC

Enough theory let’s get on and create a CPG, first in the 3PAR SSMC GUI:

1 Open SSMC by opening a web browser and entering your SSMC web address in the following format:

https://SSMCserver:8443/#/login

Next logon with your credentials:

2 From the main menu choose Common Provisioning Groups from the Block Persona submenu.  If this is not visible chose show more on the right hand side of the main menu

3 Click the green Create CPG button on the top left of the screen

4 What appears next is the simple CPG creation screen.  The only information you have to supply is the name of the CPG, the rest will be set to default values.  Lets go through each setting incase you want to change any of them

  • Name – Try and call the CPG something logical for example CPG_FC_R6, so you can quickly see the disk and RAID type
  • System – If you are connected to multiple systems.  Chose the system you wish to perform the action on
  • Device Type – Chose the physical disk type you wish to use for your CPG, this will default to FC disks.
  • Availability – Sets the the availability level for the CPG.  This will default to the highest level of availability available for your system, so I would suggest leaving this setting as is. In this case it is set to Cage availability, so we can loose an entire disk shelf and not loose data

When you are happy with your settings chose create

5 If you want to create a simple CPG you are done.  But lets quickly look at what additional options ticking advanced options on the create CPG screen gives us:

  • Set size – The size of the RAID set.  In this example the set size is 6+2 meaning 2 parity drives to every 6 data drives.
  • Growth increment – The increment with which CPGs grow. Do not change this
  • Growth limit – Don’t set this.  Any limits set will act as a hard stop
  • Growth warning – An alert will be sent out when this level is reached

Creating a CPG  –  CLI

Creating a CPG in the CLI is arguably simpler since it’s all done in a one line command

To create a CPG with all default options; that is to use all FC drives, in RAID 1, with an availability of cage

createcpg cpgname

You will probably want to have more control over your CPG creation. For example the following creates a CPG that is RAID 6, cage level availability, set size 6, on NL disks with the name NL_Raid6

createcpg -t r6 -ha cage -ssz 6 -p -devtype NL NL_Raid6

Lets break down the CLI options a little

  • createcpg – core command
  • -t specify RAID level eg RAID 6FC_R6
  • -ha specify availability level eg cage
  • -ssz set size eg a set size of 4 for a RAID 5 set would be 3 data and 1 parity
  • -p –devtype specify the disk type eg NL for Near Line

If your down with the kids and use the modern management tools that’s it you can move onto Part 3 of this 3PAR 101 series which covers Virtual Volumes and Vluns. If you missed it, catch Part 1 when we talked about Chunklets and the fundamentals of 3PAR. If you still use the 3PAR Management Console read on:

Creating a CPG – 3PAR Management Console

1 In the management pane select Provisioning and then from the common actions pane select Create CPG

CPG1

2 Next you will see a welcome screen which has alot of useful info on creating CPG’s, if you do not want to see this again click the skip this step tick box and click next

3 The basic information you will need to complete when creating a CPG is the name of it, the device type, RAID type and set size. Try and call it something logical, in this example I have called it a name that quickly tells me the disk and RAID type. Unless you have reason to change it leave the set size at default, increasing the set size will increase useable space but decrease performance

4 If you tick the advanced options box you will see some more options. I have highlighted in red the common values you are likely to want to change. Be cautious of changing advanced variables such as specifying fast / slow chunklets as you do not normally need to change these options. You will see the availability option, this will default to the safest option i.e. cage if it is available

CPG4

5 The next window will only appear if you have ticked the advanced option and allows you to filter on the disks to include. We want to stripe across as many disks as possible so just click next here

CPG5

6 The last window just confirms the setting you have chosen. Once happy here just click finish

Next time we will be creating a virtual volume and exporting it as a Vlun. If you missed it, catch fundamentals of 3PAR of this 3PAR beginners guide series and also Virtual Volumes and Vluns).

To stay in touch with more 3PAR news and tips connect with me on LinkedIn and Twitter.

Further reading

3PAR Concepts Guide

3PAR Best Practices

 

 

 

 

3Par Gets Flashier

For a while standard 3Par owner’s could be forgiven for looking on with envy to those lucky enough to own the all flash 7450 model, with its all flash massive IOPs crunching potential and new features such as dedupe. Well feel jealous no more 3Par fans, last week HP shared out the flashy goodness to the hybrid arrays by announcing a bunch of features that will well and truly pimp out your 3Par, to an extent which would even impress Xzibit. Check out this orange Roller below, I bet Rolls Royce didn’t see that coming when it rolled off the production line.

 

xzibit

3 Par OS 3.2.1

The announcements from HP centred around using flash to deliver an extra whack of performance for your 3Par. The key new features were in summary Adaptive Flash Cache, Dedupe and Express Writes. All these new features are enabled by upgrading to 3Par OS 3.2.1, and the even better news is that all these new features are freebies i.e. they are included as part of the standard 3Par OS. Let’s break each one of these elements down and see how it is going to deliver additional performance.

Adaptive Flash Cache

Adaptive flash cache is about utilising SSD’s to expand the size of the cache. A bigger cache allows more data to be stored in cache and hence a greater likelihood of being able to retrive data from cache. This is great news for anyone’s environment that has high random reads, judging by the fact my most popular post of all time is still Adaptive Flash Cache Deep Dive lots of other people agree. Do check out the deep dive it’s got lots of good info in it. Also check out this Adaptive Flash Cache video Calvin Zito has put together where he shows a practical demo of the kind of performance improvement that is possible.

Express Writes

Next up Express Writes, again like Adaptive Flash Cache this new feature is aimed at improving latency but for writes by optimising the FC protocol. Express writes aims to deliver lower latency by delivering lower CPU interrupts per IO, Performance improvements can be up to 10%.

Dedupe

Dedupe was announced earlier this year for the 7450, and last week’s announcements was that it will now be available to all 3Par systems with the Gen 4 asic i.e. the 7000 and 10,000. The way the dedupe works is exactly the same as on the 7450, inline and by the assigning a hash to each unique incoming write and then comparing the signature of further incoming writes to ensure they are unique. The dedupe process is demonstrated in the diagram below taken from the HP whitepaper HP 3PAR StoreServ Storage: optimized for flash. The limitations to using dedupe are that it is only available on the SSD tier and the technology cannot be combined with AO.

Final Thoughts

This new set of features has to be one of the most compelling reasons to upgrade in some time. I’ll be upgrading ASAP and really making those SSD’s work for their living!

You can see a summary of the announcements in this ChalkTalk.

 

3Par Simulator

The 3PAR Simulator is a VMware based group of VM’s that provides a virtualised 3Par system, the features normally provided by the hardware components, including the ASIC, HBA and enclosure are emulated in software. You interact with it in exactly the same way you would a physical 3Par i.e. via the HP 3PAR Management Console or remote CLI. Most of the major features including AO, DO, snapshots, exporting virtual volumes and even remote replication (if you have 2 instances of the simulator) are supported.

 Requirements

The simulator consists of 3 VM’s, 2 of the VM’s represent the nodes in the cluster whilst the third simulates the enclosures.

The minimum system resources required for each VM are:

  • One virtual CPU (single core)
  • Three virtual NICs
  • 2GB RAM
  • 50GB disk space (full or thin-provisioned)
  • Plus VMware ESXi 5.x or VMware Workstation 9 or 10

 

Installation

Setup is fairly straight forward as the VM’s come in the OVF format and just need importing into VMware ESXi or WorkStation. I have covered the high level steps to install the simulator to give you a feel for the process below, for detailed step by step instructions refer to the release notes that come with the simulator.

  • Cluster Nodes Installation – First you deploy two VM’s from an OVF, these VM’s will act as the controller nodes of the virtualised 3Par system
  • Enclosure Node Installation – Next deploy another VM again from OVF that simulates the enclosures. You can have up to 48HDDs across 4 cages
  • Network Configuration – Each of the simulator VM’s has 3 NICs. The first NIC will be the IP you use to manage the device when using the management console or CLI. The second you will not need unless you are using RCIP. The third will be connected to a local private network allowing the 3 VM’s to talk to each other

 

Configuration

Once you have the VM’s installed the next high level steps are:

  • Power on all the VM’s
  • Create cages and disks – Connect to the Enclosure VM and choose how many shelves to create and start esd daemon. The default choices are:
    • 1 cage, 24 HDDs 1 DCN1 cage with 24 FC drives
    • 4 cages, 48 HDDs 1 DCN1 cage with 6 FC drives and 6 SSD drives 2 DCS2 cages with 6 FC drives and 6 SSD drives each
    • 1 DCS1 cage with 6 NL drives and 6 SSD drives
    • 4 cages, 24 HDDs 1 DCN1 cage with 6 FC drives 3 DCS2 cages with 6 FC drives each
    • 4 cages, 48 HDDs 1 DCN1 cage with 6 FC drives and 6 SSD drives 3 DCS2 cages with 6 FC drives and 6 SSD drives each
  • Assign Serial Number – Connect via console to both controller VM’s assign serial numbers and then reboot
  • OOTB procedure – Configured by logging into the first controller node and providing the following details; a system name, IP address information, NTP Server (optional), DNS Server (optional
  • Install Management Software – If you don’t already have them installed install the CLI and Management Console to allow you to connect and manage the virtualised 3Par
  • Get the look – Finally spray laptop black and yellow 😉

To stay in touch with more 3PAR news and tips connect with me on LinkedIn and Twitter.

 

For a more up to date article and to find the link for downloading the simulator go here.