Skip to content

About

Spectrum Scale Native RAID capacity estimator

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

9 Commits

Folders and files

Repository files navigation

This tool calculates the effective capacity of Storage Scale Native RAID systems. It is an estimation and actual figures could differ from the calculated ones. Be prepared for 1% deviations when using this tool. As a reminder, this tool comes with no warranty of any kind.

NOTE:

  • The -x/--include-loghome-vdisks flag is parsed but not yet fully implemented; using it will print an error and exit.
  • Further tests to compare from real capacity vs calculated to tune the tool

PREREQUISITES: Before running this tool you must fulfill the prerequisites:

  • Python 3 installed in the system
  • User must have understanding of Spectrum Scale Native RAID

Modes

Calculator mode (default)

Supply the exact hardware configuration and get the resulting usable capacity.

Required flags: -n, -p, a drive size (-s or -t), and -e.

Solver mode

Supply a usable capacity target (--target-tb or --target-pb) and get the smallest hardware configuration (fewest nodes, then fewest drives) that meets it. Any of -n, -p, -e, and drive size flags act as hard constraints; omitted flags become degrees of freedom the solver fills.


Parameters

Flag Long form Description
--target-tb Target usable capacity in TB (activates solver mode)
--target-pb Target usable capacity in PB (activates solver mode)
-n --node-count Number of storage nodes (4–32)
-p --pdisk-per-node Number of identically sized pdisks per node
-s --pdisk-size-gib Size of each pdisk in GiB
-t --pdisk-size-tb Size of each pdisk in TB (decimal)
--drive-sizes Comma-separated TB sizes for solver to consider (e.g. "12,16,20")
-e --erasure-code Erasure code: 4+2p, 4+3p, 8+2p, 8+3p, 16+2p, 16+3p
-b --block-size Block size in MiB: 1, 2, 4, 8, 16 (default 4)
-d --disk-type hdd (max 60/node), nvme (max 32/node), ssd (max 32/node) — default hdd
--spare-drives Override the calculated spare drive count
--set-size Vdisk set size percentage, 10–100 (default 100)
-j --json-format Output results in JSON format
-v --verbose Verbose output including solver reasoning

Hardware limits enforced

Limit Value Behaviour
Max nodes per RG 32 Hard error
Max pdisks per RG 512 Hard error
Max pdisks per DA 128 Warning (multiple DAs can share one RG)
Max drives/node (HDD) 60 Warning
Max drives/node (NVMe/SSD) 32 Warning

Examples

Calculator — 12 nodes, 12 × 4 TB drives, 8+2p:

./gnr_capacity_estimator.py -n 12 -p 12 -t 4 -e 8+2p

Solver — find smallest HDD config for 2 PB usable:

./gnr_capacity_estimator.py --target-pb 2 -d hdd

Solver — fix 8+2p and 12 nodes, find minimum drive size/count for 500 TB:

./gnr_capacity_estimator.py --target-tb 500 -e 8+2p -n 12 -d hdd

Solver — NVMe, consider only specific drive sizes:

./gnr_capacity_estimator.py --target-tb 200 -d nvme --drive-sizes "7.68,15.36,30.72"

Solver with JSON output:

./gnr_capacity_estimator.py --target-tb 100 -d hdd -j

Sample output — calculator mode

$ ./gnr_capacity_estimator.py -n 12 -p 12 -t 4 -e 8+2p
IBM Storage Scale Native RAID Estimator version 1.3
This tool comes with no warranty of any kind

Please check https://github.com/cdmaestas/StorageScale_ECE_CAPACITY_ESTIMATOR for updates and other information

Input Parameter Summary:
------------------------
Node count:                                                   12
Pdisks per node:                                              12
Erasure code:                                               8+2p
Pdisk size (TB):                                            4.00
Block size (MiB):                                              4
Disk type:                                                   hdd
Checksum granularity (KiB):                                   32
Include loghome vdisks?                                     True

Spectrum Scale RAID vdisk and file system summary:
----------------------------------
Total number of drives                                       144
Spare capacity in number of drives:                            6
Total raw capacity (GiB):                                 536400
Declustered Array size (GiB):                             508262
Vdisk raw capacity  (GiB):                                 21160
Vdisk user data capacity (GiB):                            16779
Maximum file system size (set-size = 100%), (GiB):        402714
Maximum file system size (set-size = 100%), (TB):         432.41
  [16779 GiB per vdisk,  2 vdisks per node, 12 nodes]

Storage Efficiency:
--------------------
File system to total raw capacity:                        75.08%
File system to DA raw capacity:                           79.23%
8+2p erasure code efficiency:                             80.00%

Please be ready for 1% variations on all the calculations

Sample output — solver mode

$ ./gnr_capacity_estimator.py --target-pb 2 -d hdd
IBM Storage Scale Native RAID Estimator version 1.3
This tool comes with no warranty of any kind

Please check https://github.com/cdmaestas/StorageScale_ECE_CAPACITY_ESTIMATOR for updates and other information

Solver mode: finding smallest configuration for 2000.00 TB usable capacity...

Solver recommendation:
----------------------
Node count:                                                    7
Pdisks per node:                                              19
Erasure code:                                               4+2p
Pdisk size (TB):                                           24.00
Disk type:                                                   hdd
Checksum granularity (KiB):                                   32

Spectrum Scale RAID vdisk and file system summary:
----------------------------------
Total number of drives                                       133
Spare capacity in number of drives:                            3
Total raw capacity (GiB):                                2972782
Declustered Array size (GiB):                            2876488
Vdisk raw capacity  (GiB):                                205440
Vdisk user data capacity (GiB):                           136409
Maximum file system size (set-size = 100%), (GiB):       1909726
Maximum file system size (set-size = 100%), (TB):        2050.55
  [136409 GiB per vdisk,  2 vdisks per node, 7 nodes]

Storage Efficiency:
--------------------
File system to total raw capacity:                        64.24%
File system to DA raw capacity:                           66.39%
4+2p erasure code efficiency:                             66.67%

Please be ready for 1% variations on all the calculations

About

Spectrum Scale Native RAID capacity estimator

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages