4x 1TB Caviar Black in RAID 0, optimum setup

zanraptora

Distinguished
Dec 20, 2009
38
0
18,530
Alright, I just received my set of 4 drives, I need recommendations.

1. What stripe size would be best for these drives?

2. Should I consider short-stroking the drives?

3. I have heard that any drive above 2TB cannot be used as an boot drive, does this mean I just need to partition a drive segment for the boot drive?

4. Is it possible to create short-stroked partitions so one can still use the entire drive, but allow certain programs and the OS to use the fastest portion of the disk?

Thanks in advance!
 
Solution
Well try device manager? Right click, initialize, select GPT.
GPT is available in Windows 7 and Vista (and XP 64-bit with limitations). GPT is not bootable in Windows, as it requires EFI-BIOS.

About boot limitations: if Windows/BIOS/RAID controller only supports up to x GB, and your disk or volume is larger than that, you can still boot from it. Just make sure the system partition falls inside the area accessible by the primitive booting algorithm. So if you have XP classic and want to boot a 1TB drive, make sure the first system partition is not larger than 128GiB.

The booting process would be unable to access anything beyond 128GiB (24-bit LBA) or 2TiB (48-bit LBA) - but it doesn't have to. It can access the start of the partition...

dgingeri

Distinguished
1. I don't know. don't ask me. (I'm just adding this to recommend the other 3)

2. I just partition my drives: 300GB to the OS, the rest for storage. it does improve seek times a bit, but not as much as firmware shortstroking. Probably about 85-90% as effective, though.

3. yes, this is an issue with the Intel RAID controller with ICH8R, ICH9R, and ICH10R. I had to reduce the size of my 3X750GB array to 2047GB in order to boot from it. There are other controllers that don't have this problem.

4. as noted in 2.
 

sub mesa

Distinguished
If using striping RAID (any RAID except RAID1/3 and JBOD) you should set the stripesize to 128KiB. Also, make sure you let Windows 7 or Vista create the partitions on the RAID. If you let XP create them, you will have lower performance due to a stripe/filesystem misalignment issue.

Short stroking only helps if you don't actively use the rest of the disk; so only use the first 10% or so. The other 90% can be used for passive data such as backups which aren't actively used all the time.
 

dgingeri

Distinguished
I saw a very real effect in that the OS and other programs loaded a lot faster when I went from one full partition to 15%OS and 85% storage. (This was back with my 2X320Gb drives, back in the day. However, I keep to it now with my 3X750GB setup, and my 2X1TB setup on my last system.) It will also keep the swap file on the fastest part of the drive.

The MFT (Master File Table, or the FAT for NTFS) is kept within the partition, so to seek out locations of files, this strategy keeps the drive heads only moving at most 15% of the drive when loading things from the first partition. This essentially gives the effect of shortstroking without losing most of the drive's capacity. It also keeps all the OS files in the fastest part of the drive. (The transfer rate drops off after about the first 15% on most mechanical hard drives. SSDs don't suffer from this limitation.) Although it doesn't perform as well as 10k rpm drives or SSDs, It will give optimum performance out of cheaper drives and still have the whole capacity of the drive usable.
 

zanraptora

Distinguished
Dec 20, 2009
38
0
18,530
So you are saying I should make my OS and main file partition the first 15% of the array? so up to the first 600 gigs or so would be fastest?

