Debian Lenny auf einem Rootserver mit Raid-1 und LVM

Das ist ein Update zu meiner alten Anleitung. Der Unterschied zur alten Anleitung:

  • Dieses Mal soll ein Server unter Debian Lenny eingerichtet werden
  • Swap liegt ebenfalls im Raid
  • Der Server soll mit OpenVZ virtualisierte Maschinen hosten
  • Das root-Dateisystem soll ebenfalls im LVM liegen, damit wir beim Backup konsistente Snapshots vom gesamten System machen können

Hier also das Update zu meiner rundum-sorglos copy&paste-Anleitung zur Einrichtung von

Debian Lenny auf einem Rootserver mit Raid-1 und LVM


Der Hoster in diesem Beispiel ist Hetzner, das kann man aber auch auf andere Systeme übertragen. Ausgestattet der EQ4-Server mit 2x750GB SATA Platten. Das Ziel ist, ein System aufzusetzen, dass die SATA-Platten im RAID-1 spiegelt und darauf ein LVM betreibt.

/etc/network/interfaces

Zunächst wird das default-System gebootet und die /etc/network/interfaces gesichert. Die brauchen wir später.

Partitionierung

Da scheiden sich die Geister, vorgeschlagen wird folgende Aufteilung der Platten:

Zuerst kommt die Swap-Partition, dann /boot und der Rest geht für’s LVM drauf.

Die auf /dev/sda eingerichtete Partitionstabelle kann nun auf /dev/sdb gespiegelt werden:

Jetzt muss ggf neu gebootet werden, weil der Kernel sonst noch mit der alten Partitionstabelle arbeitet. Danach kann man den

Raid erzeugen

Swap:

/boot

(LVM)

Am besten wartet man jetzt die 120 Minuten, bis das Raid synchronisiert ist:

Man kann aber auch gleich fortfahren und den

Swap einrichten

/boot formatieren

LVM anlegen

Zuerst wird /dev/md2 als physical volume angelegt:

Dann wird die Volumegroup “mainvg” darauf erzeugt:

Jetzt die Volumes anlegen:

Für /root und /usr reichen 2GB locker, /tmp sollte auch mit einem GB klar kommen. Das Home soll nicht bewohnt sein – die User leben in Virtuellen Maschinene – deswegen gibt’s hier ebenfalls nur 2GB. Das letzte lvcreate weist dem Logical Volume “var” 300GB zu. Ein bisschen Platz (ca. 10% des gesamten VLMs) brauchen wir als Reserve für die Snapshots (die kommen beim Backup ins Spiel). Ich belege nicht gleich 600GB, weil man die Partition ja immer noch vergrößern kann Problem.

Das ganze nochmal prüfen:

/usr, /var, /home, /tmp und / formatieren

Mount

Damit ergibt sich folgendes Mountschema:

Das wird im Rescue-System erstmal alles nach /mnt gemountet.

Kontrolle:

Ok, dann kann man ja eine /mnt/etc/fstab mit folgendem Inhalt erzeugen:

Das neue System ist jetz soweit, dass wir mit der

Installation des Basissystems

beginnen können. Zunächst sollte apt aktualisieret werden um debootstrap zu installieren:

debootstrap ist das Tool der Wahl, wenn man aus dem Nichts debian installieren will. Wir wollen Debian etch in das Verzeichnis /mnt installieren und tippen dafür:

Danach brauchen wir noch ein paar Mounts:

So, jetzt kann man in das neue System chrooten:

Grundlegendes im neuen System

Als erstes das root-pwd setzen:

Die /etc/network/interfaces von vorhin kann nun wieder hergestellt werden. Wer mehrere IP-Adressen in dem Server hat, kann sie gleich nach dem folgenden Schema eintragen:

In /etc/hostname sollte der FQDN des Rechners eingetragen werden.

Für die Netzwerkkarte im Hetzner EQ4-Server muss das passende Kernelmodul geladen werden, deswegen wird in /etc/modules die Zeile

eingetragen.

Ggf. müssen die Sourcen (/etc/apt/sources.list) angepasst werden. Wer mag, kann den Hetzner-Mirror verwenden, um Traffickosten zu sparen:

Nach einem herzlichen

Ist alles in Butter. Dann kann ein wenig Software installiert werden, z.B. ssh, mdadm, ntpdate etc. Unbedingt sollte man jetzt auch das Paket lvm2 installieren, sonst kann man nicht ins LVM booten!

Hilfreich ist es auch gleich in etc/environment folgendes einzutragen:

Der knifflige Teil folgt in Form der

Kernel und Boot-Konfiguration

Das ist nur für Magier ab Stufe 9. Die /etc/fstab haben wir ja schon in Ordnung gebracht. Jetzt kommt der spannenden Teil.

Da wir eine OpenVZ-Maschine bauen wollen, nehmen wir den OpenVZ-Kernel, der bei Debian zum Glück schon im Repository enthalten ist (im Gegensatz zu ubunut…):

Da unser /boot unter /dev/md1 liegt, lassen wir grub-install darauf los

Dann grub Konsole starten:

/boot liegt auf (hd0,1) (d.h. sda2/sdb2), also liegt der Kernel hier: (hd0,1)/vmlinuz-2.6.26-2-openvz-amd64 . Deswegen sagen wir in der grub shell:

Damit ist grub auf beiden Festplatten installiert. Dann muss noch die /boot/grub/menu.lst aktualisiert werden:

Obacht: das Root-Filesystem liegt auf dem LVM-Volume root, deswegen root=/dev/mainvg/root! Es kann sein, dass beim Booten das Root-Filesystem nicht gefunden wird. In dem Fall bitte testen, ob statt dessen der Parameter root=/dev/mapper/mainvg-root funktioniert (das scheint ein Debian-Bug zu sein).

Dann kann die chroot-Umgebung mit

verlassen werden. Dann kann man vor dem Altar niederknien und sogleich laut und deutlich

aussprechen und hoffen, dass die Scheisskiste endlich bootet. Falls nicht hilft LARA.

Fertig?

Das System sieht jetzt so aus:

Im LVM stehen etwa 690 GB zur Verfügung, 380 sind davon noch frei.

Damit haben wir ein funktionierendes Grundsystem.

Aus dem Rescue-System auf die Host-Platten zugreifen

Wenn man im unwahrscheinlichen Falle eines Falles vom Rescue-System Gebrauch machen möche, kann man die Partitionen so mounten:

Credits

Geholfen bei der Einrichtung des Servers haben mir diese beiden Tutorials:

Über Feedback freue ich mich natürlich. Beim nächsten Mal, richten wir ein paar OpenVZ-Container ein.