I’m going for the best performance + reasonable safety. Server will be used for self-hosting many important VMs like web server, file storage, VPN, etc. Speeds inside VM matter here, I cannot customize hardware like add/remove drives so that is out of the question. So whats the best way to go about this? I have spent a few hours researching and there is so much conflicting information… I’m leaning towards a mirror setup.
I’m not sure if I understand your question but I’d mirror the 240s for boot and then either raid6 or raid10 your 12TBs, Raid10 is fatster but raid6 will give more space along with a small speed decrease.
Edit: If you’re using spinning rust for VMs then go raid10.
Wait, raid6 and raid10 will give the same space, in a 4 drive config…
But raid10 would be a little less overhead, whereas raid6 would be able to loose any 2 of the drives?
Unless you meant raid5 , to give 3dives of data, and 1 parity, but one dead drive, and the system would probably crash during resilver with 12 TB drives?
I’d suggest a slightly different setup, given your use case and brief.
2x 40GB SSD boot&system disk (RAID1)
2x 200GB SSD cache (RAID1)
4x 12TB HDD in RAID6 for VMs
The RAID1 SSD cache comes on top of the spinning disk RAID6 with bcache (for Linux/BSD) or similar.
As said, RAID10 may give you a very marginal speed advantage over RAID6, but at the expense of loosing data if the wrong 2nd drive fails in an already degraded array. In RAID6, any 2 drives can fail w/o data loss.