Ma pierre à l'édifice pour la partie Linux.
J'utilisais ça avec du bête IDE pour la flexibilité.
Depuis les noyaux 2.4, il est possible d'utiliser LVM (Logical Volume Manager), qui, à la manière du RAID, te permet de créer des groupes de volumes (partition x sur disque a + partition y sur disque b) que tu peux ensuite agrandir/diminuer au besoin.
Ensuite tu crée des volumes logiques ds tes groupes de volumes, et c'est ces derniers que tu utiliseras comme partition.
Exemple chez moi:
[root@senso-rezo]:~# mount 17:52
/dev/hda1 on / type reiserfs (rw,notail)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/mapper/lvm-home on /home type reiserfs (rw)
/dev/mapper/lvm-tmp on /tmp type reiserfs (rw)
/dev/mapper/lvm-usr on /usr type reiserfs (rw)
/dev/mapper/lvm-var on /var type reiserfs (rw)
Ici, j'ai un groupe de volume nommé lvm, et 5 volumes logiques: home,tmp,usr et var ainsi que le swap.
Debian permet d'utiliser LVM directement à l'installation depuis le passage au nouvel installeur.
Ensuite, quand tu rajoutes un disque à ton array, en faisant un fdisk dessus, tu vas très certainement te retrouver avec de l'espace inoccupé. Tu crée une nouvelle partition à laquelle tu assignes le type LVM.
Ensuite la commande vgextend te permet d'ajouter cette nouvelle partition à ton groupe de volume, puis la commande lvextend te permet d'étendre le volume logique de ton choix.
Passé cette étape, tu te retrouveras avec une "partition" plus grande que le système de fichier dessus. Il ne te reste plus qu'à étendre le système de fichier ce qui se fait encore uen fois très simplement grace aux commandes resize_e2fs ou resize_reiserfs en fonction de ton système de fichier.
Attention, cela n'est tout de même pas sans risques ...