What are you going to use this for? I ask because using 4 2TB drives looks like you're planning on using a RAIDZ1 solution, which I think is a
really bad idea with modern drives.
Here is an older article on it, but basically if a drive fails and you're rebuilding/resilvering the array and another failure happens, your data is toast. The drives you're looking at have a one in 100,000,000,000,000 chance of producing an unrecoverable read error for every bit read, but when you multiply that out by the TB of data you've got there's a non-negligible chance that RAID5/RAIDZ1 is gonna kill your data pool on a resilver. So don't do it.
You can go with two parity drives pretty easily by choosing RAIDZ2 instead, but there are still some trade-offs to examine:
- RAIDZ vdevs can not be expanded. The way to add more space is to create another vdev (also RAIDZ?) and add it to the pool.
- RAIDZ performance likely isn't what you think. Here's a blog entry from Oracle (or maybe it's rebranded Sun) that talks about this, but essentially a 6-drive mirrored stripe has random read performance of 6x the single drive performance. A RAIDZ2 set of six drives has the random read performance equal to one drive. That's a big hit for increased capacity.
- I'd default to mirrors. So 6 2TB drives, or 4 3TB drives, or 4 4TB drives in a mirrored configuration. This also means you can reliably expand your storage later by adding 2 new drives to the machine and adding them to the pool, though there are some caveats related to performance if the existing drives are pretty close to capacity.
You also didn't mention memory. I'd probably start with 32G because why not, and I'd choose the densest memory available in order to make it simpler to add memory later.