Hi everybody, after researching several sites on the web, the closest somebody came to solve my problem was on this site.
So, without further ado, my current setup is as follows:
1. My "Server" is a relative high end desktop (old gaming motherboard), quad core CPU, and several network cards. The server basically just acts as a file server so there is very little overhead on the CPU. The OS installed is Windows Server 2008 R2.
2. The motherboard have 5 on-board SATA ports, populated with 5x1.5TB hdd's (1.5TB is cheapest / GB).
3. A cheap PCI-SATA card houses my OS drive and a spare drive (only two SATA ports on the card)
4. My DAS enclosure, http://www.chyangfun.com/pro01_2_3.asp is equipped with two SIL3726 chips.
5. I’ve plugged in 5x1.5TB hard drives into the DAS enclosure, 4 drives on the one SIL3726 board, and one on the second SIL3726 board. (the remaining slots have been filled with other drives)
6. Together with the purchase of the DAS enclosure came bundled a SIL3132 raid controller
I set this up as follows:
1. Using the onboard RAID of my motherboard, created a RAID 0 array with the 5x1.5TB drives. I called this Array1
2. Using the SIL3132 controller, I then created another RAID 0 array in my DAS, again 5x1.5TB drives. Let’s refer to this as Array2.
3. Using Windows Server 2008R2 I then mirrored these two arrays, resulting in me having a RAID0+1 setup with 7.5TB usable space.
4. In summary, I have 10x1.5TB hard drives, 5 in the DAS, and 5 internally. (And several other ones that is not really applicable to this discussion)
The reason why I opted for the RAID0+1 and not RAID10 is because I also end up having to extend my arrays. Having a RAID0+1 array, allows me to break the mirror (software) destroy one of the arrays, plug in more hard drives in that array, recreate a new increases space RAID0 array, copy the files from the original array onto the newly increased RAID0 array. When files have been copied successfully, I am able to break the first array, increase the size, and just mirror it again. I appreciate the risk when actually doing this, but given the hardware I have available, a risk I am comfortable to deal with.
Where I currently have a problem, is that my read speeds on the RAID01 array was shocking. I was getting in the region of 250MB/s. This is acceptable in most scenarios, but the mere fact that I had 10 drives, each capable of around 80MB to 100MB just tickled that “nerd” feeling in me in saying that I can get more.
Analysing the two arrays in more detail, I was getting around 230MB on Array 1 (the motherboard RAID0), but only 130MB on the Array2 (the DAS with the SIL3132). Having a mirrored, (read from both sources) this then tied back to the speed of 250MB I’ve observed in the RAID01 setup (speed of slowest drive times number of arrays, slowest drive = 130x2=260 less some additional overheard = 250MB). My initial hope was to get over 400MB/s (hoping for 500MB but I am a realist).
From researching the problem, it appears as if the bottleneck is tied to the SIL3132, refer to this post here:
I am not sure if the limitation comes in with the bus speed on the PCI-Express x 1, (250MB) or if it is E-SATA perhaps. However, the SIL3726 is stated to be SATA 2 (3Gb/s) compliant which means the bus speed of is definitely a potential bottleneck.
It is obvious that if I want to reach my goal of hitting 400MB/s throughput that I will need to upgrade some hardware in my “server”. This is my current restrictions / objectives:
1. I have reached a limit in terms of how much hard drives I can house directly on my internal motherboard, so ideally I would need something that can expand on the internal drives a little bit more, or I will need to obtain another DAS at some point.
2. I am residing in South Africa, and we don’t get all the name brands here such as Highpoint, Arcena etc. We do however get Adaptec controllers. A good indication of cards that I can get is from this store here: http://www.sybaritic.co.za the Rand / Dollar exchange is around R6.5 for every USD.
3. This is a home setup, so obviously I would like to keep the cost as low as possible, and re-use as much of the hardware that I can, but still have the ability to expand in future.
4. I continue to increase my array on a regular basis, I’ve managed to do just that with the RAID01 setup for quite some time now without any data losses, but should one be able to incorporate a dynamic raid expansion or raid migration solution then that will be awesome.
Now, from a hardware perspective, I realise that I will need to chuck the SIL3132 card if I want to get better throughputs, but I will prefer to keep the DAS since I recon one should be able to get at least 250MB/s from her. (Which if paired with an internal 250MB/s should give me my 400MB read target)
The RAID card that I have been eyeing now for a very long time is the Adaptec 3805 but I cannot find any confirmation that it will work with the SIL3726 chipset in my DAS. Also, I am kind of new to dedicated RAID cards (I’ve been dealing with the cheapies mostly), so I am not exactly sure how the SATA / SAS expanders work, since the SIL3726 uses e-SATA cables.
If anybody ask why I aim for 400MB/s, truth be told, it just sounds better than 200MB and I know that the hard drives definitely is capable of doing it (and more). So if I cannot reach it, then it will not be a train smash, but if I can reach it, then that will be awesome!
I appreciate any constructive feedback and suggestion please. Also, I apologise for any spelling and grammatical errors, English is not my first language.