This question comes up frequently and the answer is somewhat complex. It depends on the number of drives in the storage system and the characteristics of those drives.
Remember, if you are clustering your storage system, each head in the cluster will need its own spares. Additionally, if you are using syncmirror, you will need spares for each storage pool.
Additionally, if your storage system has both fibre channel and SATA drives you need different spares for each technology. Fibre channel drives cannot act as spares for SATA drives and SATA drives cannot act as spares for fibre channel drives.
Ideally, if you have disks of different speeds or different sizes, you should have spares for each size and speed. It is possible to mix drive speeds. For example, if you have a mixture of 10k and 15k fibre channel drives in a storage system you should allocate the different speed drives to different aggregates. If a 10k drive fails, then a 15k spare could act as a spare. You will not be able to use the additional performance of the 15k drive, but the raid group of 10k drives will perform as before. You are just not getting the performance you paid for when you bought the 15k drive. The reverse if not true. If a 15k drive fails and the only spare available is a 10k drive, then the effective speed of the raid group of 15k drives will be reduced by the 10k drive. This is better than no spare at all, but now you have reduced performance.
It is also possible to use a large drive to act as spare for a smaller drive. Again, this is a supported but not recommended. The capacity of the large drive will be reduced to the same size as the drive it is replacing. Of course, a small drive cannot act as a spare for a larger drive
After this is becomes just a question of numbers.
You should have two spares drives in each category, up to 100 drives. Then, NetApp recommends that you add one additional spare for each additional 84 drives. Here is a table from TR-3437:
|Number of Shelves||Number of Disks||Recommended Spares|