4 Replies Latest reply on Jun 21, 2012 10:36 AM by takaji

    RAID 5 questions about performance on Win 7


      I recently made a RAID 5 array using 3x WD20EARX 2TB Western Digital HDDs. I made the strip size 128kb, and because my motherboard (ASUS P8Z68-V PRO) is UEFI, I was able to format the array as GPT and boot Windows 7 Pro 64-bit from it.


      My questions are:

      1. Initialising is taking a considerable amount of time - overnight it moved 14%. I've heard it can take a long time to initialise; does my situation sound like a reasonable amount of time or is there a problem?

      2. Is 128 kb an ideal strip size? I've read from two camps that either 64kb or 128kb is ideal, but I'm not sure. The array provides me with 4TB of space; most of the files that will be on the array are media files (music @ ~30MB/file, movies @ ~2GB/file) so it seems like a larger strip size is preferable.

      3. Should Windows 7 be on a separate partition in the array? Is there any good reason why I shouldn't keep the OS on the array? I've read that I should put the OS on a separate drive, but then there is no data redundancy for the OS drive - it would need to be made into RAID 1 or something, lest I want to rebuild the OS if the drive fails. As a follow-up, what kind of recovery/boot tools are available for dealing with a GPT-partitioned HDD?

      4. Lastly, would there be an issue with creating an array using WD20EARX (2TB WD SATA III HDD) and WD20EARS (2TB WD SATA II HDD) together? Physically, the only difference is in the SATA speed - everything else is the same.


      Thanks for the help!

        • 1. Re: RAID 5 questions about performance on Win 7

          1. This is normal, especially on Host-based RAID setups - without XOR accelerator all calculations are done on CPU, and unlikely RAID BIOS utilize multithreading.

          2. Strip size have many caveats. First, to get any performance enhancement in Host-based RAID setup you must format volume with same cluster size as stripe size, because host-based RAIDs have no dedicated controllers&memory to make data concatenation into larger 'chunk' sizes. NTFS support up to 64 Kb clusters, so now your system is waste time awaiting the next piece of data to write onto disk in half of IOPS. Then, there are a great danger in ambush named 'volumes/partitions misalignment', look at brief description in following MS article:  Disk performance may be slower than expected when you use multiple disks in Windows Server 2003, in Windows XP, and in Windows 2000   (Vista and newer systems have some misalignment avoidance mechanisms, but they are far from reliability). Misalignment can naturally kill you disk performance, especially on large files (like databases). At third,strip sizes differently affect performance of different tasks: larger chunks usually results in higher performance in case of RAID5 with large unmodified files storing, cause there are lower number of chunks at all - lower the percentage of I/O data splitting tasks overhead at all; but with small or frequently modified files large chunks are bad, because for each small amount to write the large piece of data must be read, changed, recalculated XOR and writed on plates.

          There are no golden bullets in RAID setups, you must think, do, check, change, do, check again and so on until you find your system personally happy place.

          3. The previous answer contain keys for your decision.

          4. The best way is to find datasheets for exact disks you have and look at number of sectors and available space in lowest measurement units, preferable bytes. Dedicated controllers usually have such called '1 GB' option to deal with disks in single array with different number of sectors, but host-raids unlikely (although some RAID BIOSes have one). Also a question is a raw sector size - you cannot pair disks when one of them have a traditional 512B sectors and another modern 2048 or 4096B, size must be the same.

          1 of 1 people found this helpful
          • 2. Re: RAID 5 questions about performance on Win 7

            Thank you very much for the information, JFFulcrum.


            2. Strip size - so since you state that NTFS only supports up to 64kb strip size, should I destroy the current RAID array and remake it using 64kb strip size?

            How do I format the volume with the same cluster size as strip size? (I am assuming this means that I should make the cluster size 64kb if my strip size is 64kb?)

            Concerning misalignment of discs, is there a utility one would use to rectify this? You mention it being a possible problem, but I don't understand how I would encounter it, or how to watch out for it.


            4. The physical sector size across both discs are 4096k. All physical characteristics between the two models are the same, with the except of SATA speed being either SATA II or SATA III. Would these discs then be considered the same in a RAID array?


            Additionally: Intel RST software indicates the physical sector size is 4096k, and the logical sector size is 512k. Should these numbers be the same? I do not know how to change them since there appears to be no option.

            • 3. Re: RAID 5 questions about performance on Win 7

              2. Yes, recreate array with 64K stripes and format it with 64K clusters. But you must know, that usage of larger than 4K cluster size result in some features loss, like NTFS compression and EFS (unlikely useful in nowdays although), and many third-party disk tools may have troubles.


              Misalignment is modern trouble in desktop world so there are no good user-friendly tools to deal with it. PAT tool Paragon Paragon Alignment Tool - Overview is great, but costs a lot for such small task purpose. Disk Partition Alignment Best Practices for SQL Server MS article describe payless method for detection&fix but require some paper work and mind-powered calculations - just remember school-age times. 


              4. Yes, this disks is valid for pairing.


              For RST tool output: yes, physical sector size is 4096B, this is low-level factory format of HDD. But near all current filesystems and OS kernels are designed for 512B sectors, and there are HUGE dependencies runs through virtually all areas of current software from this formerly constant. Years will be taken to redesign and rewrite everything working with storage, so HDD makers did a trick in HDD firmware to mimic 512B sectors for outside world. As usually, they make some things worse that them may be, but nobody really cares about performance losses from translations and misalignments on HDDs because the SSD era rises.

              • 4. Re: RAID 5 questions about performance on Win 7

                One more thing: is read/write speeds compromised during the long initialise process? 36 hours into the initialise, and it's 60% done... I'd like to start using the array as it is initialising. Recommended, or should I leave the array alone completely until the process is complete?


                Thanks again for answering my questions - if I have more issues, I will post here again!