I understand that RAID-5 has a limitation of 32 disks, but what puzzles me is with 3.1 terabytes of information stored on 31 100 GB drives. What happens if the parity information exceeds 100 GB?
The RAID algorithm doesn't allow for such a possibility. Each of the disks in your RAID is formatted into a fixed number of blocks of equal size. The data is then striped across these blocks, with the final block being used for a checksum. This means that any collection N-1 blocks can be used to reproduce all of the original data.
The system doesn't care what this data is -- user data or file system meta data. Any collection of N-1 blocks can be used to derive all the information. If the block onto which the data was written is still live, the data is simply read from there. If the disk that holds the block you need is down, then that block is calculated using the parity bits.
In a 32-drive array, each stripe would have 31 data blocks and 1 checksum block. The secret of success is that each drive uniquely holds one and only one block.
This was first published in March 2003