Jump to content

Software RAID 10 in Windows 10

**** EDIT ****

 

See original post below.

 

In light of what @Electronics Wizardy suggested, I deleted the RAID10 volume, and did the whole thing again but through Powershell, including the striping.

 

This is still a RAID 10, so 2 two-way mirrors, but the -NumberOfColumns is set to 2 (a stripe per RAID 1 array).

 

In what may be needless to say, performance is a lot better. Here are the numbers:

 

CrystalDiskMark

RAID10 Powershell

In this benchmark, we see scores which are roughly equal to the Storage Spaces + Disk Management Hybrid RAID10, but 4KiB Q8T8 and 4KiB Q32T1 did actually come out worse for Reads.

 

Speed copying Hyper-V VM

RAID10 (PS): 246 - 279MB/s AVG: 262.5MB/s

This is significantly quicker than the hybrid solution I first used, with an increase on the average of 19%! As well as the speed bump, the fluctuations in speed are much less drastic.

 

Read / Write test for Windows 10 ISO

RAID10 (PS): 8.9s Write, 14.1s Read

Again, much better than the hybrid solution, clocking around ~3 seconds faster for writes and ~2 seconds faster for reads, likely attributed to the decrease in speed fluctuations.

 

Average Response Times

RAID10 (PS): 476.3ms

This is another big change. Gone from ~2 seconds of response time, down to around a quarter of it, even slightly faster than the per-disk response times. This again, is likely a contributing factor to the speed increases.

 

To do this through PowerShell, I found this guide here. Note that instead of "Storage Spaces*" I had to use "Windows Storage*". To find out what you need to use, run the Get-StorageSubSystem command.

 

Obviously I need to do some reading into some documentation for Storages Spaces. RTFM people.

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Hi there!

 

TL;DR: Software RAID 10 in Windows works about as expected, in my experience. Skip to the end for the RAID 10 numbers and results!

 

So, I was looking, and couldn't find any information on people's experience, or results of any kind of RAID 10 adventure on Windows, so, decided I'd do it myself. This post is pretty much my test results, and performance.

 

My setup for this is a PC running as a central storage unit for my home, so it's not running anything spectacular, just some parts I had lying around:

 

Hardware

PSU: Corsair CX550M

CPU: AMD A10-6800K @ 4.1GHz

RAM: 16GB 2466MHz Corsair Vengeance

MOBO: Asus A88XM-Plus 

OS: Crucial M4 SSD

4x WD Red 2TB NAS 5400RPM drives (This is what I RAIDed)

 

Software

Edition: Windows 10 Pro N

Version: 1803

Build: 17134.228

 

PREAMBLE

So, as above, there seems to be no information on what a RAID 10 is like on Windows, especially a software RAID, which is what I did; So I thought I'd share my results and experience. Setting up the RAID 10 was quick and simple, just set up 2 two-may mirrors in Storage Spaces (RAID 1), and then stripe the two mirrors together using Disk Management (RAID 0) to make the RAID 10.

 

Before setup, I ran some fairly basic testing and a CrystalDisk benchmark on all drives before starting the process, to get a baseline.

 

REFERENCE TEST

Just as a quick comparison, I also ran CrystalDiskMark on the OS SSD, so you can see the performance of that. I didn't run any other tests.

OS SSD

 

STANDALONE DRIVES

First, I ran CrystalDisk Mark version 6.0.1 x64 on all four drives:

Drive 1Drive 2Drive 3Drive 4

As you can see, they're all relatively comparable, with Drive 2 doing better overall, and Drive 4 performing worst.

 

Next I transferred a Hyper-V VM file to each of the disks. I used this test to get a real-world example of write speeds. I found the following:

Drive 1: 132 - 147MB/s AVG: 139.5

Drive 2: 141 - 154MB/s AVG: 147.5

Drive 3: 137 - 145MB/s AVG: 141

Drive 4: 122 - 144MB/s AVG: 133

As you can see, the max speeds roughly match the max speeds from the CrystalDisk Mark test, so looking good so far!

 

