RAID - buy spare disks at same time as originals?

When using RAID1, is it best practice to buy spare disks at the same time as the original disks to ensure you have the identical type in case they become unavailable in future?


You won't need an identical type.

The only "hard" requirement with RAID controllers is that the replacement disk is the same bus type (do not replace SAS disks with SATA or vice-versa) and at least the size of the original disk. Software RAID solutions would not even enforce the same bus type.

It makes sense to have similar performance characteristics (rotational speed, peak transfer rate, access times) on all members of an array so you would not give away performance, but if you replace a slower disk with a faster one, this is of no concern.


There's no real best practice about this. It depends on a few things.

  1. How critical is the system? If its very important and not clustered in any way, you may want a hot spare, which would be purchased with the server.

  2. What is your support contract like? Do you have 24x7x365 4 hour response time? Is 4 hours an acceptable window to run degraded in? If so, you may not need an extra disk.

  3. Is the server clustered or do you have any sort of system-level redundancy? If so, a node being offline is less important. In this case you may not need another disk at the time of purchase.

  4. Do you have a lot of systems that use the same model of disk? If so, maybe you should keep 1-2 cold spare on hand in case you don't feel like waiting for that 4 hour support window to roll around.


It's not necessary to always use the exact same make/model of disk as long as you get them directly from your vendor of choice. If you buy Dell or HP, always get your replacement disks from Dell or HP. This will ensure compatibility. Dell routinely shipped me 300GB disks to replace dead 146GB disks when they ran out of 146s in their warehouses. There's no problem using a different size as long as the other characteristics are the same. The important thing is keeping your server in a supported state.