Gentoo Logo

Gentoo Linux-VServer Howto

Inhalt:

1.  Einführung

Das Linux-VServer-Konzept

Das grundlegende Konzept der Linux-VServer-Lösung ist es, die Umgebung des User-Space in verschiedene Einheiten aufzuteilen (manchmal auch Virtuelle Private Server genannt), und zwar in einer Art und Weise, dass jeder VPS für die darin enthaltenen Prozesse so aussieht und sich so anfühlt wie ein realer Server.

Begriffe, die in diesem Howto verwendet werden

Begriff Beschreibung
Linux-VServer, VServer Linux-VServer ist der offizielle Name des Projekts und wird in diesem Howto so genutzt
virtueller Server, vserver, Gastsystem Alle diese Begriffe sind austauschbar und beziehen sich auf eine Instanz eines Servers (d.h. ein virtueller Server)
Hostsystem, Host Die physische Maschine, die Ihr Gentoo Linux ausführt, wird alle virtuellen Server hosten.
util-vserver, vserver-Dienstprogramme Das util-vserver-Paket beinhaltet alle nötigen Programme, um Ihre virtuellen Server zu warten.

2.  Konfiguration des Hosts

Einen VServer-Kernel installieren

Befehlsauflistung 2.1: Installieren der vserver-sources

# emerge vserver-sources

Nach der Installation der vserver-sources, konfigurieren Sie diese mit Hilfe von make menuconfig:

Befehlsauflistung 2.2: Konfigurieren der vserver-sources

# cd /usr/src/linux-<KERNELVERSION>-vserver-<VSERVERVERSION>
# make menuconfig

Linux VServer --->
  [] Enable Legacy Kernel API
(Nicht aktivieren!)
  [ ] Disable Legacy Networking Kernel API
(Dringend empfohlen)
  [*] Enable Proc Security
  [*] Enable Hard CPU Limits
  Persistent Inode Context Tagging (UID24/GID24)  --->
  [ ] Tag NFSD User Auth and Files
  [ ] Compile Debugging Code

Notiz: Wenn sie als Dateisystem reiserfs einsetzen müssen sie die erweiterten Attribute für reiserfs in ihrem Kernelkonfiguration aktivieren.

Befehlsauflistung 2.3: Reiserfs Optionen konfigurieren

File systems -->
  <*> Reiserfs support
  [*]  ReiserFS extended attributes

Zusätzlich müssen Sie die attrs Option für ihre VServer Partition in ihrer /etc/fstab einstellen:

Befehlsauflistung 2.4: Beispiel fstab mit erweiterten Attributen

/dev/hdb /vserver reiserfs noatime,attrs 0 0

Nachdem Sie den Kernel erstellt und installiert haben, aktualisieren Sie Ihren Bootloader und rebooten letztlich, um zu sehen, ob der Kernel korrekt startet.

Befehlsauflistung 2.5: Installieren des Kernels

(Erstellen des Kernels)
# make
(Installieren)
# make modules_install
# cp arch/i386/boot/bzImage /boot/kernel-<KERNELVERSION>-vserver-<VSERVERVERSION>
(Bearbeiten der Bootloader-Konfigurationsdatei wie benötigt und)
# reboot

Einrichten der Host-Umgebung

Um Ihre virtuellen Server zu warten benötigen Sie das util-vserver-Paket, welches alle nötigen Programme und viele nützliche Features beinhaltet.

Notiz: Die Hilfsprogramme und Funktionen die in diesem Leitfaden verwendet werden erfordern >=sys-apps/util-vserver-0.30.208-r3. Sie müssen dies unter Umständen per Keyword erlauben.

Befehlsauflistung 2.6: Installieren der vserver-Dienstprogramme

# emerge util-vserver

Sie müssen den vprocunhide Befehl nach jeden Neustart ausführen, damit die /proc Berechtigungen korrekt für vserver gesetzt sind. Ein Init-Skript wurde dafür von util-vserver installiert. Um es zu verwenden, sollten Sie es zu einem Runlevel hinzufügen:

Befehlsauflistung 2.7: vprocunhide Init-Skript

# rc-update add vservers default
# /etc/init.d/vservs start

Das vshelper-Skript wird benötigt, um virtuelle Server korrekt zu stoppen und neu zu starten. Sie müssen dem Kernel mitteilen, wo das vshelper-Skript zu finden ist:

Befehlsauflistung 2.8: vshelper-Einrichtung

