That is the question.
Many things are technically possible in this world, but that doesn’t always mean they are a good idea. My motorbike is good for > 250km/h, but it’s not something I do without first thinking very hard about my licence and the nagging I’m going to get if I end up in jail.
The same goes for expanding an array. Yes, array expansion is technically possible and works just fine in the right situations, but at times you have to ask yourself … is this a good idea?
Recently a customer of mine was thinking of purchasing a 24-port RAID card to make a very large archive server. The immediate thought process was to start with 12 disks in a RAID 6, then over a period of time add 2-3 drives and expand the array to encompass the new disks.
This would mean at least 4 raid expansion processes during the life of the server. Yes, this is possible, but no, it’s not really recommended.
During an array expansion things can and sometimes do go wrong. Now if a drive fails, that’s not so much of a problem. The expansion will finish and the array will be in a degraded state. But if you have major power outages or other unforseen problems (like a bunch of disks playing up because they are having to work hard for the first time in their lives) there is the possibility of things going completely pear-shaped.
Now if you are doing 2-drives out to 3 drives, or if you are doing 4-drives out to 6 drives, I’d be comfortable living with that sort of sizing arrangement. But if you have 12 x 2tb sata drives and are adding another 4 then your timeframe for the expansion is going to be very, very large. Depending on how large the load is on the server this could take 3-4 days.
While it will work, that’s 3-4 days where you risk something going wrong and causing you major headaches. I’m a strong believer in Murphy’s Law (what can go wrong will) so this would concern me greatly.
I personally think you would be better off buying another 12 drives, migrating your data to another server or devices, then blowing the existing server away, building a new array on 24 drives (and I’d probably go for a RAID60 on that number of drives) then putting your data back on the server.
Then again, I tend to worry more than others. It does, however, bear thinking about when doing expansions on very, very large arrays – is it really worth it?