RAID Advice - Intel Rapid Storage Technology

Hi everyone

So ive got a media server at the moment and have just purchased 8x 2tb WD enterprise drives for Plex.

I want to find out which is going to be better raid wise as im only using the on board controller for now till I can afford a proper raid card.

I have tested 6 drive RAID 5 and it just doesn't scale well at all, performance is actually worse using anything more than 5 drives.

So Im contemplating either using RAID 1 but understanding I will only get half the storage, or would creating 2x RAID 5 with 3 drives in each be better.

Im going to be setting up tonight so any advice is appreciated.

The controller only supports RAID 0,1,5 & 10

I used ICH9R in RAID mode years ago, and my opinion on RST is: NEVER AGAIN. It was a total crap. Performance wasn't that great even in RAID0/1, and if one drive died, it slowed down the system to a crawl even before the rebuild. During the rebuild the system was barely usable.

1 Like

I think I have same use case scenario as you - PLEX server.

I would never use Intel on-board RAID functionality as it is yet another software RAID that mainly works on Windows (only windows drivers have it implemented - might have changed since I explored that possibility). This means that any other system or recovery tool will not support this RAID at all. Updating mobo BIOS becomes a constant risk (I've heard of cases that simply RAID settings reset).

I personally would prefer to go for full software solution or full hardware controller. Although recently I migrated by workstation RAID0 volumes to Windows Storage Spaces.

The same thing I done for PLEX server - WIndows Server 2016 essential (storage spaces + dual parity). I have taken into account FreeNAS and ZFS /CentOS +ZFS/XSF/...
But few personal factors put "price" of this solution quite close to simply buying Windows Server license, those factors are: amount of memory required, controllers supported by systems, personal learning curve, multipath mode of SMB, how much not-critical PLEX is for me.

It sounds like you are using Windows. If it is WIndows 10 then look into REFS/Storage Spaces. I think Windows 10 should have at least parity 1. Storage Spaces is actually something that you can still do Dynamic Volumes over. So two virtual disks with parity 1 (each) can be combined into RAID0 equivalent in Dynamic Volumes.

One most likely requirement: Windows 10 Pro

One issue I found on both WIndows 10 and 2016 Essential is fact that drives/volumes are best created with command line (PowerShell) with explicit values for caches (default values for cache produced low performance for me).

Separated RAID-5 could perform a bit better, but if you have a genuine need for RAID then highly consider mirroring for both safety and performance.

And just in case the operating system would be Windows, let Storage Spaces handle it for some extra ReFS file system magic.

On-board RAID has no real benefit anymore.

A word of warning for RAID n00bs like me.
Very carefully check drive compatibility with whatever RAID card or other solution you are using.

I tried RST RAID 0 and my drives died. I purchased a RocketRAID card + 2x 2TB enterprise drives and my drives died (thank goodness for still under warranty). The RocketRAID card had a very specific list of the ONLY enterprise drives that were compatible with their device. The list was quite short.

Then I bought a NVMe SSD and setup an automated backup with the replacement drives.

I knew RST was a bad idea from the start and pretty much knew RAID was redundant, just seemed the easy option at first but just swapping out the PSU and adding some more drives tonight so though I might as well start from scratch with everything.

Yes its predominantly a PLEX server, but I also run a rust server and teamspeak server off the same machine, Running Windows 10 Pro at the moment.

I did want to run something like ZFS but for my current use case windows seemed easier.

I think I will go with storage spaces for now and see how I get on, Will put full post at the bottom.

Probably going for storage spaces for now seems to be the consensus.

I have wondered if the drives will work well in RAID, I've had them in RAID 0 working, But that was for purely testing reasons, got some insane read write speeds for "spinning rust" as Wendell would say. :slight_smile:

Amazon Link

WD RE4 2TB

So im thinking of setting storage spaces to use 6 drives in windows 10 and setting the parity option for now.

If theres any other recommendations please let me know, Also on a side note does anyone think moving to windows server 2016 for my scenario will benefit in anyway, As I have a licence key available for free from work thats not being used.

Currently running a teamspeak server, rust server and PLEX server on windows 10.

I don't fully understand this so don't quote me.
I know it is possible (I saw Linus do it, but maybe he's not the best example given his track record with servers) to do things like make 3 - 2x drive RAID 0 storage storage spaces for speed and then combine those 3x RAID 0 spaces into a RAID 1 space for reliability. Or I may have it backwards, IDK. That's above my pay grade.

RAID is redundant - by definition. =) If you mean "vs zfs and such" - not for me to judge (never used zfs). I'm not sure about all these ReFS recommendations. Stuff which is "designed not to break" simply rubs me the wrong way, as it generally means that when it breaks (and "if" isn't an option), it does it spectacularly and can't recover.

