[[!toc ]]

Workshop

Tag 2. Basissytem

Also zunächst mal hatten wir das Prob, das keiner eine Boot-CD dabei hatte und das letzte mal die Installation von Grub gescheitert ist, also ein totes System

Andreas hat sich also der Erstellung eines bootfähigen USB-Sticks mit DSL gewidmet, Marcus inzwischen den Rechner aufgebaut und nach einigen USB-Versuchen eine Knoppix-CD ausgegraben und damit mal weitergemacht.

raid device assembling

Nach dem Booten hat das Knoppix natürlich keine Raid-Partitionen gefunden

daher mussten die partitionen neu eingelesen werden

zunächst das kernelmodul für raid1 laden

modprobe raid1

anschliessend die raidpartitionen neu generieren

mdadm --assemble /dev/md1 /dev/hda1 /dev/hdb1

mdadm --assemble /dev/md2 /dev/hda2 /dev/hdb2

mdadm --assemble /dev/md3 /dev/hda3 /dev/hdb3

vorbereiten des chroot

Zunächst die Root-Partition mounten, etwa nach /mnt/root

mkdir /mnt/root mount /dev/md1 /mnt/root

das /dev und /proc-Verzeichnis ist in dem root der installation natürlich nicht vorhanden, probleme nach dem chroot sind vorprogrammiert, das also folgendermassen korrigieren

mount --bind /dev /mnt/root/dev mount --bind /proc /mnt/root/proc

Nun kann man in den Chroot springen

chroot /mnt/root

grub installieren

wir haben ja ein RAID1 und wollen daher ja auch nach einem Ausfall einer Platte booten können. Das setzt vorraus, dass auf beiden Platten der MBR geschrieben wird .

Das grub-install script lassen wir dafür mal aussen vor und starten direkt in die Grub-Shell

grub --no-floppy

Nun erzeugen wir den GRUB-MBR mittels folgender Kommandos auf der ersten Festplatte

device (hd0) /dev/hda

root (hd0,1)

setup (hd0)

Sollte die erste Festplatte am Bus ausfallen dann verschieben sich ausserdem die Plattennummern und die vormals zweite Platte wird zur ersten Die erste Zeile teilt grub mit, dass er die zweite Platte als hd0 verwenden soll, die zweite und dritte Zeile sind ident wie bei der ersten Platte

device (hd0) /dev/hdb

root (hd0,1)

setup (hd0)

erzeugen der Datei /etc/raidtab

Öffnet/Erstellt die Datei mit einem Editor eurer Wahl, VIM, nano, joe, ...

In unserem Fall sieht die Datei so aus, eigentlich ist das ganze selbsterklärend...

raiddev /dev/md1

* raid-level 1*

* nr-raid-disks 2*

* nr-spare-disks 0*

* persistent-superblock 1*

* device /dev/hda1*

* raid-disk 0*

* device /dev/hdb1*

* raid-disk 1*

raiddev /dev/md2

* raid-level 1*

* nr-raid-disks 2*

* nr-spare-disks 0*

* persistent-superblock 1*

* device /dev/hda2*

* raid-disk 0*

* device /dev/hdb2*

* raid-disk 1*

raiddev /dev/md3

* raid-level 1*

* nr-raid-disks 2*

* nr-spare-disks 0*

* persistent-superblock 1*

* device /dev/hda3*

* raid-disk 0*

* device /dev/hdb3*

* raid-disk 1*

Boottest

Also Grub hat diesmal funktioniert, das nun auftretende Prob ist, das der Kernel mit root=/dev/md2 nix anfangen kann ... warum ... hmm ...

Neuer Kernel

Wir haben uns also entschlossen, einen neuen Kernel zu basteln, und dem gleich ein paar Module mitzugeben

Zunächst einmal die Kernel-Sourcen von http://kernel.org runterladen und entpacken

Dann die config des installierten Standardkernels aus /boot in das Kernel-Verzeichnis als .config kopieren

make menuconfig

erlaubt das auswählen von Modulen und Kernelbestandteilen in einem ncurses-Menü auf der Console

wir haben RAID1, tun/tap-support und ein paar andere Dinge nicht als Module markiert, sondern direkt in das Kernel-Image inkludiert ...

mittels

*make && make install && make modules_install *

den Kernel übersetzen und installieren

ob das funktioniert hat werden wir erst nächstes mal feststellen, da das kompilieren noch nicht abgeschlossen war, als wir abgerauscht sind

Softwareinstallation

Und damit der Krücke nicht fad wird haben wir gleich noch ein paar Pakete installiert

aptitude install bridge-utils iptables tcng gnome vserver