NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.
Forum Discussion
Valpskott
Feb 16, 2012Aspirant
Suggestion for x-raid3
This is a suggestion for a hopefully smarter utilization of disks-arrays of disks of different sizes.
Say that I have 3 disks of 1 TB each. I buy a 3 TB disk and put it into the empty slot, after syncing is done my NAS(with x-raid2) will only use 1 TB of those 3 TB on the new disk.
Now this 3 TB disk is just as much as the three 1 TB disks together. So it could just as well provide all of the redundancy for the other 3 disks combined.
Now, picture this setup.
2 x 1 TB
2 x 3 TB
X-raid2 will utilize all disks as if they where 1 TB, but if we clustered the two 1 TB disks into something like a Raid0-array, it would treat it as 2 TB worth of storage, and thus we could use 2 TB out of the two 3 TB disks. It would mean 1 TB extra storage.
Or instead of makin sub-arrays, why not just use the smaller disks only for redundancy.
Another example.
Lets say I have 3 x 1 TB disks in my ReadyNAS Ultra 4... and I have a 500 GB disk laying around. Putting that disk into a x-raid2 setup would reduce the size of the array so that only 500 GB would be used on each disk. That is, in the current system, adding storage would acctually reduce storage. The total amount of redundancy of a 3 x 1 TB system is 1 TB, so why not put half of that redundancy on the 500 GB disk.
Now this was only 3 examples where combining some disks in their own separate sub-clusters or using some disks for redundancy only, would be beneficial to the overall storage-size of the NAS. It would be easy to make an algorithm that would calculate the optimal use of disks by these methods.
Some possible drawbacks would be...
In the case of using one disk solely for the purpose of redundancy(only mirroring data from other disks), it would probably constitute a bottleneck in speed performance.
Some disk-setups might be impossible to achieve the optimal (size) setup from automatic rebuilding/syncing if the current data on the array exceeds a certain size.
Say that I have 3 disks of 1 TB each. I buy a 3 TB disk and put it into the empty slot, after syncing is done my NAS(with x-raid2) will only use 1 TB of those 3 TB on the new disk.
Now this 3 TB disk is just as much as the three 1 TB disks together. So it could just as well provide all of the redundancy for the other 3 disks combined.
Now, picture this setup.
2 x 1 TB
2 x 3 TB
X-raid2 will utilize all disks as if they where 1 TB, but if we clustered the two 1 TB disks into something like a Raid0-array, it would treat it as 2 TB worth of storage, and thus we could use 2 TB out of the two 3 TB disks. It would mean 1 TB extra storage.
Or instead of makin sub-arrays, why not just use the smaller disks only for redundancy.
Another example.
Lets say I have 3 x 1 TB disks in my ReadyNAS Ultra 4... and I have a 500 GB disk laying around. Putting that disk into a x-raid2 setup would reduce the size of the array so that only 500 GB would be used on each disk. That is, in the current system, adding storage would acctually reduce storage. The total amount of redundancy of a 3 x 1 TB system is 1 TB, so why not put half of that redundancy on the 500 GB disk.
Now this was only 3 examples where combining some disks in their own separate sub-clusters or using some disks for redundancy only, would be beneficial to the overall storage-size of the NAS. It would be easy to make an algorithm that would calculate the optimal use of disks by these methods.
Some possible drawbacks would be...
In the case of using one disk solely for the purpose of redundancy(only mirroring data from other disks), it would probably constitute a bottleneck in speed performance.
Some disk-setups might be impossible to achieve the optimal (size) setup from automatic rebuilding/syncing if the current data on the array exceeds a certain size.
12 Replies
Replies have been turned off for this discussion
- mdgm-ntgrNETGEAR Employee RetiredX-RAID2 is fine. Not even sure if what you want is possible. X-RAID2 uses standard RAID levels (good for recovery of data using a x86 linux box if needed as a last resort).
Take your first example. 3x1TB + 1x3TB. You'll get a volume of 3TB (before overheads, measurement discrepancy etc.).
Take your second example. With 2x3TB disks the volume will utilise the full capacity of the 3TB disks. X-RAID2 is redundant RAID. With one 3TB disk there was nowhere to have a redundant copy of 2TB of the data on the disk. But with two there is. So the volume will expand to 5TB (before overheads, measurement discrepancy etc.). After the resync completes a reboot or two may be needed before vertical expansion takes place (wait 5-10 minutes between each reboot).
Take a look at X-RAID2 in Action
Welcome to the forum! - ValpskottAspirantI'm not saying X-RAID2 is anything but fine, I'm suggesting there is room for improvements.
I realize that my first example was a bad example because it fails to illustrate an advantage. Moving on to the second example.
"With one 3TB disk there was nowhere to have a redundant copy of 2TB of the data on the disk. But with two there is. So the volume will expand to 5TB (before overheads, measurement discrepancy etc.)"
That is not correct. 2x3TB disks would amount to 3 TB of total volume capacity (X-RAID2 is equal to standard RAID1 in this scenario). This is clearly demonstrated in the X-RAID2 IN ACTION link you provided. That is, 2 disks of the same size will not add any volume capacity, the second disk will only provide redundancy.
The second example has 2x1TB + 2x3TB. X-RAID2 would treat every disk as if they where 1TB, which would amount to a total of 3TB in volume capacity. Ditching the 2x1TB disks, and only using the 2x3TB disks, X-RAID2 would still only get 3TB of volume capacity, cause the disks would simply mirror each other for redundancy.
What I am proposing (calling it X-RAID3) is that if you make a sub-array out of the 2x1TB disks, that is, treating 2x1TB disks as a single 2TB disk (raid0). And using the 2x3TB disks as if they where 2x2TB disks, we would in theory have 3x2TB disks. This would amount to a total of 4TB of volume capacity, which is 1TB more than X-RAID2 is able to get. - mdgm-ntgrNETGEAR Employee RetiredHere's how X-RAID2 works with 2x1TB and 2x3TB disks
There is a RAID-5 layer of 4x1TB giving 3TB of space, and a RAID-1 layer of 2x2TB giving 2TB of space. This gives 5TB of space in total. Of course disk manufacturers consider 1TB = 1000^4 bytes whereas the NAS like most computers considers 1TB = 1024^4 bytes. So 5000*1000^3/1024^3 = 4657GB (roughly). There are of course overheads as well.
If you have not got the expansion you expected (still have less than 3TB of space) please take a look at What To Do When Expansion Doesn’t Start
X-RAID(1) found on Sparc ReadyNAS only uses the capacity of the smallest disk. X-RAID2 (found on x86 and ARM ReadyNAS) is how I described above. - sphardy1Apprentice@Valpskott
There may always be a more optimal redundancy setup based on a specific combination of disks but X-RAID2 is not designed to be always the most optimal from a volume capacity perspective, it is designed to be expandable (X-RAID = eXpandable RAID) but without putting your data at risk during the expansion.
Considering that and your original 3 examples:
The 1st scenario is a unique case that only works when the 4th drive added is 3X the capacity of each of the other drives - it is not expandable to other disk combinations and so changing one of the 4 disks would require a complete restructuring of the array and so putting your data at risk which is contrary to the aim of X-RAID.
The 2nd scenario, your understanding of how X-RAID treats that configuration is wrong as the NAS already accommodates that type of configuration as @mdgm describes in the post previous to this one
The 3rd scenario, your assumption that the volume capacity will be decreased is also wrong - that never happens as what would you expect to happen to the data already on there? - ValpskottAspirantThanks for clarifying, I watched the animation again and it finally sunk in. I stand corrected. In my 2nd example, X-RAID2 would be better than what I suggested.
The reason I suggested this was not that my NAS didn't expand like I expected, as of right now, I only have 3x1TB disks, and is looking to buy some 3TB disks, but was under the impression that I had to exchange all the disks before there was any more space added to the volume capacity. - ValpskottAspirant@sphardy
Didn't see your post until I was finished writing mine. But also, thanks for taking your time to answer.
Anyway, to see if I understand this now. I have 3x1TB disks at the moment. If I put a 500 GB disk in the forth slot, will I gain 500 GB?
(not taking 1000^3/1024^3-thingie or overhead into account) - mdgm-ntgrNETGEAR Employee RetiredYou cannot add smaller capacity disks to an existing array. So you'd need to add a 1TB or greater capacity disk.
- PapaBear1ApprenticeValpskott - I for one can absolutely, positively certify that the second condition you posted will work exactly as mdgm and sphardy have posted. I have two NVX (32 bit x-86 based) units running X-Raid2. When initially set up, they were running 4x1TB drive sets. One was acting as the rsync backup target of the other. Then I started running out of room.
mdgm wrote:
There is a RAID-5 layer of 4x1TB giving 3TB of space, and a RAID-1 layer of 2x2TB giving 2TB of space. This gives 5TB of space in total. Of course disk manufacturers consider 1TB = 1000^4 bytes whereas the NAS like most computers considers 1TB = 1024^4 bytes. So 5000*1000^3/1024^3 = 4657GB (roughly). There are of course overheads as well.
If you have not got the expansion you expected (still have less than 3TB of space) please take a look at What To Do When Expansion Doesn’t Start
X-RAID(1) found on Sparc ReadyNAS only uses the capacity of the smallest disk. X-RAID2 (found on x86 and ARM ReadyNAS) is how I described above.
Then, being acquainted by the fact that X-Raid2 will utilize the available space once it has space for the redundancy, purchased 5 3TB drives, 2 for each NVX and 1 for a spare. I replaced the first 1TB drive in my backup unit and let it resync knowing it would not gain any volume. I then replaced the second 1TB drive and allowed it to complete the resync. At this point I had 2x1TB and 2x3TB and was still at 2.7GB of space (3TB less the overhead). Fully expecting this, I then performed the required reboot to trigger the vertical expansion. It took a while (slower than a resync, because the system is making sure data is preserved), but when it finished I was rewarded with a volume of 4.5TB (the 5TB gross that is indicated in the above quote less the overhead). Several days later, I repeated the process with my primary NVX.
If you are currently at 3x1TB and needing more than the 1.8TB (net) volume you have, moving to a 3TB drive in the fourth position will at least expand you to 2.7TB (net). Then when you need further expansion, adding a second 3TB to replace one of the 1TB will gain you the extra 1.8TB (net) of space. - ValpskottAspirantSo, 3x1TB + 1x500GB wouldn't result in a RAID-5 layer of 4x500GB and a RAID-5 layer of 3x500GB?
(About a 2x1TB + 2x3TB setup)mdgm wrote:
There is a RAID-5 layer of 4x1TB giving 3TB of space, and a RAID-1 layer of 2x2TB giving 2TB of space. - sphardy1ApprenticeAgain note that X-RAID is expandable, but to expand you must install disks that are the same size or larger than those already installed
Therefore if you started with 3 x 1TB disks, adding the 500GB drive would not expand the array as it would require a complete restructuring of how the data is arranged across the array. But if you first installed the 500GB disk and then the 3 x 1TB, yes you would get what you describe as expansion is via adding the additional "stripe" and doesn't require the existing data to be touched.
Related Content
NETGEAR Academy
Boost your skills with the Netgear Academy - Get trained, certified and stay ahead with the latest Netgear technology!
Join Us!