Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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?

share|improve this question

3 Answers 3

up vote 3 down vote accepted

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.

share|improve this answer
    
is fakeraid different from mdadm? Would Your answer change if I were using BSD+ZFS rather than linux? –  Mascarpone Nov 15 '11 at 22:39
1  
Fakeraid is different, it uses on-board raid controllers on the ATA/SCSI bus to function. Normally its support is poor in linux as native drivers normally do not exist. Having little experience in BSD+ZFS I wouldnt be qualified to answer really but one of the great aspects about filesystem aware raid is it makes more intelligent decisions regarding where the next block is likely to be, plus in the event of drive failure your not left rewriting a whole new disk but rather just the real content you have written to your original disk. –  Matthew Ife Nov 15 '11 at 22:43

2 x 15k's, every time, most 7.2's aren't designed to work all day long.

share|improve this answer
    
but they are so cheap that can be exchanged easily... Google uses SATA, not SAS, for their HUGE databases... –  Mascarpone Nov 15 '11 at 22:20
7  
@Mascarpone - Google also has a custom written massively parallel software stack designed to dynamically leverage large amounts of commodity hardware. They're not making their decisions based on a single box. Your example doesn't hold water in this situation. –  MDMarra Nov 15 '11 at 22:24

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.

share|improve this answer
    
2 SAS or 4 SATA? –  Mascarpone Nov 15 '11 at 22:20
1  
@Mascarpone: I said "with the SAS drives", I've edited it to say "with the 2 SAS drives" –  kbyrd Nov 15 '11 at 22:22
    
I've looked at this solution in the past... do you think it is reliable enough to be used in a production environment? –  Mascarpone Nov 15 '11 at 22:28
    
Would I used Linux md RAID in a production environment? I'll point out that your could also do RAID10,f2 with the 4 SATA drives. That might do well. You really should buy both sets and test them, the return (if you can) the drives you don't end up using. Also, remember my warning about small random writes. the 'f2' part of the setup means your disks are seeking a bunch more for each write. –  kbyrd Nov 15 '11 at 22:31

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.