# echo 'kernel.vshelper = /usr/lib/util-vserver/vshelper' >> /etc/sysctl.conf
# sysctl -p

3.  Eine Gast-Template erstellen

Einen stage3 vserver installieren

Sie müssen ein als stage3 preparierten VServer von einem unserer Mirrors herunterladen. Diese Stages finden sie unter experimental/<Arch>/vserver/. Benutzen sie dann das vserver-new Skript um einen ersten Gast zu erstellen.

Sie müssen eine Context-ID für Ihren VServer wählen (von dynamische Context-IDs wird abgeraten), ebenso wie die notwendigen Netzwerk-Informationen (in diesem Beispiel ist eth0 auf 192.168.1.253/24 konfiguriert und die Context-ID ist äquivalent zu den letzten beiden Teilen der IP des virtuellen Servers).

Befehlsauflistung 3.1: Starten der stage3 Installation

# vserver-new gentoo-template \
  --hostname gentoo \
  --context 1253
  --interface eth0:192.168.1.253/24 \
  stage3 /path/to/stage3-tarball.tar.bz2

Notiz: Um Ihre Netzwerkeinstellungen widerzuspiegeln sollten Sie /etc/conf.d/hostname, /etc/conf.d/domainname und /etc/hosts innerhalb des Gasts nach Ihren Bedürfnissen anpassen. Siehe Kapitel 8.b.1 und Kapitel 8.b.4. Der Rest des Netzwerksetups Ihres virtuellen Servers wird auf dem Host gemacht.

Erstellen des Template-Tarballs

Sie müssen nicht einen stage3-Tarball für jeden Benutzer erstellen. Das vserver-new Skript unterstützt Templates. Um diese verwenden zu können, müssen Sie einen Tarball von Ihrer vserver-Konfiguration erstellen.

Befehlsauflistung 3.2: Erstellen des Template-Tarballs

# cd /vservers/gentoo-template
# tar cjvpf ../gentoo-template.tar.bz2 ./

Um einen neuen Gast unter Verwendung dieses Tarballs zu erstellen, verwenden Sie einfach vserver-new:

Befehlsauflistung 3.3: Template-Tarball verwenden

# cd /vservers
# vserver-new myguest \
  --hostname myguest \
  --context 1252 \
  --interface eth0:192.168.1.252/24 \
  template ./gentoo-template.tar.bz2

Notiz: Sie sollten auch einen gemeinsamen Portagebaum für Ihren Gast verwenden um die Größe der Gäste in Grenzen zu halten. Editieren Sie /etc/vservers/myguest/fstab und entkommentieren Sie die Einträge für /usr/portage und /usr/portage/distfiles. Gäste werden nur-lesen Zugriff auf /usr/portage und lesen-und-schreiben Zugriff auf /usr/portage/distfiles.

Testen des virtuellen Servers

Sie sollten nun durch die untenstehenden Befehle den VServer starten und benutzen können. Sollten Sie Befehle wie mount oder dmesg vermissen, sollten sie emerge util-linux im virtuellen Server ausführen, da das VServer-Profil dieses Paket standardmäßig nicht beinhaltet.

Befehlsauflistung 3.4: Testen des virtuellen Servers

# vserver myguest start
# vserver-stat
CTX   PROC    VSZ    RSS  userTIME   sysTIME    UPTIME NAME
0       90   1.4G 153.4K  14m00s11   6m45s17   2h59m59 root server
1252     2     3M   286    0m00s45   0m00s42   0m02s91 myguest
# vserver myguest enter
# ps ax
PID   TTY      STAT   TIME COMMAND
    1 ?        S      0:00 init [3]
22887 ?        Ss     0:00 /usr/sbin/syslog-ng
20496 pts/0    S      0:00 /bin/bash -login
20508 pts/0    R+     0:00 ps ax
# logout

Kontakt

Im Falle von Problemen können Sie gerne den Autor kontaktieren, oder einen Bug in Bugzilla eintragen.



Drucken

Seite aktualisiert 13. März 2006

Diese Übersetzung wird nicht länger gepflegt

Zusammenfassung: In diesem Howto lernen Sie, einen einfachen virtuellen Server unter Zuhilfenahme der Linux-VServer-Technologie einzurichten

Benedikt Boehm
Autor

Shyam Mani
Bearbeiter

Timo Rothweiler
Übersetzer

Jan Hendrik Grahl
Übersetzer

Stefan Becker
Übersetzer

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.