Skip to content
This repository has been archived by the owner on Jul 22, 2024. It is now read-only.

IBM/SpectrumScale_ECE_CAPACITY_ESTIMATOR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

This tool calculates the effective capacity of Spectrum 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 not warranty of any kind.

TODO:

  • Fix include-loghome-vdisks False run
  • Further tests to compare from real capacity vs calculated to tune the tool

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

  • python installed in the system (version 2 or 3)
  • User must have understanding of Spectrum Scale Native RAID

The tool requires four parameters to be passed on when invoking them:

  • -n or --node-count -> Number of storage nodes. For ESS this will be 2. For ECE it should be between 4 and 32.
  • -p or --pdisk-per-node -> Number of identically sized pdisks per storage node.
  • -e or --erasure-code -> Erasure code for vdisks, from ['4+2p', '8+3p', '8+2p','4+3p']
  • Capacity of each pdisk either on GiB (-s or --pdisk-size-gib) or TB (-t or --pdisk-size-tb)

The help includes the description of the optional parameters

$ ./gnr_capacity_estimator.py -h

IBM Spectrum Scale Native RAID Estimator version 1.2
This tool comes with no warranty of any kind

Please check https://github.com/IBM/SpectrumScale_GNR_CAPACITY_ESTIMATOR for updates and other information

usage: gnr_capacity_estimator.py [-h] -n NODE_COUNT -p PDISK_PER_NODE
                                 [-s PDISK_SIZE_GIB] [-t PDISK_SIZE_TB] -e
                                 ERASURE_CODE [-b BLOCK_SIZE] [-d DISK_TYPE]
                                 [-x] [-j] [--spare-drives SPARE_DRIVES]
                                 [--set-size SET_SIZE] [-v]

Spectrum Scale RAID Capacity Estimator

optional arguments:
  -h, --help            show this help message and exit
  -n NODE_COUNT, --node-count NODE_COUNT
                        Number of storage nodes. For ESS this will always be
                        2. For ECE it should be between 4 and 32.
  -p PDISK_PER_NODE, --pdisk-per-node PDISK_PER_NODE
                        Number of identically sized pdisks per storage node.
  -s PDISK_SIZE_GIB, --pdisk-size-gib PDISK_SIZE_GIB
                        (Optional) Size of each pdisk in GiB (2^^30 bytes).
  -t PDISK_SIZE_TB, --pdisk-size-tb PDISK_SIZE_TB
                        Size of each pdisk in TB (decimal).
  -e ERASURE_CODE, --erasure-code ERASURE_CODE
                        Erasure code for vdisks, from dict_keys(['4+2p',
                        '4+3p', '8+2p', '8+3p']).
  -b BLOCK_SIZE, --block-size BLOCK_SIZE
                        Blocksize, in MiB, from [1, 2, 4, 8, 16], (default 4).
  -d DISK_TYPE, --disk-type DISK_TYPE
                        Disk type, from ['hdd', 'ssd'], both NVMe and SAS SSD
                        are considered 'ssd' drives (default 'hdd').
  -x, --include-loghome-vdisks
                        Include loghome vdisks in sizing estimate, (default
                        True).
  -j, --json-format     Output results in json format.
  --spare-drives SPARE_DRIVES
                        (Optional) If specified use this value as the number
                        of drives of spare capacity rather than calculating
                        based on the number of nodes in the recovery group.
  --set-size SET_SIZE   (Optional) Specifies the set size of a vdisk set
                        definition. It defaults to 100 per cent. The value
                        passed must be between 10 and 100
  -v, --verbose         Verbose output.

As example to run an estimation of an ECE system of 12 nodes that have 12 4 TB drives each and we plan to use 8+2p as erasure code:

# ./gnr_capacity_estimator.py --node-count 12 --pdisk-per-node 12 --pdisk-size-tb 4 --erasure-code 8+2p

The output for the above run is

IBM Spectrum Scale Native RAID Estimator version 1.0
This tool comes with no warranty of any kind

Please check https://github.com/IBM/SpectrumScale_GNR_CAPACITY_ESTIMATOR for updates or 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):                             511334
Vdisk raw capacity  (GiB):                                 21300
Vdisk user data capacity (GiB):                            16890
Maximum file system size (set-size = 100%), (GiB):        405381
Maximum file system size (set-size = 100%), (TB):         435.27
  [16890 GiB per vdisk,  2 vdisks per node, 12 nodes]

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

Please be ready for 1% variations on all the calculations

About

Spectrum Scale Native RAID capacity estimator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages