A great conversation with Vlad about setting up different servers in a development environment. Many of these loads are today run in virtual machines on a single system. The latest hypervisors have reduced the VM overhead to 5% so it makes so much sense to run them virtually particularly if you dedicate a slice of disk to a specific VM. To summarize, here are four different workloads and how you might set them up.
Host system
The is mainly just booting and boot is mainly a read requirement. This is where a consumer oriented drive makes sense (Evo 850 class).
The one thing about running different virtual machines is that you need much more memory to make this efficient. A server motherboard handles 256GB to 512GB
File Server
For things that are read and write traffic. For small servers, the overhead of RAID is necessary when hardware costs are high, but mirroring is very fast. It doesn’t reduce bandwidth. So for instance, if you just want 4TB of storage then just a mirrored system is actually pretty simple to spend the relatively low cost of incremental capacity now ($250). Other piece of advice is that the near-line SAS is a good tradeoff between lower cost SATA and full enterprise SAS for this purpose.
So many times, you don’t need the complexity of RAID rebuild times and a simple mirror does most of the work for you.
Build Server
Building is all about writing when you are building a system. You want an SSD that really does well at writes. The workstation class SSDs (which cost more) is good such as the Samsung Evo Pro
Video Server
This is a server that is mainly for playback so you want good read characteristics