Sizing J4410

I'm extremely excited about this week's quiet release of the J4410 expansion module for 7000 Series storage appliances. On the surface, it seems like they changed the look and feel and upgraded the back end to SAS-2, but it signifies much more. Inside these new modules are new disks that we affectionately call 'Fat SAS' - 1 or 2TB in size, spinning at 7200 RPM but with a SAS interface instead of SATA. This change from SATA to SAS interfaces has a lot of positive impact inside the 7000 series appliances, but the most relevant change to this post is the improved granularity with which one can configure storage pools...

Systems configured using J4410 expansion modules are able to provision storage at the granularity of a single disk where previously the smallest unit of configurable storage was a diskset, a group of 12 disks. As a result of this, and the 2010.Q1 enhancement which allows multiple pools per controller I decided to rework the 7000 Size Calculator. In order to simplify what was rapidly becoming a convoluted input language, we decided to create a new edition that will only handle the new hardware generation. Of course, you can continue to use the 2009.Q3 release to model configurations using the original J4400.

So let's take a look at how we model J4410 based configurations. There are two potential ways to buy J4410 modules: full, and with room for Log devices. The 'with room' configuration (I feel like I'm ordering at Starbucks every time I say that) has four open slots in the top row to be used with Log devices. Within each module, we can choose to allocate some of the disks to one or more pools. The new input language looks something like this:

./sizecalc-sas.py 10.156.83.42 \*\*\* 8/8/8

In the sample above, we are specifying a single expansion module configured with three pools, with 8 disks allocated to each pool. To specify two expansion modules, we add another layout statement:

./sizecalc-sas.py 10.156.83.42 \*\*\* 8/8/8 12/2/10

In this example, we now are allocating a total of 20 drives to pool 1, 10 to pool 2, and 18 to pool three with disks spread across both modules. Another new feature is strict mode, which ensures that the number of disks specified for a given expansion module adds to either 20 (for the 'with room' configuration) or 24. It is enabled simply with the '-s' argument:

./sizecalc-sas.py -s 10.156.83.42 \*\*\* 8/8/8 12/2/10

Let's see the output for the command above

./sizecalc-sas.py -s 10.156.83.42 \*\*\* 8/8/8 12/2/10
  Sun Storage 7000 Size Calculator for SAS disks Version 2010.Q1
  -----------------------------------------
  | |    3   |    3   |    3   |    3   | |
  | |-----------------------------------| |
  | |    3   |    3   |    3   |    3   | |
  | |-----------------------------------| |
  | |    2   |    2   |    2   |    2   | |
 1| |-----------------------------------| |
  | |    2   |    2   |    2   |    2   | |
  | |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  | |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  -----------------------------------------
  -----------------------------------------
  | |    3   |    3   |    3   |    3   | |
  | |-----------------------------------| |
  | |    3   |    3   |    3   |    3   | |
  | |-----------------------------------| |
  | |    2   |    2   |    3   |    3   | |
 2| |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  | |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  | |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  -----------------------------------------
============================================
Pool 1
type          NSPF  width spares  data drives  raw (TB)  usable (TiB)
mirror       False      2      2           18     18.00         16.12
mirror        True      2      4           16     16.00         14.32
mirror3      False      3      2           18     12.00         10.74
mirror3       True      3      2           18     12.00         10.74
raidz1       False      4      4           16     24.00         21.49
raidz2       False      9      2           18     28.00         25.07
raidz3 wide  False     19      1           19     32.00         28.65
stripe       False      0      0           20     40.00         35.81
Pool 2
type          NSPF  width spares  data drives  raw (TB)  usable (TiB)
mirror       False      2      2            8      8.00          7.16
mirror        True      2      6            4      4.00          3.58
mirror3      False      3      1            9      6.00          5.37
mirror3       True      3      4            6      4.00          3.58
raidz1       False      4      2            8     12.00         10.74
raidz2       False      9      1            9     14.00         12.53
raidz3 wide  False      9      1            9     12.00         10.74
stripe       False      0      0           10     20.00         17.91
Pool 3
type          NSPF  width spares  data drives  raw (TB)  usable (TiB)
mirror       False      2      2           16     16.00         14.32
mirror        True      2      2           16     16.00         14.32
mirror3      False      3      3           15     10.00          8.95
mirror3       True      3      3           15     10.00          8.95
raidz1       False      4      2           16     24.00         21.49
raidz2       False      8      2           16     24.00         21.49
raidz3 wide  False     17      1           17     28.00         25.07
stripe       False      0      0           18     36.00         32.23

Oh, did I forget to mention that the new version draws ASCII art to show you which disks are in which pools? Beyond the visual representation however, you can also see three separate size tables, one per pool. Let's look at a configuration that includes a 'with room' module:

