Page suivantePage précédenteTable des matières

8. Annexe D. - RAID 1-10 ide avec initrd

Ceci est un système fait d'un assortiment de petites choses. Le raid monté sur la racine est composé d'un RAID 1 basé sur un ensemble RAID 0 contenant des disques de toutes tailles et une partition plus large. Un examen du fichier lilo.conf vous donnera un meilleur aperçu sur la manière de raisonner sur les différents paramètres.

/dev/md0 est la partition /boot et est amorcée par le noyau
/dev/md1 est une moitié du miroir md2, amorcée automatiquement par le noyau
/dev/hda3 est l'autre moitié du miroir md2
/dev/md2 est le RAID 1 /dev/md1 + /dev/hda3, démarré par initrd
df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/md2                138381     74421     56815  57% /
/dev/md0                  2011      1360       549  71% /boot
# ----------------------------
fdisk -ul /dev/hda
Disk /dev/hda: 8 heads, 46 sectors, 903 cylinders
Units = sectors of 1 * 512 bytes
Device Boot    Start       End    Blocks   Id  System
/dev/hda1            46      4415      2185   fd  Linux raid autodetect
/dev/hda2          4416     43423     19504   82  Linux swap
/dev/hda3         43424    332303    144440   83  Linux native
# ----------------------------
fdisk -ul /dev/hdc
Disk /dev/hdc: 8 heads, 39 sectors, 762 cylinders
Units = sectors of 1 * 512 bytes
Device Boot    Start       End    Blocks   Id  System
/dev/hdc1            39      4367      2164+  fd  Linux raid autodetect
/dev/hdc2          4368     70199     32916   82  Linux swap
/dev/hdc3         70200    237743     83772   fd  Linux raid autodetect
# ----------------------------
fdisk -ul /dev/hdd
Disk /dev/hdd: 4 heads, 39 sectors, 762 cylinders
Units = sectors of 1 * 512 bytes
Device Boot    Start       End    Blocks   Id  System
/dev/hdd1            39    118871     59416+  fd  Linux raid autodetect
# ----------------------------
# raidtab
#
raiddev /dev/md0
raid-level      1
nr-raid-disks   2
persistent-superblock   1
chunk-size      8
device          /dev/hdc1
raid-disk       1
device          /dev/hda1
raid-disk       0
raiddev /dev/md1
raid-level      0
nr-raid-disks   2
persistent-superblock   1
chunk-size      8
device          /dev/hdc3
raid-disk       0
device          /dev/hdd1
raid-disk       1
raiddev /dev/md2
raid-level      1
nr-raid-disks   2
persistent-superblock   1
chunk-size      8
device          /dev/md1
raid-disk       1
device          /dev/hda3
raid-disk       0
# ----------------------------
cat linuxrc
#!/bin/sh
# ver 1.02 2-22-00
#
############# début de 'linuxrc' ###############
#
# montage du système de fichiers proc
/bin/mount /proc
# autostart /boot partition and raid0
# auto-démarrage de la partition /boot et du RAID 0
/bin/raidstart /dev/md2
# Renvoit sur la console ce qui se passe
/bin/cat /proc/mdstat
# Tout va bien, laissons le noyau monter /dev/md2
# On indique au noyau de monter /dev/md2 sur la racine
# La valeur 0x900 est le numéro de périphérique calculé par :
#  256 * numéro majeur de périphérique + numéro mineur de périphérique
echo "/dev/md2 monté comme racine"
echo 0x902> /proc/sys/kernel/real-root-dev
# démontage de /proc pour désallouer le ramdisk utilisé par initrd
/bin/umount /proc
exit
# ----------------------------
contenu de initrd.gz
./bin
./bin/ash
./bin/echo
./bin/raidstart
./bin/mount
./bin/umount
./bin/cat
./bin/sh
./dev/tty1
./dev/md0
./dev/md1
./dev/md2
./dev/md3
./dev/console
./dev/hda
./dev/hda1
./dev/hda2
./dev/hda3
./dev/hdc
./dev/hdc1
./dev/hdc2
./dev/hdc3
./dev/hdd
./dev/hdd1
./dev/hdd2
./dev/hdd3
./dev/initrd
./dev/ram0
./dev/ram1
./dev/ram2
./dev/ram3
./dev/ram4
./dev/ram5
./dev/ram6
./dev/ram7
./etc/raidtab
./etc/fstab
./lib/ld-2.1.2.so
./lib/ld-linux.so.1
./lib/ld-linux.so.1.9.9
./lib/ld-linux.so.2
./lib/ld.so
./lib/libc-2.1.2.so
./lib/libc.so.6
./linuxrc
./proc
# ----------------------------
cat lilo.conf.hda
# SECTION GLOBALE
# périphérique contenant le répertoire /boot
disk=/dev/md2
# geométrie
bios=0x80
cylinders=903
heads=8
sectors=46
# géométrie pour le 2e disque
# le bios doit être le même car il doit être transféré sur hda
#  cylinders=762
#  heads=8
#  sectors=39
# dummy
partition=/dev/md0
# début du périphérique « disque » ci-dessus
start=46
# second périphérique
#  start=39
# il apparaît quelques problèmes avec le noyau 2.2.14
# pour l'attribution de la bonne IRQ
append = "ide1=0x170,0x376,12 ether=10,0x300,eth0 ether=5,0x320,eth1"
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
initrd=/boot/initrd.gz
image=/boot/zImage
root=/dev/md2
label=LinuxRaid
read-only
# ----------------------------
cat lilo.conf.hdc
# SECTION GLOBALE
# périphérique contenant le répertoire /boot
disk=/dev/md2
# geometry
bios=0x80
#  cylinders=903
#  heads=8
#  sectors=46
# géométrie du deuxième disque
# le bios doit être le même car il doit être transféré sur hda
cylinders=762
heads=8
sectors=39
# dummy
partition=/dev/md0
# début du périphérique "disk" ci-dessus
#  start=46
# deuxième périphérique
start=39
# il peut y avoir quelques problèmes avec le noyau 2.2.14 pour l'attribution de la bonne IRQ
append = "ide1=0x170,0x376,12 ether=10,0x300,eth0 ether=5,0x320,eth1"
boot=/dev/hdc
map=/boot/map
install=/boot/boot.b
initrd=/boot/initrd.gz
image=/boot/zImage
root=/dev/md2
label=LinuxRaid
read-only


Page suivantePage précédenteTable des matières