Ik ben al een tijdje bezig met raid configureren op een debian-bak, maar ik krijg het niet voor elkaar. Ik wil het niet opgeven, want mijn mail/web/ftp-server wil ik ook op debian laten draaien met ondersteuning van raid1. Tevens ben ik niet zo vemogend om 2 hardware raid-controllers aan te schaffen.
Ik heb, met dank aan Sjoerd Hooft, een howto gekregen. Hierin mis ik wat punten. Ik heb wat vragen onderaan tekst neergezet waar ik nog geen antwoord op heb. Er zijn wat url's, aanpassingen en aantekeningen in verwerkt.
nu heb ik een vraag of jullie mee kunnen helpen om een duidelijke stap voor stap nederlandse howto ervan te brouwen. Dit scheelt weer voor onze toekomstige debiangebruikers
Ik denk dat ik maar de inhoud van de howto hieronder sleurt en pleurt;
*******************RAID1 op DEBIAN************************
Als eerste; Kijk naar de vragen die horen bij de nummers, bv. (1)
Zelf ben ik begonnen met een rescue-floppy te maken die de hpt374-controller in de kernel ondersteund. Om zelf een kernel te compileren, die jouw ide/scsi-controller ondersteund en een rescue-floppy ervan te bakken, volg eerst de stappen in volgende url’s:
Kernel compileren;
http://www.linuxfocus.org...July2002/article252.shtml
http://doc.nl.linux.org/HOWTO/Kernel-HOWTO-NL.html
Lees de README in de kernel-package!
kernel-image in rescue-flop gooien, kijk ook naar hoe de modules op flop kunnen worden zetten;
http://www.debian.org/rel...t-floppy-techinfo.en.html
of gebruik aangepaste flops en boot-cd;
http://www.physik.tu-cottbus.de/~george/debian-xfs/#netinst
Om raid op een debian systeem te kunnen draaien moeten een aantal modules mee worden gecompileerd in de kernel; software-raid en type raid-arrays die gebruikt gaan worden. Vaak is het voldoende om deze modules te installeren via apt-get install en vervolgens weer op te starten.
[supuser@gerdien etc]$ cat modules
# /etc/modules: kernel modules to load at boot time.
#
# This file should contain the names of kernel modules that are
# to be loaded at boot time, one per line. Comments begin with
# a "#", and everything on the line after them are ignored.
usb-ohci
input
usbkbd
keybdev
eepro100
lvm-mod
raid1
Anders kun je ze gewoon in de modules config file zetten.
Allereerst zet je de twee disks die de RAID moeten gaan doen op de primaire aansluiting van de twee controllers. Hiermee creëer je hda en hdc. Je CD-ROM speler kan het best op de secundaire aansluiting van je eerste controller. Bedenk dat 2 ide- hardeschijven op een ide-channel een slechte performance geven. Koop voor een paar euro een extra IDE-controller, ook met oog op uitvallen van een controller.
De IDE-configuratie is nu bijvoorbeeld als volgt:
IDE 0
- Primary: hda
- Secundary: CD-rom
IDE 1
- Primary: hdc
- Secundary: leeg
Verricht een normale linux installatie, maar let wel op volgende; installeer linux op je hdc en niet op je hda. Vervolgens kun je het partitie id van hda aan gaan passen naar fd (linux raid autodetect). Dit wordt met het commando cfdisk gedaan ; cfdisk /dev/hda. /dev/hdc zal gebruikt gaan worden voor de installatie en er moet niet gekozen worden voor fd (linux raid autodetect). Gebruik bv id 83 en 82. (linux en linux swap)
Loop als gewend door dbootstrap en reboot het systeem. Na de reboot hoeft er niet door taskel en dselect gelopen te worden, Just no.
Installeer nu de volgende tools dmv. apt-get install
raidtools2
(mdadm)
vim
less
screen
reiserfsprogs ( bij gebruiken van reiserfs)
Maak nu de Maak nu de raidtab configuratiefile aan in /etc dmv. vim raidtab.
Zie:
Raidtab kan er als volgt uitzien ;
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
persistent-superblock 1
device /dev/hda1
raid-disk 0
device /dev/hdc1
failed-disk 1
raiddev /dev/md1
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
persistent-superblock 1
device /dev/hda2
raid-disk 0
device /dev/hdc2
failed-disk 1
raiddev /dev/md2
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
persistent-superblock 1
device /dev/hda3
raid-disk 0
device /dev/hdc3
failed-disk 1
N.B. Bovenstaand file is de uiteindelijke versie zoals bedoeld bij een volledig werkend raid. Bij het instellen van RAID zet je in plaats van raid-disk failed-disk neer.
Nu moet de partitie-id van de tweede harde schijf worden aangepast naar fd; linux raid autodetect. Dat geneurt mbv. cfdisk: cfdisk /dev/hdc
Nu kun je de raid devices aanmaken:
• Console: mkraid /dev/md0
• Console: mkraid /dev/md1
• Console: mkraid /dev/md2
Nu heb je de eerste belangrijke stap gedaan, je hebt raid devices aangemaakt. Nu moet je nog gaan zorgen dat deze te gebruiken zijn.
• Console: mke2fs /dev/md0
o Hiermee worst het ext2 bestandssysteem gemaakt waarvanaf geboot wordt
• Console: mkreiserfs /dev/md1
o Hiermee maak je het reiserfs bestandssysteem aan waar het merendeel van de installatie van debian op draait.
• Console: mkswap /dev/md2
o Hiermee wordt het swap systeem aangemaakt
Vanaf hier zijn mijn aantekeningen niet zo duidelijk meer, dus hou er rekening mee dat er soms iets niet kan kloppen.
Nu worden alle md devices waar echt vanaf wordt gewerkt gemount in een mountpoint, in dit geval /mnt. In ons geval wordt dus alleen /dev/md1 gemount:
• Console: mount /dev/md1 /mnt (1)
Nu moet alle data die je hebt geïnstalleerd op hdc gekopiëerd worden naar je md device. Als het goed is, is je md device nu nog leeg, en moet deze zometeen precies gelijk zijn aan je huidige hdc3. Dit doe je met het commando cp –a:
• Console: cp –a /bin /mnt
o Als het goed is wordt nu de map /mnt/bin aangemaakt en daar alle data naar toe gekopiëerd.
• Dit herhaal je met elke map op hdc2 behalve:
o proc
o mnt
o cdrom
o floppy
• Ook moet je de bestanden die direct in de root staan kopiëren.
De bovenstaande mappen kun je handmatig aanmaken op je md device met het commando: mkdir <dirnaam> (2)
Nu ga je de proc directory die draait op hdc3 binden aan de nieuwe proc directory op je md device: mount --bind /proc /mnt/proc
Nu verander je je root directory: chroot /mnt /bin/bash
De volgende twee commando’s stonden in mijn aantekeningen, echter zonder verdere uitleg. Van wat ik me herinner is er maar één van de twee goed, en als ik het me goed herinner de tweede… maar helaas weet ik dat niet zeker:
• Console: mkinitrd -o /lib/modules/2.4.18-686 > /boot/initrd.img-2.4.18-686
• Console: mkinitrd -o /boot/initrd.img-2.4.18-686 /lib/modules/2.4.18-686
Volgens de manpage moet je beginnen met de output file en eindigen met de modules dir. Ook op internet dingetjes die ik erover kan vinden vertellen me dat het de tweede moet zijn. (3)
Nu moet je ervoor zorgen dat de md devices waar je op aan het werken ben ook nog eens bootable worden. Dit doe je door lilo te draaien met het commando lilo. Na dit te hebben gedaan moet je er nog eens voor zorgen dat je hdc schijf niet meer bootable is.
Om dit te doen meer je eerst je chroot verlaten met het commando exit. Vervolgens werk je dus weer gewoon op je normale hdc installatie en kun je lilo deïnstalleren met het commando: lilo –u (4)
Nu kun je de /etc/raidtab file aanpassen. Waar je in het begin bij allemaal failed-disk heb neergezet kun je nu zoals in het eerder gegeven voorbeeld weer gewoon raid-disk zetten.
Als laatste hoef je alleen nog maar de fstab file aan te passen mbv. vim fstab. Precieze configuratie is afhankelijk van je systeem, maar de mijne zag er na afloop zo uit (dit is nog wel met de nodige aanpassingen om andere redenen, onder andere novell en logical volumes):
[supuser@gerdien supuser]$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/md1 / reiserfs defaults 0 0
/dev/vgroot/tmp /tmp reiserfs defaults 0 0
/dev/vgroot/var /var reiserfs defaults 0 0
/dev/vgroot/log /var/log reiserfs defaults 0 0
//louise/bck_linu /mnt/dmzbck smbfs noauto,guest 0 0
PETRA/BEHEERDER.SRV.DELFT.TIS /mnt/petra ncp defaults,passwdfile=/etc/passwd.ncp,volume=DATA 0 0
/dev/md2 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/fd0 /floppy auto user,noauto 0 0
/dev/cdrom /cdrom iso9660 ro,user,noauto 0 0
The end
Vragen
(1) Hoe als je een aparte /boot wilt in bv. /dev/md0?
(2) Moet proc, mnt,cdrom en floppy nu in /mnt aangemaakt worden, of in /dev/md1?
(3) Moet er wat met initrd gebeuren als alles in de kernel geplaatst is, dus raid en controller? Zo ja hoe excact ?
(4) Hoe zit het precies met lilo? Er zal dus op, afhankelijk van de configuratie, lilo op een md-device gegooid moeten worden? Ditmaal ook hoe excact en op welk stadium, dus graag elke stap.
Ik heb, met dank aan Sjoerd Hooft, een howto gekregen. Hierin mis ik wat punten. Ik heb wat vragen onderaan tekst neergezet waar ik nog geen antwoord op heb. Er zijn wat url's, aanpassingen en aantekeningen in verwerkt.
nu heb ik een vraag of jullie mee kunnen helpen om een duidelijke stap voor stap nederlandse howto ervan te brouwen. Dit scheelt weer voor onze toekomstige debiangebruikers
Ik denk dat ik maar de inhoud van de howto hieronder sleurt en pleurt;
*******************RAID1 op DEBIAN************************
Als eerste; Kijk naar de vragen die horen bij de nummers, bv. (1)
Zelf ben ik begonnen met een rescue-floppy te maken die de hpt374-controller in de kernel ondersteund. Om zelf een kernel te compileren, die jouw ide/scsi-controller ondersteund en een rescue-floppy ervan te bakken, volg eerst de stappen in volgende url’s:
Kernel compileren;
http://www.linuxfocus.org...July2002/article252.shtml
http://doc.nl.linux.org/HOWTO/Kernel-HOWTO-NL.html
Lees de README in de kernel-package!
kernel-image in rescue-flop gooien, kijk ook naar hoe de modules op flop kunnen worden zetten;
http://www.debian.org/rel...t-floppy-techinfo.en.html
of gebruik aangepaste flops en boot-cd;
http://www.physik.tu-cottbus.de/~george/debian-xfs/#netinst
Om raid op een debian systeem te kunnen draaien moeten een aantal modules mee worden gecompileerd in de kernel; software-raid en type raid-arrays die gebruikt gaan worden. Vaak is het voldoende om deze modules te installeren via apt-get install en vervolgens weer op te starten.
[supuser@gerdien etc]$ cat modules
# /etc/modules: kernel modules to load at boot time.
#
# This file should contain the names of kernel modules that are
# to be loaded at boot time, one per line. Comments begin with
# a "#", and everything on the line after them are ignored.
usb-ohci
input
usbkbd
keybdev
eepro100
lvm-mod
raid1
Anders kun je ze gewoon in de modules config file zetten.
Allereerst zet je de twee disks die de RAID moeten gaan doen op de primaire aansluiting van de twee controllers. Hiermee creëer je hda en hdc. Je CD-ROM speler kan het best op de secundaire aansluiting van je eerste controller. Bedenk dat 2 ide- hardeschijven op een ide-channel een slechte performance geven. Koop voor een paar euro een extra IDE-controller, ook met oog op uitvallen van een controller.
De IDE-configuratie is nu bijvoorbeeld als volgt:
IDE 0
- Primary: hda
- Secundary: CD-rom
IDE 1
- Primary: hdc
- Secundary: leeg
Verricht een normale linux installatie, maar let wel op volgende; installeer linux op je hdc en niet op je hda. Vervolgens kun je het partitie id van hda aan gaan passen naar fd (linux raid autodetect). Dit wordt met het commando cfdisk gedaan ; cfdisk /dev/hda. /dev/hdc zal gebruikt gaan worden voor de installatie en er moet niet gekozen worden voor fd (linux raid autodetect). Gebruik bv id 83 en 82. (linux en linux swap)
Loop als gewend door dbootstrap en reboot het systeem. Na de reboot hoeft er niet door taskel en dselect gelopen te worden, Just no.
Installeer nu de volgende tools dmv. apt-get install
raidtools2
(mdadm)
vim
less
screen
reiserfsprogs ( bij gebruiken van reiserfs)
Maak nu de Maak nu de raidtab configuratiefile aan in /etc dmv. vim raidtab.
Zie:
Raidtab kan er als volgt uitzien ;
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
persistent-superblock 1
device /dev/hda1
raid-disk 0
device /dev/hdc1
failed-disk 1
raiddev /dev/md1
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
persistent-superblock 1
device /dev/hda2
raid-disk 0
device /dev/hdc2
failed-disk 1
raiddev /dev/md2
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
persistent-superblock 1
device /dev/hda3
raid-disk 0
device /dev/hdc3
failed-disk 1
N.B. Bovenstaand file is de uiteindelijke versie zoals bedoeld bij een volledig werkend raid. Bij het instellen van RAID zet je in plaats van raid-disk failed-disk neer.
Nu moet de partitie-id van de tweede harde schijf worden aangepast naar fd; linux raid autodetect. Dat geneurt mbv. cfdisk: cfdisk /dev/hdc
Nu kun je de raid devices aanmaken:
• Console: mkraid /dev/md0
• Console: mkraid /dev/md1
• Console: mkraid /dev/md2
Nu heb je de eerste belangrijke stap gedaan, je hebt raid devices aangemaakt. Nu moet je nog gaan zorgen dat deze te gebruiken zijn.
• Console: mke2fs /dev/md0
o Hiermee worst het ext2 bestandssysteem gemaakt waarvanaf geboot wordt
• Console: mkreiserfs /dev/md1
o Hiermee maak je het reiserfs bestandssysteem aan waar het merendeel van de installatie van debian op draait.
• Console: mkswap /dev/md2
o Hiermee wordt het swap systeem aangemaakt
Vanaf hier zijn mijn aantekeningen niet zo duidelijk meer, dus hou er rekening mee dat er soms iets niet kan kloppen.
Nu worden alle md devices waar echt vanaf wordt gewerkt gemount in een mountpoint, in dit geval /mnt. In ons geval wordt dus alleen /dev/md1 gemount:
• Console: mount /dev/md1 /mnt (1)
Nu moet alle data die je hebt geïnstalleerd op hdc gekopiëerd worden naar je md device. Als het goed is, is je md device nu nog leeg, en moet deze zometeen precies gelijk zijn aan je huidige hdc3. Dit doe je met het commando cp –a:
• Console: cp –a /bin /mnt
o Als het goed is wordt nu de map /mnt/bin aangemaakt en daar alle data naar toe gekopiëerd.
• Dit herhaal je met elke map op hdc2 behalve:
o proc
o mnt
o cdrom
o floppy
• Ook moet je de bestanden die direct in de root staan kopiëren.
De bovenstaande mappen kun je handmatig aanmaken op je md device met het commando: mkdir <dirnaam> (2)
Nu ga je de proc directory die draait op hdc3 binden aan de nieuwe proc directory op je md device: mount --bind /proc /mnt/proc
Nu verander je je root directory: chroot /mnt /bin/bash
De volgende twee commando’s stonden in mijn aantekeningen, echter zonder verdere uitleg. Van wat ik me herinner is er maar één van de twee goed, en als ik het me goed herinner de tweede… maar helaas weet ik dat niet zeker:
• Console: mkinitrd -o /lib/modules/2.4.18-686 > /boot/initrd.img-2.4.18-686
• Console: mkinitrd -o /boot/initrd.img-2.4.18-686 /lib/modules/2.4.18-686
Volgens de manpage moet je beginnen met de output file en eindigen met de modules dir. Ook op internet dingetjes die ik erover kan vinden vertellen me dat het de tweede moet zijn. (3)
Nu moet je ervoor zorgen dat de md devices waar je op aan het werken ben ook nog eens bootable worden. Dit doe je door lilo te draaien met het commando lilo. Na dit te hebben gedaan moet je er nog eens voor zorgen dat je hdc schijf niet meer bootable is.
Om dit te doen meer je eerst je chroot verlaten met het commando exit. Vervolgens werk je dus weer gewoon op je normale hdc installatie en kun je lilo deïnstalleren met het commando: lilo –u (4)
Nu kun je de /etc/raidtab file aanpassen. Waar je in het begin bij allemaal failed-disk heb neergezet kun je nu zoals in het eerder gegeven voorbeeld weer gewoon raid-disk zetten.
Als laatste hoef je alleen nog maar de fstab file aan te passen mbv. vim fstab. Precieze configuratie is afhankelijk van je systeem, maar de mijne zag er na afloop zo uit (dit is nog wel met de nodige aanpassingen om andere redenen, onder andere novell en logical volumes):
[supuser@gerdien supuser]$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/md1 / reiserfs defaults 0 0
/dev/vgroot/tmp /tmp reiserfs defaults 0 0
/dev/vgroot/var /var reiserfs defaults 0 0
/dev/vgroot/log /var/log reiserfs defaults 0 0
//louise/bck_linu /mnt/dmzbck smbfs noauto,guest 0 0
PETRA/BEHEERDER.SRV.DELFT.TIS /mnt/petra ncp defaults,passwdfile=/etc/passwd.ncp,volume=DATA 0 0
/dev/md2 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/fd0 /floppy auto user,noauto 0 0
/dev/cdrom /cdrom iso9660 ro,user,noauto 0 0
The end
Vragen
(1) Hoe als je een aparte /boot wilt in bv. /dev/md0?
(2) Moet proc, mnt,cdrom en floppy nu in /mnt aangemaakt worden, of in /dev/md1?
(3) Moet er wat met initrd gebeuren als alles in de kernel geplaatst is, dus raid en controller? Zo ja hoe excact ?
(4) Hoe zit het precies met lilo? Er zal dus op, afhankelijk van de configuratie, lilo op een md-device gegooid moeten worden? Ditmaal ook hoe excact en op welk stadium, dus graag elke stap.