SATA Raid 10 vs SAS Raid 1


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?

Best Answer

I've answered these questions back to front, because hopefully it makes more sense.

Would the answer change if I were using software or hardware raid?

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.

  • Its monitoring is very good.
  • You can set it up to email you of faults.
  • btrfs looks a promising future prospect for intelligent filesystem aware RAID.
  • I have had hardware raid cards not predictably fail disks leading to high or unpreditable I/O.
  • Server hardware with regards to CPU greatly outweighs all other resources. Where your disks are less than four, its unlikely you'll be feeling any higher I/O overhead.

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.

what would you choose? 2 SAS 15k disks in Raid1, or 4 SATA 7.2k in raid 10?

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.