Re: install Raid + LVM sur P5GDC
pascal a écrit :
Comme à nouveau personne ne m'a répondu j'ai moins de scrupule à me
répondre et à changer pour revenir à mon pb principal qui est
l'installation LVM + Raid sur une P5GDC "de luxe".
salut,
Mais si on répond, un peu de patience...
bon on va essayer de t'aider, le raid+lvm je connais un peu et ses
galères de boot aussi : ;-)
Résumons t'as 2 disques IDE PATA (hda et hdc) et tu veux faire du
raid1+lvm dessus , c'est bien cela ?
ton probleme avec grub, c'est que grub sait pas bien gérer les device en
raid (enfin d'après mes connaissances de grub) lilo apparemment se
débrouille mieux avec le raid
solution : si c'est du raid-1, tu ne mets pas root=/dev/md0 mais l'une
des partitions qui constitue le raid1 de /boot et de / et pas faire de
LVM sur ces 2 partoches.
question : je vois que tu parles de pb avec un lecteur CD/DVD ? il est
pas branché sur le meme controleur que l'un des 2 disques (ça c'est très
très mauvais raid soft => 1 HD en master par controleur IDE et rien d'autre)
Quand j'installe une machine en raid1 sur une CM "ancienne génération"
(ça marche aussi pour des controleurs SATA souvent vu comme des HD SCSI)
avec 2 controleurs IDE je procède de la manière suivante :
1) je taille les disques **exactement** de la meme manière
2) j'installe une debian mini sur hda avec le CD ROM branché (cette
debian servira de rescue en cas de problème sur la vrai debian raid+lvm)
3) une fois OK, arret machine, je débranche le lecteur CD, je branche le
2e disque (hdc) à la place du lecteur CD, reboot
2) je m'arrange à terme pour mettre grub sur le MBR des 2 disques (si
hda lache il faut pouvoir booter sur hdc)
3) j'evite le plus possible le raid1 et LVM "partout" (notemment / et
/boot) si la machine est pas hyper-critique et accepte un arret pour
changement de disque. de plus mettre /boot et / dans un LVM ne présente
aucun intéret, tu retaille rarement / ou /boot ; je mets 200 Mo pour
/boot et 1-1.5G pour / et c'est largement suffisant
Sinon faut recompiler le noyau pour le support du raid (md) et de LVM et
surtout pas d'initrd (en plus avec la disparition de devfs utilisé par
LVM au profit de udev, je nage un peu là...)
Voici une config que j'ai fait y a qques temps pour une machine de tests
de vservers
1 PC athlonXP avec 2 HD IDE/PATA 80Go (donc vu comme hda et hdc)
Découpage des disques
hda1, hdc1 = swap (512 Mo x 2)
hda2, hdc2 = linux rescue (2 fois) (1 Go x 2)
hda5, hdc5 = /dev/md0 = /boot (200 Mo x 2)
hda6, hdc6 = /dev/md1 = / (1 Go x 2)
hda7, hdc7 = /dev/md2 = /dev/vg0 (LVM de ~ 75 Go) => pour /usr, /tmp
/home, /var /root tout ça en LV avec de la marge , j'ai pas tout alloué
étape 1) install debian "rescue"
--------------------------------
=> but éviter de devoir booter sur un live CD, et avoir un linux
"rescue" sous la main en cas de pépin
install classique + paquets lvm2, mdmadm, reiserfsprogs etc autres
outils systeme/reseau
Donc on a une debian sur hda2, le swap sur hda1 et hdc1, on installe
grub sur hda
étape 2) création des 3 raid1 (on est sous la debian "rescue")
--------------------------------------------------------------
=> mdadm --create ....
pas oublier de générer le /etc/mdadm/mdadm.conf avec la commande
# mdadm --detail --scan >> /etc/mdadm.conf
[root@maggie:~]# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5] [multipath] [faulty]
md1 : active raid1 hdc6[1] hda6[0]
1461760 blocks [2/2] [UU]
md2 : active raid1 hdc7[1] hda7[0]
75039488 blocks [2/2] [UU]
md0 : active raid1 hdc5[1] hda5[0]
192640 blocks [2/2] [UU]
[root@maggie:~]# cat /etc/mdadm/mdadm.conf
DEVICE partitions
ARRAY /dev/md2 level=raid1 num-devices=2
UUID=71b3bfb5:fac1a1e3:471eef35:7fc3992b
devices=/dev/hda7,/dev/hdc7
ARRAY /dev/md1 level=raid1 num-devices=2
UUID=cd4ade31:c36a6e13:0b27d47e:ab4284fb
devices=/dev/hda6,/dev/hdc6
ARRAY /dev/md0 level=raid1 num-devices=2
UUID=613c60aa:f45bbfda:e7ad05a1:b758c957
devices=/dev/hda5,/dev/hdc5
MAILADDR raidmaster
là on reboot pour voir si les 3 raid1 sont bien montés automatiquement
avec mdadm -F (cf /etc/init.d/mdadm) => faire un cat /proc/mdstat
3) installation de LVM "à la main" sur /dev/md2 :
-----------------------------------------------
Création du volume group vg0 :
# pvcreate /dev/md2
# vgcreate -A n vg0 /dev/md2
Création des volumes logiques (LV) :
# lvcreate -A n -L300 -n lvtmp vg0
# lvcreate -A n -L500 -n lvroot vg0
# lvcreate -A n -L1500 -n lvusr vg0
# lvcreate -A n -L1500 -n lvvar vg0
# lvcreate -A n -L10000 -n lvhome vg0
Formatage des partitions (ext3 partout sur cette machine) :
mkfs.ext3 -m1 -Lboot /dev/md0
mkfs.ext3 -m1 -Lroot /dev/md1
mkfs.ext3 -m1 -Ltmp /dev/vg0/lvtmp
mkfs.ext3 -m1 -Lhome /dev/vg0/lvroot
mkfs.ext3 -m1 -Lusr /dev/vg0/lvusr
mkfs.ext3 -m1 -Lvar /dev/vg0/lvvar
mkfs.ext3 -m1 -Lhome /dev/vg0/lvhome
on reboot, on prend tjs la debian "rescue" sur hda2 et on vérifie que le
LVM est OK
# vgdisplay -v
etape 4)
Transfert du systeme debian de base de hda2 -> devices md0,md1 et le LVM
-------------------------------------------------------------------------
# cd /mnt
# mkdir fs
# mount /dev/md1 /mnt/fs
# mount /dev/md0 /mnt/fs/boot
# cd /mnt/fs
# mount /dev/vg0/lvtmp tmp
# mount /dev/vg0/lvroot root
# mount /dev/vg0/lvusr usr
# mount /dev/vg0/lvvar var
# mount /dev/vg0/lvhome home
# mount
/dev/hda2 on / type ext3 (rw,errors=remount-ro)
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)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/md1 on /mnt/fs type ext3 (rw)
/dev/md0 on /mnt/fs/boot type ext3 (rw)
/dev/mapper/vg0-lvtmp on /mnt/fs/tmp type ext3 (rw)
/dev/mapper/vg0-lvroot on /mnt/fs/root type ext3 (rw)
/dev/mapper/vg0-lvusr on /mnt/fs/usr type ext3 (rw)
/dev/mapper/vg0-lvvar on /mnt/fs/var type ext3 (rw)
/dev/mapper/vg0-lvhome on /mnt/fs/home type ext3 (rw)
Recopie de la debian "rescue" vers la debian de "production" :
# cp -avx / . &
Ensuite modifie le fichier /mnt/fs/etc/fstab pour coller à cela :
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/md1 / ext3
usrquota,grpquota,errors=remount-ro 0 1
/dev/md0 /boot ext3 defaults 0 0
/dev/mapper/vg0-lvroot /root ext3 defaults 0 0
/dev/mapper/vg0-lvtmp /tmp ext3 defaults 0 0
/dev/mapper/vg0-lvusr /usr ext3 defaults 0 0
/dev/mapper/vg0-lvvar /var ext3 defaults 0 0
/dev/mapper/vg0-lvhome /home ext3 rw,usrquota,grpquota 0 0
/dev/hda1 none swap sw 0 0
/dev/hdc1 none swap sw 0 0
/dev/hda2 /mnt/rescue ext3 defaults 0 0
Ensuite on modifie /boot/grub/menu.lst, ajout :
title raid1+lvm2 (boot=hda5,root=md1)
root (hd0,4)
kernel /vmlinuz-2.6.8-2-386 root=/dev/md1 ro
initrd /initrd.img-2.6.8-2-386
bon ici j'avais déjà recompilé un kernel avec en dur le support du raid,
du fs ext3 etc etc pour pas m'embeter avec mkinitrd
sinon tu peux mettre
title raid1+lvm2 (boot=hda5,root=hda6)
root (hd0,4)
kernel /vmlinuz-2.6.8-2-386 root=/dev/hda6 ro
initrd /initrd.img-2.6.8-2-386
t'es en raid1 donc ce qu'il y a sur hda6 = ce qu'il y a sur hdc6 pas =>
besoin de s'embeter avec root=/dev/md1 dans le boot grub
etape 5) rebooter et prier
tu choisis l'entrée grub correpondant à ton raid+lvm
Conseils :
1) ici tout est en raid-1 (/, /boot et le LVM), j'avoue que maintenant
quand j'ai pas bcp de temps je ne fais plus qu'un seul raid1 (le LVM) et
je rsync ou dd regulièrement via un cron /boot de hda5 --> hdc5 et / de
hda6 vers hdc6 qui sont des partoches "classiques"
mais bon éviter surtout LVM sur /boot et / je pense, comme je l'ai dit :
aucun intéret et bcp bcp de galères pour pas grand chose : a 100 euro
les 200G, ca me dérange pas de "perdre" de 1.5 Go pour /boot et / du
moment qu'ils sont synchro sur les 2 HD
2) bien mettre grub également sur le 2e disque (hdc)
et avoir des entrées grub qui permettent de booter indifféremment sur
hda ou hdc (donc dupliquer chaque entrée grub)
Ne pas oublier que le grub a été installé intialement par la debian
rescue (hda2) donc les modifs sont a faire dans le fichier menu.lst de
cette partoche ou alors re-installer grub une fois la debian "production
raid1+lmv2" opérationnelle
3) bien dupliquer régulièrement les partoches non RAID1 entre hda et hdc
et surtout installer grub sur le 2e disque si hda crame => plus de boot
possible sauf à remettre un lecteur CD alors qu'avec un grub
opérationnel sur hdc, on débranche hda, on change de nappe et zou on
redémarre en mode dégradé (après au calme, on remet un disque neuf, et
on reconstruit les 3 raid1 et on remet tout de suite un grub sur le
nouveau disque)
rem : cela m'est déjà réellement arrivé sur cette machine (un des 2
disque 80Go a lâché, hda en plus), et ben là méthode elle fonctionne et
j'ai pu reconstruire tranquille au soir le raid avec un disque neuf et
j'ai rien paumé !
Voilà, j'espère avoir été clair et surtout que ça aide....
--
Arnaud
Reply to: