Rootserver installieren – Debian from Scratch (Lenny im Rescue Modus) – mit Proxmox
geschrieben von | Kategorie Linux Debian
geschrieben am 17.06.2011
Eine “from Scratch” Installation bedeutet, den Server manuell nach eigenen Wünschen zu installieren. Viele Provider bieten hierfür einen “Rescue Modus”, eine kleine Linux Umgebung, in die die Platten des Servers hinein gemountet werden können.
In dieser Anleitung wird ein Root-Server mit LVM (Logical Volume Manager), Raid 1 (gespiegelte Platten) und Proxmox 1.9 für die Verwaltung der virtuellen Maschinen installiert.
Damit fangen wir auch an. Botten Sie den Server in den “Rescue Modus”.
Mit dem Befehl
# fdisk -l
lässt sich eine Übersicht der Festplatten anzeigen.
In unserem Beispiel nehmen wir an, dass wir 2 identische Platten haben, mit denen wir auch ein Raid 1 (Mirror) machen möchten (also /dev/sda1 und /dev/sda2).
Somit paritionieren wir die erste Festplatten:
# fdisk /dev/sda1
Hierbei sind folgende Tastenkürzel von Interesse:
- m gibt eine Liste der möglichen Befehle aus
- p gibt die aktuelle Partitionstabelle aus
- d löscht eine Partition
- n fügt eine neue Partition hinzu
- l listet die “bekannten” Partitionstypen auf (fd für Linux Raid, 82 für Swap, 83 für Linux)
- w schreibt die Tabelle und beendet fdisk
Wichtig: nicht vergessen, eine Boot Partition zu definieren (b)
Nachdem die erste Platte /dev/sda1 partitioniert wurde, muss die Partitionstabelle auf die 2. Festplatte /dev/sdb kopiert werden, für ein Raid sind 2 identische Festplatten notwendig
sfdisk -d /dev/sda | sfdisk --force /dev/sdb
Damit diese letzte Aktion auch aktiv wird, muss der Server neu gestartet werden (wieder in das Rescue System).
Nun können wir das Raid System aufbauen. Wir bauen zunächst nur /dev/sda1 auf, da wir später die 2. Platte im aktiven System dazu synchronisieren, dies spart etwas Zeit.
Der Befehl, um ein md-Device (ein Raid-Device) zu erzeugen, lautet:
mdadm -v --create /dev/mdX --level=mirror --raid-devices=2 /dev/sda1 missing
Statt dem “missing” kann auch die 2. Platte angegeben werden (/dev/sdb1) allerdings fängt der Server dann sofort an zu synchronisieren. Nach einem Reboot startet die Synchronisiert wiederum von vorne. Somit fallen zu beginn nur unnötige Plattenaktivitäten an.
Dies machen wir dann mit allen Partitionen, das /dev/mdX steht hierfür für die Raid-Device, beispielsweise /dev/md1, /dev/md2
Eine Übersicht des Rais Status kann man sich mit
cat /proc/mdstat
anschauen.
Das Swap erstellen (beispielsweise auf /dev/md2)
mkswap /dev/md2
Nun erstellen wir das Filesystem auf dem /boot Device (beispielweise /dev/md0)
mkfs.ext3 /dev/md0
Und zu letzt das LVM auf dem Daten-Device (beispielsweise /dev/md1)
pvcreate /dev/md1 vgcreate vg /dev/md1
Nun können die einzelnen Logical Volumes erzeugt werden (LV):
lvcreate -n root -L 5G vg lvcreate -n vz -L 100G vg
Mit einem lvscan sollte man die Logical Volumes nun sehen können.
Sofern bei der Ausgabe von lvscan der Status der Volumes aus “inactive” steht, müssen diese noch mit dem Befehl
vgchange -ay
aktiviert werden.
Diese müssen nun formatiert werden:
mkfs.ext3 /dev/vg/root mkfs.ext3 /dev/vg/vz
Nun mounten wir unser neues Filesystem in das Rescue-System um mit der Installation zu beginnen:
mkdir -p /media/mnt mount /dev/vg/root /media/mnt cd /media/mnt mkdir boot mkdir proc mkdir dev mkdir sys mkdir home mkdir -p var/lib/vz mount /dev/md0 boot/ mount /dev/vg/vz var/lib/vz/
Wir erzeugen eine fstab (eine Liste, in der die zu mountenden Filesystems definiert werden):
mkdir etc cd etc vi fstab
mit dem Inhalt:
proc /proc proc defaults 0 0 /dev/md0 /boot ext3 defaults 0 2 /dev/vg/root / ext3 defaults 0 1 /dev/vg/vz /var/lib/vz ext3 defaults 0 2 /dev/md2 none swap defaults,pri=1 0 0
OPTIONAL Start: Bei manchen Providern ist das Rescue-System als Live-CD eingebunden. Wir müssen dies beschreibbar machen, damit wir das debootstrap installieren können:
mkdir /usr2 cp -Rvp /usr/* /usr2 mv /usr /_usr mv /usr2 /usr
OPTIONAL Ende
Wir laden uns das debootstrap und installieren es:
debootstrap ist ein Initialisierungsprogramm, was ein minimales Linux-System installieren kann.
cd /root wget http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.32_all.deb ar vx debootstrap_1.0.32_all.deb tar xvfz data.tar.gz -C / debootstrap --arch amd64 lenny /media/mnt ftp://ftp.de.debian.org/debian/
Anmerkung: Hier wird nun ein Lenny-Basis System nach /media/mnt geladen und installiert. Statt Lenny kann natürlich auch “squeezy” für das neuere System benutzt werden. Proxmox setzt allerdings noch lenny voraus. Weiterhin kann statt amd64 auch “i386″ benutzt werden, sofern das Server-System keine 64Bit unterstützt.
Nun “chrooten” wir das System. Dies bedeutet, dass wir das eben installierte System als neues “Root-System” anmelden:
mount -t proc none /media/mnt/proc mount -o bind /dev /media/mnt/dev mount -o bind /sys /media/mnt/sys chroot /media/mnt
Nun befinden wir uns in unserem neuen Linux-System.
Als nächstes setzen wir das root-Passwort (ein wichtiger Schritt der Sicherheit wegen):
passwd
Nun müssen noch einige Dinge erledigt werden:
/etc/network/interfaces anlegen:
auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet static address <IPADRESSE> netmask 255.255.255.0 network <NETWORK xxx.xxx.xxx.0> broadcast <BROADCAST xxx.xxx.xxx.255> gateway <GATEWAY>
für Proxmox wäre folgende /etc/network/interfaces möglich:
auto lo vmbr0 iface lo inet loopback iface vmbr0 inet static address <IPADRESSE> netmask 255.255.255.0 broadcast <BROADCAST xxx.xxx.xxx.255> gateway <GATEWAY> bridge_ports all
Ebenso sollten die Dateien angepasst werden:
/etc/hostname /etc/hosts /etc/resolv.conf
Und wir führen noch ein Update auf das neue System aus und installieren nötige Pakete nach:
aptitude update aptitude upgrade aptitude install mdadm openssh-server lvm2 locales ntp
Nun noch die Zeitzone einstellen:
dpkg-reconfigure locales tzdata
Als nächstes installieren wir einen aktuellen Kernel (Achtung: bei Proxmox kann übersprungen werden):
aptitude install linux-image-amd64
bzw bei i386 Systemen auch linux-image-686
Bei Proxmox kann direkt der Proxmox-Kernel installiert werden.
Zunächst müssen die Sourcen in /etc/apt/sources.list modifiziert werden:
deb http://ftp.de.debian.org/debian lenny main <strong>deb http://download.proxmox.com/debian lenny pve</strong> deb http://security.debian.org/ lenny/updates main
Der Proxmox Repository Key hinzugefügt werden:
wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -
Die Änderungen aktiviert werden:
aptitude update aptitude upgrade
und nun kann der Kernel geladen werden:
aptitude install pve-firmware pve-kernel-2.6.32-4-pve
Proxmox Ende
Wir benötigen nun nor noch eines, ein Bootloader, der uns das System startet.
Aktuell ist grub2:
aptitude install grub2
Grub auf die Platten installieren
grub-install --no-floppy /dev/sda grub-install --no-floppy /dev/sdb update-grub /dev/md0 update-initramfs -u
Nun kommt der große Moment, wir booten unser neues System
Starten Sie das System ohne Rescue, nach einigen Minuten sollte der Ping erfolgreich sein und das System per ssh mit dem eben gesetzten Passwort verfügbar sein.
Nun fehlt nur noch das vervollständigen des Raids:
mdadm /dev/md0 -a /dev/sdbX
muss auf jedes Raid-Volume ausgeführt werden.
Der Fortschritt lässt sich mit
cat /proc/mdstat
prüfen oder dauerhaft mit dem Befehl
watch cat /prov/mdstat
verfolgen.
Zu Beachten ist, dass nach einem Reboot von vorn begonnen wird, das Raid zu synchronisieren. Man sollte also ein Reboot in dieser Zeit vermeiden.
Allerdings kann das System fertig konfiguriert werden, die Synchronisierung richtet sich nach der Auslastung der Platten, so dass mehr Rechenzeit für die Installation gegeben wird. Daduch verlängert sich allerdings auch die Synchronisierung des Raids.



Danke, das hat mir geholfen, meinen Server von Grund auf neu auzusetzen.
[...] ist eine installiert Debian Squeeze Umgebung. Hierzu kann nach dieser Anleitung vorgegangen werden. Einzig die Angaben in /etc/apt/sources.list müssen angepasst [...]