Installare mdadm:
apt-get install initramfs-tools mdadm
Se non si vuole riavviare bisogna caricare questi moduli kernel:
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:
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:
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:
mdadm --zero-superblock /dev/sdb1 per tutte le partizioni su sdb
Creiamo quindi gli array RAID uno per ogni partizione:
mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1
Creiamo il filesystem sul RAID ad esempio un ext3 ed una swap:
mkfs.ext3 /dev/md0 mkswap /dev/md1
Ricreiamo la configurazione del RAID:
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig mdadm --examine --scan >> /etc/mdadm/mdadm.conf
Montiamo gli array con:
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:
vi /etc/fstab
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:
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:
update-initramfs -u
Copiamo tutti i file dal disco sorgente al disco nuovo ad esempio:
cp -dpRx / /mnt/md2
Start demone controllo stato raid
# 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
# mdadmd start # sysv-config