Installare mdadm:
%%prettify 
{{{
apt-get install initramfs-tools mdadm
}}}
/%

Se non si vuole riavviare bisogna caricare questi moduli kernel:
%%prettify 
{{{
modprobe md
modprobe linear
modprobe multipath
modprobe raid0
modprobe raid1
modprobe raid5
modprobe raid6
modprobe raid10
}}}
/%

Copiare le partizioni dal disco origine al nuovo disco ad esempio:
%%prettify 
{{{
sfdisk -d /dev/sda | sfdisk /dev/sdb
}}}
/%

Dopo aver controllato che entrambi i dischi hanno lo stesso layout bisogna cambiare il tipo di partizione sul disco nuovo mettendole a linux raid autodetect:
%%prettify 
{{{
fdisk /dev/sdb

Command (m for help): <-- t
Partition number (1-4): <-- 1
Hex code (type L to list codes): <-- fd

eseguire questi comandi per tutte le partizioni del disco nuovo
(cambiando numero di partizione ovviamente!!)
}}}
/%

Se devo eliminare precedenti installazioni RAID dal disco:
%%prettify 
{{{
mdadm --zero-superblock /dev/sdb1 
per tutte le partizioni su sdb
}}}
/%

Creiamo quindi gli array RAID uno per ogni partizione:
%%prettify 
{{{
mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1
}}}
/%

Creiamo il filesystem sul RAID ad esempio un ext3 ed una swap:
%%prettify 
{{{
mkfs.ext3 /dev/md0
mkswap /dev/md1
}}}
/%

Ricreiamo la configurazione del RAID:
%%prettify 
{{{
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
}}}
/%

Montiamo gli array con:
%%prettify 
{{{
mkdir /mnt/md0
mkdir /mnt/md2

mount /dev/md0 /mnt/md0
mount /dev/md2 /mnt/md2
}}}
/%

Modifichiamo fstab per inserire il raid sostituendo le varie partizioni sda:
%%prettify 
{{{
vi /etc/fstab
}}}
/%

%%prettify 
{{{

Esempio di file fstab modificato:

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/md2       /               ext3    defaults,errors=remount-ro 0       1
/dev/md0       /boot           ext3    defaults        0       2
/dev/md1       none            swap    sw              0       0
/dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0
}}}
/%

facciamo la stessa cosa sul file /etc/mtab

A questo punto modifichiamo le entry in GRUB:

%%prettify 
{{{
vi /boot/grub/menu.lst
}}}
/%

E aggiungiamo fallback 1 dopo default 0. 
Copiamo una entry del kernel e mettiamola come prima istanza sostituendo root=/dev/sdaN with root=/dev/mdN e root (hd0,0) con root (hd1,0).

Per aggiornare il nostro ramdisk alla situazione attuale lanciamo:
%%prettify 
{{{
update-initramfs -u
}}}
/%

Copiamo tutti i file dal disco sorgente al disco nuovo ad esempio:

%%prettify 
{{{
cp -dpRx / /mnt/md2
}}}
/%


Installiamo GRUB sul disco nuovo:
%%prettify 
{{{
grub

root (hd0,0)

setup (hd0)

root (hd1,0)

setup (hd1)

quit
}}}
/%

A questo punto è possibile effettuare un reboot.

Quando la macchina torna su bisogna effettuare ancora alcuni passaggi per aggiungere il disco origine all'array.
Cambiare il tipo di partizione in tutte le partizioni del disco origine.
%%prettify 
{{{
fdisk /dev/sda

Command (m for help): <-- t
Partition number (1-4): <-- 1
Hex code (type L to list codes): <-- fd
}}}
/%

quindi aggiungere le partizioni al raid:
%%prettify 
{{{
mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda2
mdadm --add /dev/md2 /dev/sda3
}}}
/%

A questo punto il software RAID ricostruirà l'array che tornerà nello stato optimal.
Come ultimo passaggio bisogna rendere avviabile anche il secondo disco da GRUB questo è molto semplice basta aggiungere un kernel con hd0.
Quindi bisogna aggiornare la configurazione di mdadm:
%%prettify 
{{{
cp /etc/mdadm/mdadm.conf_orig /etc/mdadm/mdadm.conf
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
}}}
/%

Il sistema è ora funzionante con un raid software RAID-1.

Le informazioni sono state prese da: [How To Set Up Software RAID1 On A Running System (Incl. GRUB Configuration)|http://www.howtoforge.com/software-raid1-grub-boot-debian-etch]


Start demone controllo stato raid

%%prettify 
{{{
cat /proc/mdstat

Personalities : [raid1] [raid0] [raid6] [raid5] [raid4]
md1 : active raid1 sdb2[2] sda2[0]
      3212988 blocks super 1.0 [2/2] [UU]
      bitmap: 0/7 pages [0KB], 256KB chunk

md0 : active raid1 sdb1[2] sda1[0]
      140158988 blocks super 1.0 [2/2] [UU]
      bitmap: 3/134 pages [12KB], 512KB chunk

unused devices: <none>

}}}
/%

Restituisce stato del raid sulle varie partizioni. Devono essere entrabmi nello stato UU\\
Per far partire il demone per il controllo automatico delllo stato del raid e aggiugerlo nei servizi in autostart

%%prettify 
{{{
mdadmd start
sysv-rc-config 
}}}
/%
Questo servizio invierà una mail a root in caso di malfunzionamneto del raid.