Software RAID and CPU Core count

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

byazici

New Member
Jul 9, 2015
2
1
3
44
Hello,

I am not exactly sure if this question is under the right heading but, here it goes.

I am in the process of converting from a hardware RAID to a software RAID system (woot!) for my home NAS using openmediavault. In planning the system I was thinking of going for the G3240 model pentium as it has frequency scaling and a rather nice price but, I realized that I had never done software RAID and had always used adaptec cards in the past and was not knowledgeable enough to make the right choice here, so got a few questions.

Short info before the questions:

- NAS is used for backup and as a file-server
- Has 4 x 3TB WD REDs (I love RAID 10, would like to keep it that way)
- Has mSATA 24GB sandisk ssd (Debian and openmediavault)
- Has 8GB DDR3 SODIMMs non-ECC
- ext4 file system
- Supermicro X10SLV-Q mobo in hand (mobo can change, depending on answers to my questions)

Questions:

- Does the number of cores and/or hyper-threading have an effect on software RAID and is it worth going for quad or octa cores?
- Does the mobo chipset have an effect on software RAID performance (for ex. q87 vs C224)?
- Which software RAID should I choose for my NAS (transparent RAID, etc.)?
- Is it better to use adaptec 3405 JBOD (have in hand), a seperate HBA or attach drives directly to mobo for software RAID, does it matter?

Thanks people.
 
  • Like
Reactions: T_Minus

rubylaser

Active Member
Jan 4, 2013
846
236
43
Michigan, USA
With OMV you have a few options, you can either go with mdadm, ZFS, or SnapRAID + mhddfs/AuFS.
  1. For any of these options, having massive CPU power really isn't a requirement and the G3240 should work fine.
  2. No, the motherboard with not effect the software RAID performance as long as they are all SATAIII ports (they are) and there is no motherboard RAID enabled.
  3. If this is strictly for backups and a fileserver, and you aren't constantly writing to the array and you don't need greater than single disk speeds, I would lean towards SnapRAID + a pooling solution. It's very lightweight, and you can easily grow it disk-by-disk as you need to. I would suggest starting with 1 parity disk at a minimum to start (you could go with 2 since you are like RAID10, you will get greater fault tolerance this way). ZFS is another great option (and can achieve greater than single disk speeds), but non-ECC RAM isn't a suggested configuration (you can run with ECC memory, and many have without a problem).
  4. That is a hardware RAID controller, so I would suggest attaching to the onboard SATA ports instead of the card. This will reduce your power draw for the server, while making the disks as transparent as possible to the OS.
I hope that helps.
 
  • Like
Reactions: T_Minus

EffrafaxOfWug

Radioactive Member
Feb 12, 2015
1,394
511
113
Assuming OMV with fairly standard mdadm RAID, TBH in the last decade I don't think I've come across a softRAID setup that was limited by CPU speed apart from very highly underpowered systems; my slowest softRAID system is an IVB E3-1265v2 (4x2.5GHz) running 8x2TB in RAID6 and I don't think I've seen that got over 40% utilisation on a single core during a rebuild. Same should be true for the much-newer-and-higher-clocked G3240. I've got another server offsite running on a G3220 but I've never been able to write to that one faster than 110MB/s and even then I can write to the RAID5 and use encrypted discs without maxing out a single core.

My main server also runs in RAID10 (also my favourite), I would be very surprised if you could get the CPU to 10% utilisation before you bottleneck on your IO. My six-disc array will do ~500MB/s seq reads and ~400MB/s seq writes without breaking the 10% barrier. It's really only high throughput parroty-based RAIDs that are cause for concern on CPU usage.

So in answer to your questions:
1) If you're sticking with mdadm RAID, I wouldn't worry too much about CPU speed at all; gauge your CPU based on what other applications you're going to be running on the server. If you need stuff like rsyncing over SSH at >1Gb/s then you might need to think about quad cores but until then...

2) By and large no; as long as the motherboard only has its SATA ports linked to the intel SATA controller. Linking even a single drive to a clucking awful marvell or silicon image controller however is enough enough to crater RAID performance. If you've got enough intel SATA ports to run your entire array off, use that. If you don't, use a JBOD or (even better) HBA to do so; I'm another one of the many people on this site who have a sizable collection of IBM M1015's reflashed to LSI 9211-8i's as they make for awesome softRAID HBAs.

3) Difficult to say without knowing your exact requirements; as rubylaser points out if you don't need the uptime/resilience or the disc speed you can save a lot of money using disc pools rather than RAID arrays. If you do want to go RAID array, you've got more than enough CPU to run RAID5 or 6 at at least 1Gb/s speeds. RAID10 is pretty much the most expensive RAID option since it's got a high initial outlay and high upgrade costs but yeah, it's still my favourite ;)

