Rootmanual:Linux rootspegel

Från Lysators datorhandbok, den ultimata referensen.
Hoppa till navigering Hoppa till sök

Spegla rootdisken på en redan installerad Linux

Om du redan installerat en Linux på en disk och vill göra den speglad (RAID1) så är det inte svårt. Men det är inte heller trivialt. Håller du inte tungan rätt i mun kan du utplåna din installation istället, så de vanliga råden gäller: Om det inte är en helt ny installation som du kan göra om så ta backup först.


Följande användes för att göra det på lafiel:

Lafiel hade en Debian 5.0-installation med swap på hda1 och resten (/) på hda2. En oanvänd disk på hdc skall bli andra delen av spegeln.

Se till att det snart speglade systemet autodetectas av kärnan

Använd fdisk för att byta typ på /dev/hda2 to "Linux raid autodetect" aka "fd".

Spegla hda:s partitions-information till hdc

# swapoff -a
# sfdisk -d /dev/hda | sfdisk /dev/hdc
# mdadm --zero-superblock /dev/hdc1     (Ifall disken varit inkluderad i annat raidset tidigare)

Skapa md-enheter för / och swap

Vi inkluderar bara hdc i raid-enheterna än så länge för att undvika att skriva över den existerande installationen.

# mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/hdc1
# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/hdc2
# mkswap /dev/md0
# mkfs.ext3 /dev/md1

Spara ner information om enheterna ifall vi behöver det någon gång i framtiden

# mdadm --examine --scan > /etc/mdadm.conf

Kopiera den existerande installationen till den nya RAIDen

# mount /dev/md1 /mnt/
# cp -ax / /mnt/

Boota från RAID-enheten

Editera /etc/fstab: hda1 -> md0, hda2 -> md1

Editera /boot/grub/menu.lst med något liknande det här:

title           Debian GNU/Linux, kernel 2.6.26-2-686 (RAID1) 
root            (hd0,1) 
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/md1 md=/dev/hda2,/dev/hdc2 ro  
initrd          /boot/initrd.img-2.6.26-2-686 

title           Debian GNU/Linux, kernel 2.6.26-2-686 (RAID1 recovery) 
root            (hd3,1) 
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/md1 md=/dev/hdc2 ro  
initrd          /boot/initrd.img-2.6.26-2-686 

Att vara så exlicit med vilka enheter som ingår är inte strikt nödvändigt, men det ger kontroll och överblick om vad som menas.

Addera också

fallback 1

efter

default 0

så att Grub (med en stor portion tur) byter till vårt andra bootentry om det första fallerar.

Kopiera in ändringarna på RAID-enheten:

# cp /boot/grub/menu.lst /mnt/boot/grub/menu.lst
# cp /etc/fstab /mnt/etc/fstab

Boota om och anslut den gamla disken till spegeln

# reboot
...
# mdadm --add /dev/md0 /dev/hda1
# mdadm --add /dev/md1 /dev/hda2

Nu är spegligen färdig och diskarna synkas ihop. Titta på /dev/mdstat för status på synkningen.

Det rekommenderas att man sätter upp ett Nagios-test som kontrollerar att RAIDen mår bra.