Next, using a Windows 10 ISO file (3.46GB) on the OS SSD, I copied the file 3 times, to, and then from each drive, to get a rough estimation of the time taken to read and write files. Each test was performed 3 times, and the below value is an average for each:

Drive 1: 15.2s Write, 13.7s Read

Drive 2: 14.4s Write, 13.2s Read

Drive 3: 14.8s Write, 18.8s Read

Drive 4: 16.2s Write, 13.8s Read

 

Finally, again using the Windows 10 ISO file, I looked at the average response time in Task Manager when copying the file across, again 3 times, with the average result below:

Drive 1: 488.3ms

Drive 2: 484.0ms

Drive 3: 490.3ms

Drive 4: 487.3ms

 

MIRRORED DRIVES

Next up, I mirrored the four drives into 2 two-way mirrors (Drive 1 & 2, and Drive 3 & 4), and ran all the same tests, so i'll be lighter this time:

 

CrystalDiskMark

Mirror 1 (Drive 1 & 2)Mirror 2 (Drive 3 & 4)

Mirror 1 seems to have the high and low values of the two drives for the Sequential test. Mirror 2 seems to follow this pattern. For both mirrors 4KiB Q8T8 test, 4KiB Q32T1 test seemed improved over the single drive performance numbers. For 4KiB Q1T1, only the Write seemed marginally improved, while the Read suffered in both cases.

 

Speed copying Hyper-V VM

Mirror 1: 131 - 144MB/s AVG: 137.5 (Drive 1 & 2 speeds from earlier average = 143.5)

Mirror 2: 121 - 140MB/s AVG: 130.5 (Drive 3 & 4 speeds from earlier average = 137)

Mirror 1 performs better, and Mirror 2 lags behind a bit in performance, but it does have the slower drive in it's mirror.

 

Read / Write test for Windows 10 ISO

Mirror 1: 15.9s Write, 13.4s Read

Mirror 2: 16.1s Write, 14.8s Read

So again, not far off the scores from the original standalone tests.

 

Average Response Times

Mirror 1: 488.0ms

Mirror 2: 498.3ms

Again, a comparable score.

 

Overall, my experience from using Storage spaces to mirror the drives is that there is very little overhead, and the mirror performs in a comparable fashion to the disks it is made up of.

 

SOFTWARE RAID 10

So we're finally here! The reasoning for all the previous test was to establish a baseline in performance, from disk to disk, to mirror to mirror, to see what kind of impact putting the two mirrors in a striped array would have.

 

CrystalDiskMark

Raid 10

In Sequential tests, we're seeing about the coupled performance of Mirror 1 and Mirror 2 from the previous set of results, great! For 4KiB Q8T8 and 4KiB Q32T1 Reads, were seeing slightly less than double the performance, but it's still and increase, but Writes seem to cope better here. 4KiB Q1T1 had the worst performance for Reads, barely increasing from the speed in either of the mirrors, but for Writes, not far off double again.

 

Speed copying Hyper-V VM

RAID10: 170 - 270MB/s AVG: 220

Quite a large fluctuation in this test,but, compared to all other results, even the lower speed is higher than the maximum speed achieved, and the maximum is not quite double that of the highest score. However, 220MB/s is still 72.5MB/s more than the fastest average speed previously seen.

 

Read / Write test for Windows 10 ISO

RAID10: 11.7s Write, 16.0s Read

By far the fastest write speed we've seen so far, so the RAID 10 is coming into it's own. Obviously it's not half, but, faster is faster right? Compared to the fastest score of 14.4s from a standalone disk, this performs 23% faster. However, read speeds were nothing to write home about. Maybe this will be explained next...

 

Average Response Times

RAID10: 2411.7ms

Now this is interesting. I'm in no way an expert, but this response time is MASSIVE in comparison to the ~500ms Max we were seeing beforehand. Maybe this is a consequence of the striping, or in particular because of the RAID 10. Perhaps this is contributing to the slow Read speeds observed in the previous result. However, our speeds aren't too bad, so maybe it's nothing to be concerned about, so long as you're only using it as storage, and not using it to run anything off of!

 