./sizecalc-sas.py -s 10.156.83.42 \*\*\* 10/10 12/12
Sun Storage 7000 Size Calculator for SAS disks Version 2010.Q1
  -----------------------------------------
  | |   LZ   |   LZ   |   LZ   |   LZ   | |
  | |-----------------------------------| |
  | |    2   |    2   |    2   |    2   | |
  | |-----------------------------------| |
  | |    2   |    2   |    2   |    2   | |
 1| |-----------------------------------| |
  | |    1   |    1   |    2   |    2   | |
  | |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  | |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  -----------------------------------------
  -----------------------------------------
  | |    2   |    2   |    2   |    2   | |
  | |-----------------------------------| |
  | |    2   |    2   |    2   |    2   | |
  | |-----------------------------------| |
  | |    2   |    2   |    2   |    2   | |
 2| |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  | |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  | |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  -----------------------------------------
============================================
Pool 1
type          NSPF  width spares  data drives  raw (TB)  usable (TiB)
mirror       False      2      2           20     20.00         17.91
mirror        True      2      2           20     20.00         17.91
mirror3      False      3      1           21     14.00         12.53
mirror3       True      3      1           21     14.00         12.53
raidz1       False      4      2           20     30.00         26.86
raidz2       False     10      2           20     32.00         28.65
raidz3 wide  False     21      1           21     36.00         32.23
stripe       False      0      0           22     44.00         39.39
Pool 2
type          NSPF  width spares  data drives  raw (TB)  usable (TiB)
mirror       False      2      2           20     20.00         17.91
mirror        True      2      2           20     20.00         17.91
mirror3      False      3      1           21     14.00         12.53
mirror3       True      3      1           21     14.00         12.53
raidz1       False      4      2           20     30.00         26.86
raidz2       False     10      2           20     32.00         28.65
raidz3 wide  False     21      1           21     36.00         32.23
stripe       False      0      0           22     44.00         39.39 

Here you can see the first row of the first module identifies the Log slots with 'LZ'. You may also have noticed that the default disk size is now 2TB as that is now the flagship size. If you need to model 1TB configurations, you can still use the 'size' keyword from previous releases. The other command which carried forward is the 'add' command, which allows you to model the change in configurations over time. Here's an example that shows both in use:

./sizecalc-sas.py -s 10.156.83.42 \*\*\* size 1T 12/12 add size 2T 12/12
Sun Storage 7000 Size Calculator for SAS disks Version 2010.Q1
  -----------------------------------------
  | |    2   |    2   |    2   |    2   | |
  | |-----------------------------------| |
  | |    2   |    2   |    2   |    2   | |
  | |-----------------------------------| |
  | |    2   |    2   |    2   |    2   | |
 1| |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  | |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  | |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  -----------------------------------------
============================================
  -----------------------------------------
  | |    2   |    2   |    2   |    2   | |
  | |-----------------------------------| |
  | |    2   |    2   |    2   |    2   | |
  | |-----------------------------------| |
  | |    2   |    2   |    2   |    2   | |
 1| |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  | |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  | |-----------------------------------| |
  | |    1   |    1   |    1   |    1   | |
  -----------------------------------------
============================================
Pool 1
type          NSPF  width spares  data drives  raw (TB)  usable (TiB)
mirror       False      2      4           32     15.00         13.43
mirror3      False      3      6           30      9.00          8.06
raidz1       False      4      8           28     18.00         16.12
raidz2       False     11      2           34     27.00         24.17
raidz3 wide  False     11      2           34     24.00         21.49
stripe       False      0      0           36     36.00         32.23
Pool 2
type          NSPF  width spares  data drives  raw (TB)  usable (TiB)
mirror       False      2      4           32     15.00         13.43
mirror3      False      3      6           30      9.00          8.06
raidz1       False      4      8           28     18.00         16.12
raidz2       False     11      2           34     27.00         24.17
raidz3 wide  False     11      2           34     24.00         21.49
stripe       False      0      0           36     36.00         32.23  

In this example, we specify that the first module uses 1TB drives, while the second uses 2TB drives. The double line separates the first configuration visually from the second that we added with the 'add' keyword.

 So after all of that, you should be armed and dangerous... Download the new tool here, and have fun modelling the new system!

Update July 7, 2010 - This is embarassing....

Thanks to Darius Zanganeh, an Oracle Storage Sales Consultant out of the Denver area for finding a couple of minor issues in the 2010.Q1 version. I made some last minute changes that I didn't think needed much testing, but it turns they had a bigger effect than I thought. In the initial 2010.Q1 release the number of data drives was wrong (I feel really silly for not catching that as I wrote the blog entry which clearly has the wrong number of data disks), and that the use of the 'add' keyword with configurations that would generate different stripe widths will cause the calculator to crash. The revised version which I call 2010.Q1a has been uploaded in the same location as the original, and doesn't exhibit these problems.

Update: The size calculator is currently unavailable for download. You can read more here

 EOF

Comments:

Post a Comment:
Comments are closed for this entry.
About

This is the weblog for Ryan Matthews, a sales consultant at Oracle specializing in the ZFS Storage Appliance. It is the home to information on sizing and much more.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today