I need to setup a small dedi for a few VPS. Obviously the more IO, the merrier. Given these condition, what would you choose? 2 SAS 15k disks in Raid1, or 4 SATA 7.2k in raid 10?
Would the answer change if I were using software or hardware raid?
I've answered these questions back to front, because hopefully it makes more sense.
Firstly, dont use fakeraid if your optiong for linux. Its useless. It does not balance reads/writes at all, opting to read from ONE of the disks. Dont do it.
With regards to the hardware/software raid, my experience has been that software (mdadm) RAID is really very good where the number of disks does not exceed six. Theres a few reasons for this.
Hardware RAID really depends on the card you get, but the more expensive cards shine when you have very many disks to use and will offer good monitoring and alerting to issues. They also offer hot swapping which can be very useful, but its usually the more costly of servers which offers this facility only.
IO profiling can be very difficult to predict, especially for VMs, much of the performance clings on what the actual I/O personality will be (random read/write or sequential read/write).
Personally, I would choose the SAS drives, they typically have faster seek times (probably enough to make up for the fact you have four disks in the other configuration) and faster sequential reading. More importantly they are typically designed with higher mean times to failure (although as always its ultimately a gamble how this pays off), but if you are after a workhorse - SAS drives are a safer option.
SATAs on the other hand, on mdadm for example might perform slightly better at random I/O reads due to the way mdadm selects a device to read from (it opts to collect the blocks from the disk which head closest to that sector). By doubling the number of disks you might find it performs a little better on seekier systems.
Most typical workloads will be 70% sequential, 30% random. The operating system actively avoids seeking where it can too by reordering writes to the closest possible sector (this is called NCQ in SATA and TCQ in SCSI) which tries to alleviate this problem too.
Software raid -- well mdadm for what I am referring to -- is at least going to be satisfactory if its just for two disks, and as mentioned with specialized filesystems coming out soon there is even more reason to opt for a software based approach.
So overall, I would opt for the SAS option on software raid, its generally safer, and for most workloads even double the SATA disks is unlikely to offer any better performance.
Assuming cost is not an issue, I would chose linux's md software raid doing raid10,f2 with the 2 SAS drives. This gives you RAID0 streaming read performance and something approaching RAID0 streaming write performance. It falls down in the face of small random writes because each stripe written means a write to the first half and the last half of each disk.
Any hardware RAID10 solution that worked like this (Intel's fake RAID calls it matrix raid), might be fine too, but I'm not aware of any.
If cost is an issue, you're probably better off with the SATA drives plus a few spares. That assumes you're willing and able to replace them quickly. I'm partial to Linux's md software RAID, unless you can't use it for some reason.