The Linux kernel has quite capable software RAID support. In the last year RAID6 support was added. Using RAID6 is similar to RAID5 except that two disks can fail with the array still operational (with RAID5, the second failing disk would kill the array).
Two days ago Linus accepted patches from Neil Brown that allows resizing and growing of online RAID5 device. This functionality will be in the 2.6.17 kernel and will require the use of mdadm v2.4.
Here is an illustration:
1. First create a RAID5 device using three drives (each has a single partition that spans the whole drive):
mdadm -C -l5 -n3 /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1
2. Now add an additional spare drive (initially) and then grow the array to use the four drives:
mdadm /dev/md0 -a /dev/sdd1
mdadm --grow /dev/md0 --raid-disks=4
3. Add three more drives and then grow the array to seven drives:
mdadm /dev/md0 -a /dev/sde1 /dev/sdf1 /dev/sdg1
mdadm --grow /dev/md0 --raid-disks=7
We have a ticket logged in our tracking system to expand our coverage of Linux software RAID in the GL250 class to cover this functionality.