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-vdisksflag 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
Supply the exact hardware configuration and get the resulting usable capacity.
Required flags: -n, -p, a drive size (-s or -t), and -e.
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.
| 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 |
| 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 |
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
$ ./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
$ ./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