So im thinking of setting storage spaces to use 6 drives in windows 10 and setting the parity option for now.
If theres any other recommendations please let me know, Also on a side note does anyone think moving to windows server 2016 for my scenario will benefit in anyway, As I have a licence key available for free from work thats not being used.

It does not sound that you need 2016 server. It has more advanced manager application for each server feature. In case of Storage spaces it has cluster capabilities and redundancy among multiple servers. Storage leveling/tiering for hot data. Nothing that useful for home server.
However management application for storage spaces might give you a faster learning curve, as Windows 10 settings application are made in a way so the users would not hurt them self too much with thinking (obfuscate too much information and I always feel as I'm treated as an idiot).

The recipe for creating the volume would be:
- create the pool (Server Manager -> File and Storage Services)
- create virtual disk (manually by command line).
- format disk (I think I used good old Disk Manager for that).

I think in both cases Windows 10 and 2016 you can do everything by wizard (2016 Essentials has even two management applications, one like each Windows Server, the second comes with Essential edition - simpler - I do not recommend).
I actually played with every possible way to create storage spaces in 2016, including performance tests for my needs. And all setup wizards failed me, on creating the virtual disk, by using default settings that did not worked well for me).

The command for creating RAID6 equivalent (dual parity - virtual disk step) for me was:

New-VirtualDisk -StoragePoolFriendlyName MyPool -FriendlyName MyRAID6 -ResiliencySettingName Parity -NumberOfColumns 10 -PhysicalDiskRedundancy 2 -FaultDomainAwareness PhysicalDisk

-ProvisioningType Fixed -UseMaximumSize -WriteCacheSize 128GB

Most important settings are:
NumberOfColumns - how many physical disks will be used for the virtual disk
ResiliencySettingName - Simple (equivalent of RAID0), Parity (eq. RAID 5 or 6), Mirror (eq. RAID1).
PhysicalDiskRedundancy - for "parity"
NumberofDataCopies - for "mirror"
-ProvisioningType Fixed - important - allocates place on creation (else you will have growing virtual disk)

-WriteCacheSize - the most important parameter (default value is most probably not what you want). In case of RAID6 you want it too be big. In case of RAID0 you want it to be 0 (for best performance).

I had very bad performance in the begging (like 40MB/s writes on RAID6), until I fully understood that command line tool :
http://technet.microsoft.com/en-us/itpro/powershell/windows/storage/new-virtualdisk

There is also command for reading the settings - just in case you want to look what kind of nightmare was created by setup wizards based on your choices.

https://technet.microsoft.com/en-us/itpro/powershell/windows/storage/get-virtualdisk

I tried to find documentation about how exactly WriteCache is being used, but no luck. However I'm happy that with 128G value my 10 disk dual parity virtual disk performs at 300MB/s (sequential writes) which is close to what SMB can do via two gigabit NICs. I assume that writes are first done to cache area and then copied to permanent location with dual parity.

And as for formatting the virtual disk. Since idea behind Storage Spaces is to do layered storage system. I think you actually can format disk by Disk Manager and even create Dynamic Volumes over Storage Spaces (software RAID over software RAID). I think I created RAID0 over 2xRAID6 - I just have no free disks right now to confirm that.

Has anyone encountered a write disparity between drives in a IRST raid1?
I have 2 drives, about the same age, and one had about 3TBW, the other 17TBW... it would re-build every few times I boot into windows.
Worked fine though, and linux picked up the array without issue.

When I was using it (again: years ago) - yes, I've seen this. Not the written data difference (especially that much of a difference), but the "let's rebuild even after a clean reboot" behaviour. My best guess is that enabled write-back cache was the reason, but I've never got the time for debug and experiments, so I may be wrong here. It's "damned if you do, damned if you don't" kind of option for RST anyway: if you disable it, you have even shittier performance, and if you enable it - your cache isn't battery-backed and you're prone to parity errors.