I've just been working on an enhancement for Linux "MD" linear arrays which allows them to be enlanged.
More specifically, a new device (typcially disk drive) can be added to the end of an active linear array now. The size increases accordingly.
You can find patches for mdadm and 2.6.7-rc3-mm1.
It is still a work in progress, as it isn't documented, some of the code doesn't report errors very nicely, and I realised that there is some work needed in md.c with respect to handling new superblocks.
I really should do the new-superblock code in mdadm and get it all tidied up.