Well it definitely states that the ICH10R does not support capacity expansion.
I was reading in the TPS, the chipset for ICH10DO is Intel® 82801JO I/O Controller
And for the ICH10R is Intel® 82801JR I/O Controller
Probably in the corresponding datasheet from the http://ark.intel.com you may get your exact answer.
All the best,
Thanks for the response, Elizabeth. Do you have any ideas then why the "Volume Capacity Expansion" checkbox is always grayed out in my Intel Matrix Storage Manager? I have the latest version (8.8) and 3 1.5 TB drives. I tried many permutations, including creating a 1TB RAID 5 volume and then attempting to expand it, but the checkbox was never enabled.
Furthermore, I was never able to create more than 2 RAID 5 volumes, which is odd, since I thought the ICH10R could support up to 4 volumes.
There are a couple of reasons the checkboxes to add an additional drive may be disabled. First of all, it is only supported for RAID0 and RAID5 volumes. If you have a matrix array (two volumes on the same array) and either of the volumes is not RAID0 or RAID5, then you won't be able to add a disk.
Next, the software will look at the partition information. It will only expand a volume that is partitioned with MBR (Master Boot Record). Now, MBR can only support disks/ volumes that are up to 2TB in size. Therefore, in order to protect your data, expansions that would result in a volume greater than 2TB are not allowed.
As far as not being able to create more than 2 volumes, you are correct that most systems will support up to 4 volumes. There are only 6 ports on the controller, thus limiting you to 6 disks, and RAID 5 requires at least 3 disks. You can, however, have up to 2 volumes per array.
Thanks for the details, Mike. Hopefully in future chipsets, the 2 RAID 5 volume limit can be increased, as many add-on RAID controllers support 4 or more RAID 5 volumes.
Last, I'm still left wondering why I cannot expand a volume in my 3 1.5 TB setup with a fourth 1.5 TB drive if I'm using MBR and the volume I'm expanding is less than 2TB?
How large is your RAID5 volume with the 3 disk configuration (how many GB)? Is there more than one volume on the array? If so, what raid level is it?
Message was edited by: Mike I just re-read your earlier post where you stated you were setting up a single 1TB RAID 5 volume. I would have thought adding a disk in this scenario would have been supported. Perhaps the array free space is the issue here. I'm not sure if the free array space is used up on a capacity expansion. If so, the resulting size of the volume would be greater than 2TB in your case, which would prevent the expansion.
The 2TB limit doesn't come from the RAID stack or driver. It's actually a limitation of the way a hard drive's partition table is set up. MBR (Master Boot Record) is a standard way of defining partitions on a disk. It's been around for a long time. It has a limitation that it can only address up to 2TB of disk space. Therefore, MBR can not be used on disks/ volumes that are larger than 2TB.
If the RAID driver did allow an expansion of an MBR volume to greater than 2TB, in the best scenario you would be limited to 2TB of space, but in some scenarios the OS will fail to recognize the volume altogether.
The Intel Matrix Storage Manager does support creating volumes greater than 2TB. Note that not all OROMs support this, but you should still be able to create such a volume in the Windows UI even if it's not supported by the OROM. After creating the volume, you need to use Windows Disk Manager to initialize the disk using GPT (GUID Partition Table) which, unlike MBR, does support more than 2TB volumes.
Something to be aware of, however, is that on many OSs, volumes that have been configured as GPT cannot be used as boot volumes-- you would need to boot of a different disk/ volume.
This is gonna be a longer post but I also played with the capacity expansion so you might want to read it. :-)
First of all, it is important to understand the concepts and terms correctly. Many people confuse the terms RAID array, volume, disk, partition and mix them up in their posts so reading that is often extremely difficult. Even Intel Matrix Storage Manager has a bit confusing way of working with volumes. You can read a nice article at http://carltonbale.com/how-to-break-the-2tb-2-terabyte-file-system-limit
On ICH10R you can create multiple RAID arrays and each of them can contain up to two volumes of different (but "compatible") RAID level (for example, you can't have a RAID-5 and a RAID-1 volume on the same array).
Think of an array as a virtual box. Then think of a volume as a virtual hard disk inside that box. And you can create a box from two or more of your physical hard disks. Actually, you start with creating a volume and selecting which physical disks will be used for this volume. This in turn creates the actual array which is defined by those phisycal disks that you selected, and the volume sits inside this array and is "spread over" these physical disks. So the process is a bit confusing to keep this in mind when you read on (when I say "you create an array and then volume" I really mean that you create a volume because the array for it is then created automatically).
So for example on ICH10R you can use 1 TB Seagate + 1 TB WD and make one box (array) called "Array1". Then inside this array you can make two virtual hard disks (volumes) called "Volume1" and "Volume2" and select the RAID level they will use, for example Volume1 will be RAID-0 and Volume2 will be RAID-1 (if you wanted to create a volume with RAID-5 then you would have to use three hard disks when you create the array).
You can repeat this and create another array with your other two hard disks, for example 1 TB Hitachi and 1 TB Samsung. Again you can create two volumes inside this array with the same or different RAID levels.
You must understand that at this point you are not dealing with partitions or MBR / GPT volumes. This is not a part of creating RAID setup. Intel Matrix Storage Manager does't care how big your volumes are. It can work with big and small volumes equally well. It will not gray out options because of the size of the volumes or because of MBR/GPT (it may only do so because of the RAID level you use on them). MBR and GPT don't even exist yet at this point. You will have to worry about partitions and MBR / GPT (virtual) disks later in Windows Computer Management / Disk Management as you initialize them and partition them. The only thing you need to know before you create the volume is that you can't boot from it if it is larger that 2 TB.
So after you create one or two volumes in the array, you can go to Disk Management in Windows. There you will see these volumes shown as empty uninitialized virtual hard disks with no partitions on them. Then you can intialize those virtual hard disks as MBR or GPT partition style, depending on how you want to use them. If the volume (virtual hard disk) is 2TB or lower then you can initialize it as MBR and create partitions on it. These partitions can be bootable and you can install Windows on them. But if the volume (virtual hard disk) is bigger than 2TB then you must initialize it as GPT. You can then also create partitions on it but they will not be bootable (except if you have an EFI BIOS and 64-bit OS, but that's another story).
Now to my story:
Currently as I write this, the newest version of Intel Matrix Storage Manager software and drivers is 8.?9.?0.?1023 (release date 7/17/2009). And this is what I have found out doing tests on my computer (Intel Matrix Storage Manager option ROM 18.104.22.1688):
I have built me a new PC with an ASUS P6T Deluxe V2 motherboard with X58 chipset and ICH10R southbridge. I put in four 1TB SATA drives and used them to create a RAID array with two RAID-5 volumes (I did that in Intel Matrix Storage Manager option "BIOS" ("IMSM BIOS")). The available capacity was therefore around 3TB. I had to create two volumes because I couldn't use one big 3TB volume since Windows cannot be installed on it. So I created one 50 GB volume and the second volume took the rest of the available space (you can't change that - second volume always takes ALL the remaining space).
I then booted from the Windows 7 Ultimate 64-bit install DVD and the setup program detected my two RAID volumes as Disk0 (50 GB) and Disk1 (2744 GB). I didn't have to load any special RAID drivers so that was nice. Windows 7 could only be installed on Disk0 so I selected that and installed the OS (the setup partitioned it automatically). Once inside Win7 I installed the Intel Matrix Storage Manager software and checked my RAID configuration. It looked ok. I then went and initialized the other volume (Disk1) in Disk Management. I had 2 options: MBR and GPT. If I selected GPT, the drive was initialized and I had 2.7 TB of Unallocated space ready to be partitioned as one or multiple partitions. But if I selected MBR, then the disk got split into two parts of Unallocated space, one of size 2048 GB and the other 696 GB. So I could then create one or more partition in the "left" Unallocated space and one or more partitions in the "right" Unallocated space. The difference is that I could not have one single 2.7 GB partition like on a GPT initialized disk. And don't be fooled, even though I did initialize this disk as MBR and created multiple partitions smaller than 2 TB on it (even set active), I could NOT install windows on the partition on this drive. This is because the disk itself (the volume created the RAID array) is larger than 2 TB. You can use such a disk (volume) in Windows but you can't boot from it on a regular PC with a regular BIOS.
I then powered off the PC and removed one of the drives. When I turned it on, the IMSM BIOS reported the RAID-5 volume as DEGRADED but it continued working of course. Once in Windows I hot-plugged the drive back. The system recognized it and also re-inserted it into the RAID array as a member and then started the rebuild process. I didn't wait for it to finish but let's say it would have went through 100% and returned to normal.
I then deleted the RAID array and Windows as well. I brought in another 250 GB SATA drive, installed Windows on there and then had all the other four 1TB drives free for some more RAID tests.
I decided to test the Volume Capacity Expansion feature since I read this thread prior and wanted to see if it is really grayed out on ICH10R. As we know by now, Intel's table at http://www.intel.com/support/chipsets/imsm/sb/CS-022304.htm says that ICH10R does NOT support capacity expansion. But in fact, the option in my IMSM WAS available but as I found out, it does work differently as one would expect.
This is also one thing (as I mentioned before) where Intel confuses the user with the options. In IMSM they call it Volume Capacity Expansion.
Anyway, I used three drives to create an array with 50 GB RAID-5 Volume0 (for example I had Windows installed there) and the rest of the space (1813 GB) was used for Volume1 (also RAID-5) (for example I had data there). I then wanted to add another 1TB drive to this array so that I could then extend Volume1 to cover all the newly added space. I would expect this option would be available if I right-clicked on the array name in IMSM but it wasn't. I had to right click on Volume1 in IMSM and select Modify volume. That is kind of counter-intuitive. I then ticked the Volume Capacity Expansion option and then selected ONE of the following (this is also documented in the user manual of IMSM):
- Utilize 100% of available array space
- Add one or more member hard drives
I selected "Add one or more member hard drives" since I already had the two volumes using 100% of array space. I then selected the drive to add and clicked Finish. The drive was then added to the array containing my two volumes. The 50 GB Volume0 started migrating immediately (only spreading itself between all four disks now, I thought). After that was done, Volume1 started migrating as well.
Now why do I think that it is counter-intuitive when the (Volume) Capacity Expansion option is available under the volume name instead of under array name ? Well, if we go back and remember to think of an array as a virtual box which is defined by the physical hard disks and inside this box are the volumes. So when you add a physical hard disk to an array (to a box) you increase the size of that box so that it can hold more volumes inside, or in other words, that it can hold one or two BIGGER volumes inside. I would think that by adding a new drive you actually don't expand the volume, but the array! Only after the array is expanded should you go and expand the volume by again right-clicking on it's name and this time selecting "Utilize 100% of available array space". That would then expand the actual volume (make the Disk0 in Disk Management get bigger). And after that you would need to extend the partition on it using Disk Management or some other partitioning program. Volume Capacity Expansion however works a little bit different.
After I added a new drive to the volume (I mean to the array, arrgh) and when the volumes started migrating, I noticed that Volume0 was now reported by IMSM as being 75 GB big. Even though Intel calls this Volume Capacity Expansion, I never wanted Volume0 to be expanded, certainly not by 50%. Even though the migration was successfully completed, I wanted to have my system virtual disk untouched, just 50GB big. I planned to only expand Volume1 manually since that is where I hypothetically store my data. After Volume0 migration was completed, Volume1 started migrating and it's size at that point also jumped from 1813 GB to 2719 GB. So before the expansion, they both covered all available array space (50 GB + 1813 GB = 1863 GB) and after the expansion they again both covered all available array space (75 GB + 2719 GB). They both grew by 50%. 25 GB + 906 GB = 931 GB which is the usable space of the added drive.
I then deleted the RAID array and tried it once more with a 3-drive RAID array (1863 GB) but with only one 1000 GB RAID-5 volume (the rest of the array space (863 GB) was left unused). So the volume was taking up 53,7% of all available array space. After adding the fourth drive to this array, the volume size again jumped by 50% to 1500 GB. So this shows a more drastic example. The resulting array was 2795 GB. 1500 GB is 53,7% of that.
By the way, only the volumes get explanded. The partitions on them stay the same size. You just get more unallocated space after the partitions on that volume so you can either extend them with a partitioning tool or you can create a new partition there.
So in these two examples we see how Volume Capacity Expansion works and this is why you can't completely blame them for calling it Volume Capacity Expansion, even though it sucks. Basically when you add a new drive to your array, all the volumes on that array will be proportionally expanded automatically. If you have two volumes on that array, both of them will be expanded to cover the same percentage of array space as before. The problem is that you CAN'T shrink a volume! The only way to go back is to re-create the array from scratch.
That way you can also render your boot volume unbootable! IMSM will not let you perform an expansion of the boot volume you just booted from, if that meant that the end result will resize the volume with the boot partition above 2 TB. But it will allow you to expand a boot volume if you boot Windows from another drive. So if you have a dual boot system and boot from Disk1 and you have the other boot disk/volume (lets say Disk2) in a RAID-0 or RAID-5 array, you can expand that volume beyond the 2 TB mark without getting a warning and so render it unbootable (you will not even see that volume in BIOS anymore so you can't set it as a bootable disk).
The only instance when this behaviour would not pose a problem is if you were using only ONE volume in that array which covered ALL of the array space and if this volume is not a boot volume. Then only this volume would grow but that was what you wanted in the first place anyway if you added the disk to this array. If the volume was a boot volume (if you had for example Windows installed on it) then you would have to stop expanding it beyond 2048 GB.
So the key to planing a good RAID solution on ICH10R with Intel Matrix Storage Manager is to know how it really works otherwise you may face major problems sooner rather than later.