Virtualisierung · 5 min read · Jan 18, 2026
OpenVZ Auf Debian Etch Für Webserver
OpenVZ Auf Debian Etch Für Webserver
Einführung
Virtualisierung ist schön! Eine gute Praxis für Server, da sie die Dinge sicherer, skalierbarer, austauschbarer und replizierbarer macht. All dies zu den Kosten einer geringen zusätzlichen Komplexität.
Dieser Leitfaden wurde während der Installation einer Supermicro-Maschine mit 2 Dual-Core Opterons (64-Bit), 2 identischen Festplatten (für RAID) und einer Menge Speicher geschrieben. Warum OpenVZ und nicht XEN oder das aktuelle KVM-Kernelmodul? Nun, XEN ist für 64-Bit-Architekturen (noch) nicht sehr stabil und bringt aufgrund seiner Komplexität eine Menge Overhead mit sich (jede VM läuft mit ihrem eigenen Kernel). KVM ist sehr einfach, beschränkt Sie jedoch darauf, einen Kernel als einen Prozess auszuführen, sodass die VM nicht von Mehrkernsystemen profitieren kann.
Mit OpenVZ wird nur ein Kernel für die Hostumgebung und alle VMs ausgeführt, was die Einrichtung schlank macht und zu einem guten Kandidaten für Webserver macht.
Installieren Sie das Hosting-System
Zuerst installieren Sie Etch (stellen Sie sicher, dass Sie RAID mit dem Installer einrichten).
Sie möchten möglicherweise einige überflüssige Verzeichnisse und Links in Ihrem Root (und, wie der Rest des Leitfadens, als Root) loswerden:
cd /
rm cdrom
unlink vmlinuz.old
unlink vmlinuz
rmdir selinux/
rmdir initrd
unlink initrd.img.old
rmdir opt
rmdir srv/Jetzt wollen wir einen benutzerdefinierten OpenVZ-fähigen Kernel kompilieren, wir haben uns irgendwie an diesen Leitfaden auf der OpenVZ-Website gehalten. Eine kurze Übersicht über das, was wir getan haben:
apt-get update
apt-get install linux-source-2.6.18 kernel-patch-openvz vzctl vzquota # dieser Befehl könnte eine Bestätigung erfordern
cd /usr/src
tar xjvf linux-source-2.6.18.tar.bz2
cd linux-source-2.6.18
cp /boot/config-2.6.18-3-amd64 .config
aptitude install kernel-package # Sie benötigen es in der nächsten Zeile
make-kpkg --append_to_version=-1-openvz --added_patches=openvz --revision=1 kernel_image
cd ..
dpkg -i linux-image-2.6.18-1-openvz_1_amd64.deb
update-initramfs -c -k 2.6.18-1-openvz
update-grubDann (nachdem Sie möglicherweise die /boot/grub/menu.lst ein wenig geändert haben, um auf den richtigen Kernel zu setzen) können Sie neu starten.
Nach dem Neustart überprüfen Sie, ob alles mit dem OpenVZ-fähigen Kernel funktioniert:
ifconfig # sollte Ihre Schnittstellen und eine zusätzliche "venet"-Schnittstelle auflisten
cat /proc/vz/* # sollte einige Dinge anzeigen (noch nicht sehr wichtig, was es anzeigt)
cat /proc/cpuinfo # sehen Sie, dass Ihre CPUs aktiv sind
cat /proc/mdstat # RAIDs funktionieren
lsmod # sollte einige Module anzeigen, die mit den Buchstaben "vz" beginnenErstellen Sie Virtuelle Private Server (VPSs)
Jetzt richten wir einen VPS aus der standardmäßigen minimalen Vorlage ein (Sie finden sie in /var/lib/vz/template/cache):
vzctl create 101 --ostemplate debian-3.1-amd64-minimal --config vps.basic
vzctl set 101 --onboot yes --save
vzctl set 101 --hostname test101.mytest.org --save
vzctl set 101 --ipadd 10.0.0.101 --save
vzctl set 101 --numothersock 120 --save
vzctl set 101 --nameserver 10.0.0.2 --save
vzctl set 101 --privvmpages 500000:750000 --save # geben Sie ihm etwas Speicher CHECKME
vzctl start 101
vzctl exec 101 passwdDann können Sie sich mit dem VPS verbinden über
ssh 10.0.0.101, und beachten Sie die farbenfrohe Eingabeaufforderung…
Diese Vorlage ist eine Sarge (3.1) Vorlage, und ich möchte, dass sie Etch (4.0) ist, also melden Sie sich als Root im VPS an und tun Sie:
nano /etc/apt/sources.list # bearbeiten Sie es, um mit der sources.list auf Ihrer Hostinstallation (Etch) übereinzustimmen
aptitude update
aptitude dist-upgradeJetzt probieren Sie Ihren neuen VPS aus und machen ihn funktionsfähig, installieren Sie die Pakete, die Sie gerne in der Nähe haben möchten, da diese Systeme später als Basis für weitere VPS dienen werden.
Als nächstes erstellen wir eine Vorlage aus dem gerade angepassten VPS, das ist eine einfache Sache:
vzctl stop 101 # stoppen Sie es
rm -f /var/lib/vz/private/101/etc/ssh/ssh_host_* # entfernen Sie die Schlüssel (neue werden beim ersten Boot generiert)
cd /var/lib/vz/private/101/
tar czf /var/lib/vz/template/cache/debian-etch-20061218-amd64.tar.gz .Wie Borat sagen würde: “Schön! Ich mag es!”
Jetzt können wir einige zusätzliche VPSs einrichten und ausführen, wie zuvor, aber jetzt leicht modifiziert:
vzctl create 102 --ostemplate debian-etch-20061218-amd64 --config vps.basic
vzctl set 102 --onboot yes --save
vzctl set 102 --hostname test102.mytest.org --save
vzctl set 102 --ipadd 10.0.0.102 --save
vzctl set 102 --numothersock 120 --save
vzctl set 102 --nameserver 10.0.0.2 --save
vzctl set 102 --privvmpages 500000:750000 --save # geben Sie ihm etwas Speicher CHECKME
vzctl start 102
vzctl exec 102 passwdund (ja, ich sehe, dass es nicht zu viele interessante Änderungen gibt)…
vzctl create 103 --ostemplate debian-etch-20061218-amd64 --config vps.basic
vzctl set 103 --onboot yes --save
vzctl set 103 --hostname test103.mytest.org --save
vzctl set 103 --ipadd 10.0.0.103 --save
vzctl set 103 --numothersock 120 --save
vzctl set 103 --nameserver 10.0.0.2 --save
vzctl set 103 --privvmpages 500000:750000 --save # geben Sie ihm etwas Speicher CHECKME
vzctl start 103
vzctl exec 103 passwdund starten Sie den ersten VPS (vzctl start 101), da wir ihn offline genommen haben, um ihn als Basis unserer Vorlage zu verwenden, erinnern Sie sich?
Jetzt haben wir 3 VPSs, die laufen. Testen Sie es mit vzlist, Ausgabe:
VEID NPROC STATUS IP_ADDR HOSTNAME
101 5 running 10.0.0.101 test101.mytest.org
102 5 running 10.0.0.102 test102.mytest.org
103 5 running 10.0.0.103 test103.mytest.orgVPSs benötigen etwas Speicher, standardmäßig wird ihnen viel zu wenig zugewiesen, also setzen Sie bitte die vmguarpages, oomguarpages, privvmpages usw. in Ihren VPS-Konfigurationsdateien (/etc/vz/conf/*.conf) auf einige sinnvolle Werte – eine Seite entspricht 4Kb. Die Fehler, die auftreten, weil Sie Ihren VPS zu stark eingeschränkt haben, können gelesen werden, indem Sie ausführen:
vzctl exec 101 cat /proc/user_beancountersDie letzte Spalte der UBC (user_beancounter) sollte nur Nullen enthalten, wenn nicht, versuchen Sie, einige Barrieren und Limits zu erhöhen. Konsultieren Sie die OpenVZ-Dokumentation für weitere Informationen zu den einzelnen Optionen.
Jetzt können wir fortfahren, unsere Apaches, Postfixe usw. auf den VPSs einzurichten… Viel Glück!
Ohh und hier meine /etc/vz/conf/101.conf-Datei, sie ist schrecklich, ich habe einfach einige Werte grob erhöht, weil wir einen Fehler im user_beancounter hatten.
cat /etc/vz/conf/101.conf# Copyright (C) 2000-2006 SWsoft. Alle Rechte vorbehalten.
#
# Dieses Programm ist freie Software; Sie können es unter den Bedingungen der GNU General Public License, wie sie von der Free Software Foundation veröffentlicht wurde, weitergeben und/oder ändern; entweder Version 2 der Lizenz oder (nach Ihrer Wahl) jede spätere Version.
#
# Dieses Programm wird in der Hoffnung verteilt, dass es nützlich sein wird, aber OHNE JEDE GARANTIE; ohne sogar die implizierte Garantie der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die GNU General Public License für weitere Details.
#
# Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben; wenn nicht, schreiben Sie an die Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
VERSION="2"
ONBOOT="yes"
# UBC-Parameter (in Form von Barriere:Limit)
# Primäre Parameter
AVNUMPROC="40:40"
NUMPROC="255:255"
NUMTCPSOCK="80:80"
NUMOTHERSOCK="255:255"
VMGUARPAGES="500000:9223372036854775807"
# Sekundäre Parameter
KMEMSIZE="33554432:36909875"
TCPSNDBUF="319488:524288"
TCPRCVBUF="524288:524288"
OTHERSOCKBUF="439296:439296"
DGRAMRCVBUF="132096:132096"
OOMGUARPAGES="500000:9223372036854775807"
# Hilfsparameter
LOCKEDPAGES="32:32"
SHMPAGES="8192:8192"
PRIVVMPAGES="500000:750000"
NUMFILE="10240:10240"
NUMFLOCK="100:110"
NUMPTY="16:16"
NUMSIGINFO="256:256"
DCACHESIZE="1048576:1097728"
PHYSPAGES="0:9223372036854775807"
NUMIPTENT="128:128"
# Diskquota-Parameter (in Form von softlimit:hardlimit)
DISKSPACE="1048576:1153434"
DISKINODES="200000:220000"
QUOTATIME="0"
# CPU fair scheduler Parameter
CPUUNITS="1000"
OFFLINE_MANAGEMENT="yes"
VE_ROOT="/var/lib/vz/root/$VEID"
VE_PRIVATE="/var/lib/vz/private/$VEID"
OSTEMPLATE="debian-3.1-amd64-minimal"
ORIGIN_SAMPLE="vps.basic"
HOSTNAME="101.mytest.org"
IP_ADDRESS="10.0.0.101"
NAMESERVER="10.0.0.2"Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.