Hmm... Hows this?
(Yes, I know I won't get exactly 4000 Gigs out of 4x 1tb drives)
50 gig OS partition
450 gig Program partition
1500 gig media partition
2000 gig storage partition

I think that would be quite reasonable don't you?
 

MRFS

Distinguished
Dec 13, 2008
1,333
0
19,360
Certain RAID controllers support variable sector sizes
under 32-bit versions of Windows e.g. Highpoint RocketRAID
(check with the vendor(s) before you buy).

The 2TB limitation does not exist for 64-bit versions of Windows.

If your system also supports booting from your RAID controller,
then a 50 GB OS partition on a RAID 0 with 4 x HDDs
will only use the first ~12.5 GB of each physical HDD
(12.5 x 4 = 50).

That will have the effect of "short-stroking" your C: partition,
which will enhance performance of that partition measurably.

And, because modern 7,200 rpm SATA/3G HDDs are migrating
to perpendicular magnetic recording, the raw transfer rates
directly under the read/write heads will stay HIGH longer
than is the case with 10,000 rpm VelociRaptors, which do
not use PMR. This "cross-over" phenomenon has been
reproduced experimentally: the VR drops off faster
than modern high-capacity HDDs with PMR.

You can see this "drop off" visually with HDTune:
All HDDs slow down towards the spindle axis, in order
to maintain the same or similar recording density
across the entire platter surface. Thus, data rates
are roughly proportional to circumference = Pi x diameter.


Another optimization can be done manually by running the
Contig freeware software, and creating and switching to
a contiguous swap file:

http://technet.microsoft.com/en-us/sysinternals/bb897428.aspx


The rest of your 4TB can be partitioned as you see fit.


MRFS

 

dgingeri

Distinguished



The limit doesn't exist in Windows 7 or Vista, but it does exist with the Intel RAID controllers, if you want it bootable. In order to make a >2TB RAID and have it bootable, another controller must be used. I know this for certain.

I tried making my RAID 0 of 3X750GB WD Caviar Black drives with the maximum capacity or 2095GB. It wouldn't let me set it to boot. I had to manually tell it to make the size of the array 2047TB. 2048TB wouldn't even work. Yes, it would make it, but it wouldn't allow booting from it. This is a limitation to the ICH8R, ICH9R, and ICH10R. (I have no idea about earlier raid controllers.)
 

zanraptora

Distinguished
Dec 20, 2009
38
0
18,530
Did you have a boot partition? or was that only 1 partition?

Edit:

I've been looking up methods to break the limit. GPT seems to be my answer.

Would this set up work?

50 gig OS partition
450 gig Programs
1.5 TB Media
2 TB storage (GPT partiton)
 

dgingeri

Distinguished
I wouldn't bother with separating the OS and the programs. it won't make that much of a difference. It's all your discretion otherwise.

The big trick for me is that I totally lost access to that other 48GB on my drives. Granted, 48Gb isn't going to make any difference in anything these days. I have a larger SSD than that just for WoW. The Intel controller wouldn't let me have access to that storage in any way, shape, or form if I wanted the RAID to be bootable. It's not a file system limit, it is a limit on the controller.

There are only 2 ways around that:
1. have a boot drive separate from the RAID array just for the OS
2. get a discrete controller that can handle >2TB bootable arrays

Intel put in that limit. I don't know why. I just know that >2TB arrays aren't bootable on an Intel RAID controller.
 

zanraptora

Distinguished
Dec 20, 2009
38
0
18,530
Alright... Could some one give me an basic step by step on using GPT to make the 4 tb RAID array? I have already mentioned the 50-450-1500-2000 partitioning... I just need to have an easy reference on how to do it.

(Just give me the general terms, I'll look up the methods to do it on my Mobo.)
 

zanraptora

Distinguished
Dec 20, 2009
38
0
18,530
Not meaning to sound rash, But I am hoping to get this system finished this sunday... Could someone point me to an good guide on using the GPT system in RAID?

EDIT: I may have found an alternative... Anyone here have any experience using volume sets? They say I could just make two volume sets and partition one into the OS/Games/Media volume.
 

sub mesa

Distinguished
Well try device manager? Right click, initialize, select GPT.
GPT is available in Windows 7 and Vista (and XP 64-bit with limitations). GPT is not bootable in Windows, as it requires EFI-BIOS.

About boot limitations: if Windows/BIOS/RAID controller only supports up to x GB, and your disk or volume is larger than that, you can still boot from it. Just make sure the system partition falls inside the area accessible by the primitive booting algorithm. So if you have XP classic and want to boot a 1TB drive, make sure the first system partition is not larger than 128GiB.

The booting process would be unable to access anything beyond 128GiB (24-bit LBA) or 2TiB (48-bit LBA) - but it doesn't have to. It can access the start of the partition. Once the OS is loaded, the OS' drivers take over and use their own addressing; so even if your BIOS doesn't support big drives you can still boot them with this trick, assuming your OS can access it.
 
Solution

sub mesa

Distinguished
If your BIOS does not support 64-bit LBA (required for > 2TiB) and you need it to be bootable, create a system partition no larger than 2TiB.

If your BIOS does not support 48-bit LBA (required for >128GiB/137GB) and you need it to be bootable, create a system partition no larger than 128GiB.

If your hardware controller does not support the capacity boundary (48/64 bit LBA) then you should use software RAID instead. Set the controller to act as normal SATA controller, or create a JBOD/RAID0 array for each harddrive; then apply software RAID to that.

So if your hardware controller supports up to 2TiB but not larger (48-bit LBA but not 64-bit LBA) - then you make an array for each drive, then use Windows should see your four drives and you can apply software RAID. As long as the individual disks are not larger than 2TiB, this would work. Even if the RAID array itself is 8TB (4xRAID0) the controller only has to handle addresses up to 2TiB; only Windows knows about the virtual RAID device with addressed beyond 2TiB. Example: if you read the last sector (512 bytes) from the 8TB software RAID, the hardware RAID controller gets word from windows to read the last sector on one of the 2TB drives; thus the controller itself never needs to support 64-bit LBA if you use software RAID.