4) See point 2) and rubylaser; try and keep extra cards, especially RAID cards, out of the equation if you can. The SM board you linked to has four SATA ports plus an mSATA; if you're planning on doing something like booting off an mSATA SSD and running the RAID off the four intel ports you probably can but best to make sure the mSATA isn't shared with the SATA ports. Personally I'd got for a board with six SATA ports (I use the ASRock E3C226D2I myself as the SM boards are like rocking horse poo in the UK).
 

Chuntzu

Active Member
Jun 30, 2013
383
98
28
CPU speed and core count really only matter (at least with storage spaces) with random io. I have found that I can hit max sequential speeds of how ever many pcie lanes I have with my e5-1620, ie 16gb/s with my current config. But am limited to about 500,000 random reads and writes. So as long as your using hdds and even a moderate amount of ssds you will not be CPU bound (from what I have encountered) especially on sequential io.
 
  • Like
Reactions: T_Minus

byazici

New Member
Jul 9, 2015
2
1
3
44
Thanks for the replies.

rubylaser, never used anything like snapRAID, I am looking into it but, I think I might end up going for a RAID 10 setup with mdadm. Dont really want to use ZFS as I dont want to change some of the items that I currently have at hand, which do no support ECC.

EffrafaxOfWug, thanks for the input, I understand that G3240 is going to be enough for my cause. The cpu will run stuff like rtorrent or transmission and it will also run conky and maybe livewallpaper (I have a small info LCD and I dont want the pixels to burn-in). Most of these dont require too much CPU power. Although, livewallpaper likes the GPU to be a little bit powerful, so was thinking about the i3 4130 (the cheapest) as it has HD4400 on-baord but, thats another issue.

The SM board states that the msata shares a sata port but, I think there might be a mistake there, not sure, all I know is all the other Q87 boards share the msata with the pcie and not the sata, so will look into that before I get a HBA or use JBOD. I know that RAID 10 is not efficient in terms of space but, because I am thinking of running torrents and maybe other things like dyndns maybe, I will probably have a better time with RAID 10.

Chuntzu, thanks, as far as I understand from you guys, with my usage and with the 4 WD REDs, I will be fine with the G3240 as its a higher clocked CPU than the pricier alternatives.
 

T_Minus

Build. Break. Fix. Repeat
Feb 15, 2015
7,625
2,043
113
Hello,

I am not exactly sure if this question is under the right heading but, here it goes.

I am in the process of converting from a hardware RAID to a software RAID system (woot!) for my home NAS using openmediavault. In planning the system I was thinking of going for the G3240 model pentium as it has frequency scaling and a rather nice price but, I realized that I had never done software RAID and had always used adaptec cards in the past and was not knowledgeable enough to make the right choice here, so got a few questions.

Short info before the questions:

- NAS is used for backup and as a file-server
- Has 4 x 3TB WD REDs (I love RAID 10, would like to keep it that way)
- Has mSATA 24GB sandisk ssd (Debian and openmediavault)
- Has 8GB DDR3 SODIMMs non-ECC
- ext4 file system
- Supermicro X10SLV-Q mobo in hand (mobo can change, depending on answers to my questions)

Questions:

- Does the number of cores and/or hyper-threading have an effect on software RAID and is it worth going for quad or octa cores?
- Does the mobo chipset have an effect on software RAID performance (for ex. q87 vs C224)?
- Which software RAID should I choose for my NAS (transparent RAID, etc.)?
- Is it better to use adaptec 3405 JBOD (have in hand), a seperate HBA or attach drives directly to mobo for software RAID, does it matter?

Thanks people.
That board is awesome, it just is missing IPMI and ECC. Which, depending who you talk to ECC are requirements.

Which, once you've grown to use and love hard to go without for servers, even at home :D
 
  • Like
Reactions: coolrunnings82

BackupProphet

Well-Known Member
Jul 2, 2014
1,083
640
113
Stavanger, Norway
olavgg.com
You can still use ZFS just fine without ECC memory. In fact you're still better off that a "normal" filesystem. That you need ECC memory with ZFS or else you will lose data is not true. Most people are not using ECC memory for "normal" filesystems and that is even more risky.

Quote from Matthew Ahrens, one of the core developers of ZFS
There's nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem. If you use UFS, EXT, NTFS, btrfs, etc without ECC RAM, you are just as much at risk as if you used ZFS without ECC RAM. Actually, ZFS can mitigate this risk to some degree if you enable the unsupported ZFS_DEBUG_MODIFY flag (zfs_flags=0x10). This will checksum the data while at rest in memory, and verify it before writing to disk, thus reducing the window of vulnerability from a memory error.

I would simply say: if you love your data, use ECC RAM. Additionally, use a filesystem that checksums your data, such as ZFS.
Ars walkthrough: Using the ZFS next-gen filesystem on Linux - Ars Technica OpenForum