I currently have a 3 disk RAID5, all are 400GB WD SATA drives, on an Areca RAID controller. One of the drives has recently gone bad, leaving the array in a degraded state. If I replace the bad drive with, say, a 500GB drive, and then restore the array, will it still have the same size, or will it automatically grow larger?
Part two of this question: what if I then upgrade each disk one at a time, and restore the array each time?
The array will only use 400GB of the 500GB available on the new drive. AFAIK you cannot replace the drives one at a time with 500GB drives to make the array larger. You'll need to rebuild the array from scratch unless the RAID controller manufacturer has a method or utility for expanding the size of the array.
If you had been running Linux software raid, the answer would have been yes.
Yes, I know this isn't helping.
Sorry, I can't comment yet. The answer is yes and no. yes you can rebuild without losing data, but only to the previous 400 GB size. If you want to expand the array to 500 GB you need to build a new with the 500GB disks. You can still keep your old 400Gb array but you cant access it without another raid controller, or of you unplug and swap the arrays on the controller everytime you want the other data (which should work but probably will make you array fail again).
I would recomend buying a 1TB external drive that you can copy your old data to, then build a new array with the 500GB disks and copy the important data from the external drive to the new arrary. That way, you don't need to unplug and replug internal hard drives everytime you want old data, and you have a new external hard drive you can use for other things that you might need to do someday.