Linux VServer enrichten
Hauptseite (de) | Linux Server Setup
Contents |
Linux VServer Setup
Wir empfehlen, die für einen Mix-Server nötigen Prozesse zu isolieren und in einer virtuellen Umgebung zu betreiben. Für die Virtualisierung gibt es mehrere Ansätze. VMware oder XEN zielen darauf ab, ein komplettes zweites Betriebssystem parallel zu starten. Diese virtuellen Systeme verhalten sich wie komplett eigenständige Rechner. Es ist nötig, physische Ressourcen statisch zuzuweisen.
Etwas einfacher ist es, einen Linux-VServer aufzusetzen. Statt mehrere Kernel zu starten, ist die Virtualiserung auf Betriebssystemebene implementiert, ähnlich den Jails unter FreeBSD.
Die Daten der VServer können komplett in einem verschlüsselten Container abgelegt werden. Die Nutzung verschlüsselter Partitionen oder verschlüsselter Containerdateien ist im HowTo Datenverschlüsselung mit DM-Crypt beschrieben.
IP-Adressen vorbereiten
Man benötigt eine IP-Adresse für das Hostsystem und zusätzlich mindestens eine weitere IP-Adresse für jeden VServer. Die Bereitstellung der nötigen Adressen erfolgt durch Ihren Provider.
Auf dem Hostsystem sind alle dort laufenden Dienste ausschließlich an die IP-Adresse des Hosts zu binden. In der Standardeinstellung sind die Dienste an die Joker-Adresse 0.0.0.0 gebunden. Das bedeutet, dass der Dienst an allen vorhandenen Adressen lauscht. Damit verdecken die Dienste auf dem Host die Ports der VServer. Tragen sie bitte in allen nötigen Konfigurationen die IP-Adresse des Hosts als Listen-Interface ein.
Für den SSH-Daemon können Sie diese Einstellung in der Datei /etc/ssh/sshd.conf vornehmen. Ersetzen Sie den Eintrag ListenAddress 0.0.0.0. Das Beispiel geht davon aus, dass die IP-Adresse des Hosts 123.123.123.123 ist.
ListenAddress 127.0.0.1
ListenAddress 123.123.123.123
bind9 konfigurieren Sie in der Datei /etc/bind/named.conf.options.
options {
....
listen-on { 127.0.0.1; 123.123.123.123; };
....
};
Hostsystem vorbereiten
Die Nutzung von VServern erfordert einen speziellen Kernel, der diese Virtualisierung unterstützt. Für die Installation bieten die Distributionen fertige Skriptsammlungen. Die Software kann mit dem Paketmanager installiert werden.
Debian i386: aptitude install linux-image-vserver-686 util-vserver vserver-debiantools
Debian amd64: aptitude install linux-image-vserver-amd64 util-vserver vserver-debiantools
Nach der Installation ist das Hostsystem neu zu starten und damit vorbereitet für die Installation der virtuellen Server.
VServer erstellen
Die Installation verläuft weitgehend automatisch. Als Beispiel die Installation von Debian squeeze im VServer:
newvserver --vsroot /vserver
--hostname sample
--domain sample.server.tld
--ip 124.124.124.124/32
--dist squeeze
--mirror http://ftp2.de.debian.org/debian
--interface eth0
- --vsroot Verzeichnis für die Daten des VServers.
- --hostname Name des neuen VServers.
- --domain FQDN.
- --ip IP-Adresse für den VServer.
- --dist am besten, die gleiche Distribution wie das Hostsystem verwenden
- --mirror Mirror für den Download der Packages.
- --interface Network Interface, an welches die IP-Adresse gebunden wird.
Probleme mit der Namensauflösung treten auf, wenn man auf dem Host einen lokalen Nameserver nutzt. Die Installation kopiert die Datei /etc/resolv.conf vom Hostsystem. Da auf dem VServer kein Nameserver läft, gibt es Probleme. Vor dem ersten Start des VServers ist die Datei /vserver/<name>/etc/resolv.conf entsprechend anzupassen.
VServer verwalten
Das Tool vserver bietet die Möglichkeit, die installierten VServer zu starten, zu stoppen, zu betreten usw.
Starten eines VServers:
vserver <name> start
Herunterfahren eines VServers:
vserver <name> stop
Abfragen des Status eines VServers:
vserver <name> status
Betreten eines VServers als root:
vserver <name> enter
Ausführen eines Kommandos als root in dem VServer:
vserver <name> exec command
Außerdem gibt es spezielle Kommandos für die Wartung des VServers. Ein Update aller VServer kann man auf dem Host mit vapt-get durchführen. Das Kommando kann nur gestartete VServer aktualisieren. Man sollte zuvor prüfen, ob alle VServer laufen.
vapt-get --all upgrade
vapt-get --all dist-upgrade
VServer löschen
Wenn man einen VServer nicht mehr benötigt, kann man ihn einfach löschen.
vserver <name> delete