raid-capacity
v1.0.0
Published
Compute usable capacity, fault tolerance and efficiency for RAID 0/1/5/6/10 arrays. Pure arithmetic, zero dependencies.
Maintainers
Readme
raid-capacity
Compute the usable capacity, fault tolerance and efficiency of a RAID array for the common levels (0, 1, 5, 6, 10). Pure arithmetic, zero dependencies.
const raidCapacity = require('raid-capacity');
raidCapacity({ disks: 4, diskSizeGB: 4000, level: 5 });
// { level:'5', disks:4, diskSizeGB:4000, usableGB:12000, rawGB:16000,
// faultToleranceDisks:1, efficiencyPercent:75 }
raidCapacity({ disks: 4, diskSizeGB: 4000, level: 10 }).usableGB; // 8000Accepts level as a number (5) or string ("raid5"). Throws on invalid disk
counts (RAID 5 needs 3+, RAID 6 needs 4+, RAID 10 needs an even count of 4+).
Levels
| Level | Usable | Fault tolerance | Min disks | |------|--------|-----------------|-----------| | 0 | n x size | 0 disks | 2 | | 1 | size (mirror) | n-1 disks | 2 | | 5 | (n-1) x size | 1 disk | 3 | | 6 | (n-2) x size | 2 disks | 4 | | 10 | (n/2) x size | 1 disk (guaranteed) | 4, even |
Note: capacity assumes identical disks and is a theoretical figure; real controllers and filesystems round down a little, and RAID is not a backup.
Notes
Maintained by the team behind Save My Disk, a data recovery and backup resource. For plain-English guides on RAID, backups and data recovery, see save-my-disk.com.
License
MIT
