It sounds like your requirements are wildly unrealistic.
Firstly, 100 TB of data is a lot. Do you really need all of it to be available at the same time? If so, you need to be looking at a lot more than just spreading it out over several servers. There are networking and access considerations and performance constraints to be taken into mind. If you really have a legitimate need for this much online data, you're going to have a lot of simultaneous access to it. Are your servers up to the task of all those IOPS? Ad then there's the issue of backups... to backup 100+ TB of data, you're going to need one hell of a monstrous backup system requiring multiple tape libraries and/or D2D backup systems. The way you've asked this question makes me absolutely confident you haven't considered any of this, and you'll need to.
Setting up this much data is several projects in one (or one very big project, depending on how your company does things.) And please don't take this the wrong way, but you're clearly not up to the task. In truth, very few individuals in the world are up to this kind of task on their own, and none of them would make a comment about liking RAID5 and wanting to know how to spread that out over multiple servers or a filesystem that does the same thing.
More importantly, there's no space efficient, fault-tolerant way to distribute large data sets. At a fundamental level, you sacrifice space efficiency for fault tolerance, because if one of your distributed nodes goes down, the only way to continue to provide access to the data it held is to have another copy or copies of that data in some form. So you can either have fault-tolerant access to your data, or you can have efficient use of your available disk space, not both. To have basic fault tolerant storage of 100+ TB of data, you'll need at least twice as much (200+ TB) disk space, period.
On a somewhat related note/tangent to the above, RAID5 is not magic. It achieves redundancy through calculation of parity bits. This allows space savings at the cost of computation time. As a method of fault tolerance, it is not really a good idea on large data sets either, because you will almost definitely run into a bit-level error at some point, eliminating your fault tolerance, and is very computationally intensive. It can take DAYS to rebuild a single failed disk on a large-ish RADI5 array. How long do you think it will take to do more complex parity calculations on say, 20TB of data from a failed node?