RAID calculator/simulator

Go to RAID calculator/simulator

This is a RAID calculator/simulator. Given a desired failure percentage and space overhead, it simulates a few disk arrangements and then outputs the one where the failure percentage is lower or equal to the desired one.

So, you don’t have to read up on when it is best practice to use RAID5 vs. RAID6 or how many disks groups to arrange your RAID50 into.

A few notes:

  • The default disk failure percentage per year is 5%. This is the upper end. Depending on disk model, how much they are used and things like temperature and vibration isolation one would probably set it to more like 1% (See e.g. the statistics here)
  • The Unrecoverable Read Error (URE) rate is 1e14 per default. As mentioned in the Wikipedia article this often also is 1e15. You can get this info from the disk data sheets for example here for Seagate IronWolf.

What can still be improved:

  • Currently it assumes that disk failures are independent (“Independent and identically distributed random variables” from probability theory). I.e. one disk failing doesn’t make it more likely that others will fail. This may not be the case if you put more than one disk of the same model or even production batch into the same RAID group, because those models may all have the same flaws which make the disks die about the same time after identical usage (taking your RAID down with it). So, try to avoid putting identical disks into the same RAID group
  • As one can see it only uses one failure probability per year. A more accurate simulation can probably be had if the failure probability is adjusted for age. Disks fail often early on, then fail less, then start to fail more often when they are older.

Infscape UrBackup Appliance uses this RAID calculator/simulator to automatically arrange the RAID configuration according to the storage failure percentage and overhead you specify. This has a few advantages compared to manually setting up a RAID:

  • It is easier because you don’t have to manually arrange the disks. And it also avoids accidental misconfiguration
  • When a disk fails it can simply recalculate the RAID configuration with one disk less and use this configuration to write new data. After waiting a bit for the disk to be replaced it can also automatically reshape the data into this new configuration
  • When a disk becomes full it can calculate a RAID configuration without the full disk and write more data using this new configuration allowing the RAID to fill disks with different sizes while keeping the overall failure guarantees of the storage