Linux Vserver · 6 min read · Feb 09, 2026
Linux-Vserver auf Debian Sarge
Zusammenfassung
Sie können eine leichter lesbare Version dieses Howtos auf 5dollarwhitebox.org finden.
Zitiert von 13thfloor.at/vserver/project:
Linux-VServer ermöglicht es Ihnen, virtuelle private Server und Sicherheitskontexte zu erstellen, die wie ein normaler Linux-Server funktionieren, aber viele unabhängige Server gleichzeitig in einer Box mit voller Geschwindigkeit betrieben werden können. Alle Dienste, wie ssh, Mail, Web und Datenbanken, können auf einem solchen VPS ohne Modifikation gestartet werden, genau wie auf jedem echten Server. Jeder virtuelle Server hat seine eigene Benutzerkontendatenbank und Root-Passwort und stört andere virtuelle Server nicht.
Sie können eine Präsentation über Linux-vserver unter http://www.linux-vserver.org finden.
Die beiden wichtigsten Begriffe, die Sie kennen sollten, sind:
- Host-System: Dies ist der physische Server, der die Gast-OS (virtuelle Server) “hostet”.
- Gast-System: Dies sind die virtuellen Server, die auf dem Host-OS laufen.
Vorbereitung
Beginnen Sie mit einer frischen Installation von Debian Sarge 3.1. Es wird empfohlen, das Host-System so minimal wie möglich zu halten (ich sehe selten einen Grund, mehr als SSH und iptables auszuführen).
Zu installierende Pakete
Aktualisieren Sie immer Ihre apt-Datenbank, bevor Sie Software installieren, und aktualisieren Sie die aktuellen Pakete:
# apt-get update && apt-get upgrade
Dann müssen wir ein paar grundlegende Pakete installieren:
- util-vserver: Benutzerland-Utilities zur Steuerung virtueller Server
- ssh: Dies sollte wahrscheinlich bereits installiert sein
- ncurses-base und libncurses5-dev: Benötigt für “make menuconfig” beim Kompilieren des Kernels.
# apt-get install util-vserver ssh ncurses-base libncurses5-dev
Die Dateien
| /var/lib/vservers | Home-Verzeichnis für die vservers-Dateien |
| /etc/vservers.conf | Grundkonfigurationsdatei (nicht viel zu sehen dort) |
| /etc/vservers | Enthält die Konfigurationsverzeichnisse für jeden virtuellen Server |
| /usr/sbin/vserver | Dienstprogramm zur Interaktion, zum Erstellen, Starten, Stoppen, Betreten usw. der vservers |
| /bin/vshelper | Ein weiteres Dienstprogramm zur Steuerung, wie vservers funktionieren |
| /usr/lib/util-vserver | Hauptskripte/Funktionen/usw. |
Der Kernel
Bitte beachten Sie, dass ich diesen Abschnitt nicht “auf die Debian-Art” gemacht habe. Alles wurde mit einem Vanilla-Kernel von kernel.org gemacht. Sie können gute Links in den Benutzerkommentaren unten für andere Ressourcen finden. Holen Sie sich den neuesten Kernel, derzeit ist die neueste stabile Version von linux-vserver für den 2.6.12.4-Kernel… was wir bekommen:
# cd /usr/src
Holen Sie sich den neuesten Kernel-Patch von linux-vserver.org oder 13thfloor.at/vserver:
# wget http://www.13thfloor.at/vserver/s_rel26/v2.0/patch-2.6.12.4-vs2.0.diff.gz
Wenn Sie bereits einen ähnlichen 2.6.x-Kernel ausführen, können Sie Ihre aktuelle Konfiguration vor dem Erstellen kopieren. Sie sollte irgendwo wie “/boot/config-2.6.x” sein.
# cp /boot/config-2.6.X /usr/src/linux-2.6.12.4/.config
Der letzte Befehl ist nur, wenn Sie eine vorhandene Konfiguration verwenden möchten… bitte versuchen Sie nicht, eine 2.4.X-Konfigurationsdatei zu verwenden… bitte sehr. ;)
Ok, lassen Sie uns das geschehen lassen. Es gibt ein paar Dinge, die Sie beim Kompilieren einbeziehen möchten. Zuerst müssen Sie eine funktionierende Kompilierung für Ihr System haben… und dabei kann ich Ihnen nicht helfen. Bitte beziehen Sie sich auf den Link, wenn Sie Hilfe beim Kompilieren eines Kernels benötigen.
# make menuconfig
Für die zukünftige Verwendung sollten Sie wahrscheinlich LVM (und dev-mapper-Unterstützung) einbeziehen… da dies für virtuelle Server praktisch ist.
Sie sehen eine Kategorie für “Linux Vserver”. Die Standardauswahlen sollten gut sein, jedoch sollten Sie etwas wie das Folgende ausgewählt haben:
Aktivieren Sie die Legacy-Kernel-API
Aktivieren Sie die Proc-Sicherheit
Aktivieren Sie harte CPU-Grenzen
Cool… jetzt haben wir unsere Konfiguration…. lassen Sie uns den Kernel erstellen:
# make
Dann möchten wir unsere grub-Konfiguration aktualisieren:
Verwenden Sie den Befehl ‘vi’, um /boot/grub/menu.lst zu bearbeiten und fügen Sie die folgenden Zeilen VOR den anderen bereits vorhandenen Einträgen hinzu… und stellen Sie sicher, dass die Zeile “default” auf “0” gesetzt ist: title Vanilla 2.6.12.4-vs2.0
root (hd0,0)
kernel /vmlinuz-2.6.12.4-vs2.0 root=/dev/hda2 ro
initrd /initrd.img-2.6.12.4-vs2.0
savedefault
boot
Und da haben Sie es. Jetzt sollten wir in der Lage sein, neu zu starten und unseren neuen Kernel für einige virtuelle Server bereit zu haben.
# reboot
Überprüfen Sie den Kernel, nachdem wir hochgefahren sind, um sicherzustellen, dass wir auf dem neuen laufen:
# uname -r
2.6.12.4-vs2.0
Schön!
Einrichten der virtuellen Server
Das Erstellen virtueller Debian-Server auf einem Debian-Host ist nahezu lächerlich einfach. Folgendes wird Ihnen präsentiert:
# vserver
-n
–hostname
–interface
-m debootstrap – -d
So wird unser erster virtueller Server die folgenden Informationen haben:
| VSERVER_NAME | vserver1 |
| FQDN | vserver1.mydomain.com |
| NET_DEVICE | eth0 |
| IP | 192.168.1.10 |
| CIDR | 24 (255.255.255.0) |
| DEBIAN_DISTRO | sarge |
Daher wird der folgende Befehl ihn erstellen:
# vserver vserver1 build \
-n vserver1 \
–hostname vserver1.mydomain.com \
–interface eth0:192.168.1.10/24 \
-m debootstrap – -d sarge
Die Rückwärtsschläge ‘\’ signalisieren eine neue Zeile… Sie können dies jedoch auch als einen Befehl ohne die Verwendung von Rückwärtsschlägen ausführen.
Und da haben Sie es… die Installation beginnt mit einer Debian-Netzinstallation der ausgewählten Distribution. Dies sollte nicht länger als ein paar Minuten dauern. Auf meinem System benötigt die Basisinstallation nur 144 MB. Lassen Sie uns sehen, was wir haben:
# ls -lah /var/lib/vservers/vserver1
total 80K
drwxr-xr-x 20 root root 4.0K Nov 10 08:17 .
drwxr-xr-x 4 root root 4.0K Nov 10 08:13 ..
drwxr-xr-x 2 root root 4.0K Nov 10 08:17 bin
drwxr-xr-x 2 root root 4.0K Dec 15 2004 boot
drwxr-xr-x 3 root root 4.0K Nov 10 08:13 dev
drwxr-xr-x 37 root root 4.0K Nov 10 08:17 etc
drwxrwsr-x 2 root staff 4.0K Dec 15 2004 home
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 initrd
drwxr-xr-x 7 root root 4.0K Nov 10 08:17 lib
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 media
drwxr-xr-x 2 root root 4.0K Dec 15 2004 mnt
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 opt
drwxr-xr-x 2 root root 4.0K Dec 15 2004 proc
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 root
drwxr-xr-x 2 root root 4.0K Nov 10 08:17 sbin
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 srv
drwxr-xr-x 2 root root 4.0K May 10 2005 sys
drwxrwxrwt 2 root root 4.0K Nov 10 08:17 tmp
drwxr-xr-x 11 root root 4.0K Nov 10 08:16 usr
drwxr-xr-x 13 root root 4.0K Nov 10 08:16 var # ls -lah /etc/vservers/vserver1
total 28K
drwxr-xr-x 5 root root 4.0K Nov 10 08:13 .
drwxr-xr-x 6 root root 4.0K Nov 10 08:13 ..
drwxr-xr-x 4 root root 4.0K Nov 10 08:13 apps
-rw-r–r– 1 root root 112 Nov 10 08:13 fstab
drwxr-xr-x 3 root root 4.0K Nov 10 08:13 interfaces
-rw-r–r– 1 root root 5 Nov 10 08:13 name
lrwxrwxrwx 1 root root 22 Nov 10 08:13 run -> /var/run/vservers/vserver1
drwxr-xr-x 2 root root 4.0K Nov 10 08:13 uts
lrwxrwxrwx 1 root root 37 Nov 10 08:13 vdir -> /etc/vservers/.defaults/vdirbase/vserver1
Jetzt, da wir unseren vserver installiert haben, lassen Sie ihn uns starten. Die Syntax für den ‘vserver’-Befehl lautet:
# vserver
Und für unseren vserver1:
# vserver vserver1 start Starte Systemprotokolldämon: syslogd.
Starte Kernelprotokolldämon: klogd.
Starte MTA: exim4.
Starte Internet-Superserver: inetd.
Starte den Scheduler für verzögerte Ausführung: atd.
Starte den periodischen Befehls-Scheduler: cron.
… # vserver-stat
CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME
0 35 73.4M 5.4K 0m05s21 0m02s33 1m13s00 root server
49152 5 11M 967 0m00s00 0m00s00 0m30s52 vserver1
vserver1:/#
Und Sie sind jetzt im Kontext des virtuellen Servers. Um herauszukommen und zurück zum Host-System zu gelangen, geben Sie einfach “exit” ein.
Hinweise zur Konfiguration
Sie müssen zuerst “apt-setup” ausführen und apt genauso konfigurieren wie jedes andere Debian-System. Die Debian-Bootstrap-Installation ist eine sehr minimale Basisinstallation. Sie müssen alles installieren, was Sie möchten.
Es sollte erwähnt werden, dass jeder virtuelle Server seine eigene IP-Adresse hat. Da diese IPs jedoch als Aliase zu Ihrem tatsächlichen Netzwerkgerät (d.h. eth0) konfiguriert sind, hören sie alle auf demselben physischen Gerät. Dies kann ein Problem darstellen, wenn Standardkonfigurationen angeben, dass sie “auf allen Schnittstellen” hören sollen. Jeder Dienst innerhalb des vservers muss eine Listenadresse angeben.
Zum Beispiel:
SSH:
# apt-get install sshd
Ändern Sie die Zeile:
#ListenAddress 0.0.0.0
In
ListenAddress 192.168.1.10
Und…
# /etc/init.d/ssh restart
Der Rest liegt wirklich an Ihrer Vorstellungskraft und dem Herausfinden der Wunder der undocumented open source… viel Spaß!
BJ Dierkes, RHCE-LPIC1
wdierkes [at] 5dollarwhitebox [dot] org
Texas, USA
Ressourcen
- Das Linux-vserver-Projekt
- http://www.13thfloor.at/vserver/project
- Debian GNU Linux
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.