OVERALL

Overall, I think it's safe to say that, if you're not concerned about super speed (I mean, you're likely using slow HDDs!), but want a RAID which gives you redundancy, as well as a slight speed increase, then this is a viable option for you, which doesn't involve any tweaking or hacking, messing around in the UEFI (Or BIOS if it's that old!) (also, FAKE RAID!, seems to be a popular term), or involve buying an expensive Hardware card (which do have their benefits, but not so much on the cheap end).

 

Perhaps running this with a newer CPU and chipset which isn't 5+ years old from an era where AMD were lagging behind in performance, maybe our numbers would have been better. But for my purposes, it works, and I'm happy with it.

 

SOFTWARE RAID 10 RESILIENCY

Now this last part is an added bonus, because I wanted to share my experience, and I hope that people will see this post and it be useful, as I'm trying to fill a gap in the internet with regards to this specific topic! I knew how RAID 10 worked, in theory, but I wanted to test it out. So, to that end, I put my Hyper-V VM on the RAID 10 array, shutdown the PC, and pulled Drive 1. Upon restart, the Logical volume was still there in Windows Explorer, and the VM on it ran just fine, no corruption! However, there are NO prompts by Storage Spaces that a drive has failed or is missing, so be aware of that. I took a look at Storage Spaces, and it did recognise the missing drive, and warned of decreased resiliency.

Broken RAID 10

 

Next, I shut it down again, and pulled Drive 3. This means I have pulled one drive from both parts of the RAID 1 array, leaving a single disk in each, which are RAIDed together, bascially running in RAID 0 now. Again, the drive showed up fine, and the VM ran fine. 

 

Next, I kind of knew what to expect, but I pulled Drive 4, and plugged Drive 1 back in, meaning I had 1 Mirror, but missing the 2nd Mirror. This is where it was borked. The drive failed to show in Windows Explorer. So i checked Disk Management, and it showed the Mirror as being missing, and the Dynamic disks as being offline. Now, I didn't go through the trouble of reformatting the unplugged drives, and populating them back in after this, so this next bit IS NOT representative, but I plugged Drive 3 and 4 back in, and started up, and the RAID 10 drive was back. 

 

As far as I'm aware, in case of a real drive failure, you would need to "remove" the failed drive from Storage Spaces first, then replace the physical drive, then add it back to the pool of the Mirror. I can't confirm this, as I did not test it.

 

FINAL THOUGHTS

I hope this is useful to someone, and I hope someone else can fill me in on their experience of Software RAID 10 in Windows.

 

Cheers!

Edited by Final Progeny
Updated Results
Link to comment
Share on other sites

Link to post
Share on other sites

11 minutes ago, Final Progeny said:

 

probably shouldn't trust software RAID at all

 

Should probably just use FreeNAS if you need a NAS of some kind.

I edit my posts a lot, Twitter is @LordStreetguru just don't ask PC questions there mostly...
 

Spoiler

 

What is your budget/country for your new PC?

 

what monitor resolution/refresh rate?

 

What games or other software do you need to run?

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

38 minutes ago, Streetguru said:

probably shouldn't trust software RAID at all

 

Should probably just use FreeNAS if you need a NAS of some kind.

I decided not to use FreeNAS for a few of reasons: I'm using Hyper-V VMs, which I migrated from VirtualBox, the reasoning being I wanted dynamic memory allocation, as well as auto-start and stop features, and secondly, I'm not really familiar with Linux at all, so if there were any kind of problems, I'd be stuck without a clue, and be at the mercy of the internet (although I know there are some great forums out there). Lastly, In the event of a failure, or hardware change, I know I can easily swap the disks between other Windows machines.

 

Also, isn't FreeNAS also software RAID? The OS is built for it, but still, it's software controlled. Ultimately, I think they're much of a muchness, and whatever you are more comfortable with is the better choice. I have researched FreeNAS, because so many people do use it, but I decided against it.

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, Final Progeny said:

 

FreeNAS gets you the magic of ZFS

 

I edit my posts a lot, Twitter is @LordStreetguru just don't ask PC questions there mostly...
 

Spoiler

 

What is your budget/country for your new PC?

 

what monitor resolution/refresh rate?

 

What games or other software do you need to run?

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

9 hours ago, Final Progeny said:

just set up 2 two-may mirrors in Storage Spaces (RAID 1), and then stripe the two mirrors together using Disk Management (RAID 0) to make the RAID 10.

Please no, just use storage spaces for the whole thing, much better solution. Storage spaces can do all that you need here.

4 hours ago, Streetguru said:

FreeNAS gets you the magic of ZFS

And you can do all of that with storage spaces aswell.

8 hours ago, Streetguru said:

probably shouldn't trust software RAID at all

 

Should probably just use FreeNAS if you need a NAS of some kind.

Shouldn't trust software raid, suggests a software raid solution.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, Electronics Wizardy said:

suggests a software raid solution

It's at least a level 2 software RAID given the features

I edit my posts a lot, Twitter is @LordStreetguru just don't ask PC questions there mostly...
 

Spoiler

 

What is your budget/country for your new PC?

 

what monitor resolution/refresh rate?

 

What games or other software do you need to run?

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

55 minutes ago, Electronics Wizardy said:

Please no, just use storage spaces for the whole thing, much better solution. Storage spaces can do all that you need here.

 

 

As far as I'm aware, you can't stripe existing pools on Storage Spaces (at least on Windows 10,and not Windows Server). Unless there is some convoluted way or doing it. 

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, Final Progeny said:

As far as I'm aware, you can't stripe existing pools on Storage Spaces (at least on Windows 10,and not Windows Server). Unless there is some convoluted way or doing it. 

you can't do that in storage spaces, but you can make a single raid 10 volume in storage spaces and thats the way to go here. setup a mirror with collums

Link to comment
Share on other sites

Link to post
Share on other sites

9 hours ago, Streetguru said:

It's at least a level 2 software RAID given the features

so is storage spaces. You have all the same checksumming, snapshot, caching, cow and other features.

Link to comment
Share on other sites

Link to post
Share on other sites

39 minutes ago, Electronics Wizardy said:

you can't do that in storage spaces, but you can make a single raid 10 volume in storage spaces and thats the way to go here. setup a mirror with collums

Interesting. Now that you've said that, I found a lot more articles on RAID 10. Do you know of any good guides for setting this up? (I assume Powershell?)

Link to comment
Share on other sites

Link to post
Share on other sites

24 minutes ago, Final Progeny said:

Interesting. Now that you've said that, I found a lot more articles on RAID 10. Do you know of any good guides for setting this up? (I assume Powershell?)

basically make a pool of drives, then when you use new-virtualdisk set numberofcollums to 2

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Electronics Wizardy said:

basically make a pool of drives, then when you use new-virtualdisk set numberofcollums to 2

Cheers for the insight, I remade the array using your suggested method, and updated my post up top.

 

Link to comment
Share on other sites

Link to post
Share on other sites

On 2018-08-16 at 4:35 PM, Streetguru said:

probably shouldn't trust software RAID at all

 

Should probably just use FreeNAS if you need a NAS of some kind.

I get your point, bus ZFS *IS* software RAID. Windows Storage Spaces is incredibly similar to ZFS in terms of capabilities. 

 

You shouldn't be using “dumb” software RAID, yes. Like Windows Disk Management RAID, or Motherboard RAID. But ZFS and Storage Spaces are on the same level. 

For Sale: Meraki Bundle

 

iPhone Xr 128 GB Product Red - HP Spectre x360 13" (i5 - 8 GB RAM - 256 GB SSD) - HP ZBook 15v G5 15" (i7-8850H - 16 GB RAM - 512 GB SSD - NVIDIA Quadro P600)

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×