OpenVZ Installation · 6 min read · Nov 25, 2025

Installation und Verwendung von OpenVZ auf Ubuntu 13.04 (AMD64)

Installation und Verwendung von OpenVZ auf Ubuntu 13.04 (AMD64)

Version 1.0
Autor: Falko Timme
Folge mir auf Twitter

In diesem HowTo werde ich beschreiben, wie man einen Ubuntu 13.04-Server für OpenVZ vorbereitet. Mit OpenVZ können Sie mehrere Virtuelle Private Server (VPS) auf derselben Hardware erstellen, ähnlich wie bei Xen und dem Linux Vserver-Projekt. OpenVZ ist der Open-Source-Zweig von Virtuozzo, einer kommerziellen Virtualisierungslösung, die von vielen Anbietern verwendet wird, die virtuelle Server anbieten. Der OpenVZ-Kernel-Patch ist unter der GPL-Lizenz lizenziert, und die Benutzertools sind unter der QPL-Lizenz.

Dieses HowTo soll als praktische Anleitung dienen; es behandelt nicht die theoretischen Hintergründe. Diese werden in vielen anderen Dokumenten im Web behandelt.

Dieses Dokument kommt ohne jegliche Gewährleistung! Ich möchte sagen, dass dies nicht der einzige Weg ist, ein solches System einzurichten. Es gibt viele Möglichkeiten, dieses Ziel zu erreichen, aber dies ist der Weg, den ich wähle. Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

Ich verwende hier ein x86_64 (amd64) System. Wenn Sie ein i386-System verwenden, werden einige Befehle leicht unterschiedlich sein.

2 Installation von OpenVZ

Für Ubuntu 13.04 gibt es keinen OpenVZ-Kernel in den offiziellen Repositories. Daher müssen wir OpenVZ aus den offiziellen RPM-Paketen des OpenVZ-Projekts installieren (siehe Installieren des Kernels aus RPM auf Debian 6.0) - mit ploop-Unterstützung.

2.1 Installation aus den offiziellen RPM-Paketen des OpenVZ-Projekts

Laden Sie die neuesten vzkernel-, vzctl-, ploop- und vzquota-RPM-Pakete von http://wiki.openvz.org/Download/kernel/rhel6 und http://wiki.openvz.org/Download/utils herunter, z.B. wie folgt::

cd /tmp
wget http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab076.8/vzkernel-2.6.32-042stab076.8.x86_64.rpm
wget http://download.openvz.org/kernel/branches/rhel6-2.6.32/042stab076.8/vzkernel-devel-2.6.32-042stab076.8.x86_64.rpm
wget http://download.openvz.org/utils/vzctl/4.3.1/vzctl-4.3.1-1.x86_64.rpm
wget http://download.openvz.org/utils/vzctl/4.3.1/vzctl-core-4.3.1-1.x86_64.rpm
wget http://download.openvz.org/utils/ploop/1.7/ploop-1.7-1.x86_64.rpm
wget http://download.openvz.org/utils/ploop/1.7/ploop-lib-1.7-1.x86_64.rpm
wget http://download.openvz.org/utils/vzquota/3.1/vzquota-3.1-1.x86_64.rpm

Installieren Sie die folgenden Pakete…

apt-get install fakeroot alien libcgroup1

… und konvertieren Sie die RPM-Pakete in DEB-Pakete:

fakeroot alien --to-deb --scripts --keep-version vz*.rpm ploop*.rpm

Installieren Sie die DEB-Pakete wie folgt:

dpkg -i vz*.deb ploop*.deb 

Als nächstes müssen wir sicherstellen, dass der richtige Kernel (der OpenVZ-Kernel) beim Neustart des Systems geladen wird. In der Ausgabe des letzten Befehls sollten Sie etwas sehen wie:

Einrichten von vzkernel (2.6.32-042stab076.8) …
update-initramfs: Generiere /boot/initrd.img-2.6.32-042stab076.8
WARNUNG: konnte /lib/modules/2.6.32-042stab076.8/modules.builtin nicht öffnen: Datei oder Verzeichnis nicht gefunden
WARNUNG: konnte /tmp/mkinitramfs_I0VIfE/lib/modules/2.6.32-042stab076.8/modules.builtin nicht öffnen: Datei oder Verzeichnis nicht gefunden
Generiere grub.cfg …
Gefundenes Linux-Image: /boot/vmlinuz-3.8.0-19-generic
Gefundenes initrd-Image: /boot/initrd.img-3.8.0-19-generic
Gefundenes Linux-Image: /boot/vmlinuz-2.6.32-042stab076.8
Gefundenes initrd-Image: /boot/initrd.img-2.6.32-042stab076.8
Gefundenes memtest86+-Image: /memtest86+.bin
Fertig

Das bedeutet, dass sich auch ein anderer Kernel (3.8.0) auf dem System befindet und der OpenVZ-Kernel (2.6.32) nicht der erste in der Liste ist. Um den OpenVZ-Kernel zum Standardkernel zu machen, haben wir zwei Optionen - den Standardkernel in GRUB anpassen (empfohlen) oder die nicht-VZ-Kernel entfernen.

Um den Standardkernel in GRUB anzupassen, öffnen Sie /etc/default/grub…

vi /etc/default/grub

… und ändern Sie die Zeile GRUB_DEFAULT (das Zählen beginnt bei 0; unser OpenVZ ist der dritte Kernel im Untermenü “Erweiterte Optionen für Ubuntu GRUB” (was die zweite Option im Bootmenü nach dem 3.8.0-Kernel ist), also müssen wir hier “1>2” (in Anführungszeichen) eingeben - mehr über GRUB-Untermenu finden Sie hier: https://help.ubuntu.com/community/Grub2/Submenus):

| [...] GRUB_DEFAULT="1>2" [...] |

Aktualisieren Sie anschließend GRUB:

update-grub

Um den Standardkernel zu entfernen, führen Sie aus…

apt-get remove linux-image linux-image-3.8.0-19-generic

… und aktualisieren Sie GRUB:

update-grub

Jetzt, da wir sichergestellt haben, dass der richtige Kernel bootet, können wir fortfahren.

Als nächstes müssen wir überprüfen, ob wir UUIDs anstelle von Gerätenamen in /etc/fstab verwenden, da das System sonst möglicherweise nicht mit dem OpenVZ-Kernel bootet. Führen Sie aus…

blkid

… um die UUIDs Ihrer Geräte/Partitionen herauszufinden:

root@server1:/tmp# blkid
/dev/sda1: UUID=”9b8299f1-b2a2-4231-9ba1-4540fad76b0f” TYPE=”ext2”
/dev/sda5: UUID=”M83xtW-GofR-FFaa-myo1-T4Gw-grKe-Kg1Etc” TYPE=”LVM2_member”
/dev/mapper/server1–vg-root: UUID=”a5a6e916-64e1-4af9-8bd4-32491d7edcac” TYPE=”ext4”
/dev/mapper/server1–vg-swap_1: UUID=”a68ae8a2-c2cd-4e92-af08-a71661f8f719” TYPE=”swap”
root@server1:/tmp#

Öffnen Sie /etc/fstab:

vi /etc/fstab

Mein ursprüngliches /etc/fstab sieht wie folgt aus (wie Sie sehen, wird die UUID der /boot-Partition bereits verwendet, aber für / und swap werden die Gerätenamen verwendet):

| # /etc/fstab: statische Dateisysteminformationen. # # Verwenden Sie 'blkid', um den universell eindeutigen Bezeichner für ein # Gerät auszudrucken; dies kann mit UUID= als robustere Methode verwendet werden, um Geräte zu benennen, # die auch funktioniert, wenn Festplatten hinzugefügt und entfernt werden. Siehe fstab(5). # # /dev/mapper/server1--vg-root / ext4 errors=remount-ro 0 1 # /boot war während der Installation auf /dev/sda1 UUID=9b8299f1-b2a2-4231-9ba1-4540fad76b0f /boot ext2 defaults 0 2 /dev/mapper/server1--vg-swap_1 none swap sw |

Ändern Sie es so, dass UUIDs für alle Partitionen verwendet werden:

| # /etc/fstab: statische Dateisysteminformationen. # # Verwenden Sie 'blkid', um den universell eindeutigen Bezeichner für ein # Gerät auszudrucken; dies kann mit UUID= als robustere Methode verwendet werden, um Geräte zu benennen, # die auch funktioniert, wenn Festplatten hinzugefügt und entfernt werden. Siehe fstab(5). # # #/dev/mapper/server1--vg-root / ext4 errors=remount-ro 0 1 UUID=a5a6e916-64e1-4af9-8bd4-32491d7edcac / ext4 errors=remount-ro 0 1 # /boot war während der Installation auf /dev/sda1 UUID=9b8299f1-b2a2-4231-9ba1-4540fad76b0f /boot ext2 defaults 0 2 #/dev/mapper/server1--vg-swap_1 none swap sw 0 0 UUID=a68ae8a2-c2cd-4e92-af08-a71661f8f719 none swap sw 0 0 |

Stellen Sie sicher, dass OpenVZ beim Booten automatisch gestartet wird:

update-rc.d vz defaults
update-rc.d vzeventd defaults

Als nächstes müssen wir einige Bibliotheken verlinken:

ln -s /usr/lib64/libvzctl-4.3.1.so /usr/lib
ln -s /usr/lib64/libploop.so /usr/lib

Wenn Sie ploop-Container verwenden möchten, tun Sie dies:

apt-get install parted

Öffnen Sie auch /etc/init.d/vz…

vi /etc/init.d/vz

… und fügen Sie die Zeile mkdir $VARLOCK/ploop hinzu, um sicherzustellen, dass das Verzeichnis /var/lock/ploop nach einem Neustart neu erstellt wird:

| #!/bin/sh # Copyright (C) 2000-2009, Parallels, Inc. Alle Rechte vorbehalten. # # Dieses Programm ist freie Software; Sie können es unter den Bedingungen der GNU General Public License, wie von # der Free Software Foundation veröffentlicht; 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 JEGLICHE GARANTIE; ohne sogar die implizierte Garantie der # MARKTFÄHIGKEIT 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; falls nicht, schreiben Sie an die Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # # OpenVZ-Startskript, verwendet für Redhat- und Debian-bezogene Distributionen. ### # chkconfig: 2345 96 20 # Beschreibung: OpenVZ-Startskript. ### ### BEGIN INIT INFO # Provides: vz # Required-start: $network $remote_fs $syslog # Required-stop: $network $remote_fs $syslog # Should-Start: sshd vzeventd # Should-Stop: sshd vzeventd # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Kurzbeschreibung: OpenVZ-Startskript # Beschreibung: OpenVZ-Startskript. ### END INIT INFO # Diese Zeile ist notwendig, um /etc/init.d/rc zu täuschen, das ein Aktionswort erwartet . /usr/libexec/vzctl/scripts/initd-functions mkdir $VARLOCK/ploop [...] |

Erstellen Sie einen Symlink von /vz nach /var/lib/vz, um die Abwärtskompatibilität zu gewährleisten:

ln -s /vz /var/lib/vz

Öffnen Sie /etc/sysctl.conf und stellen Sie sicher, dass Sie die folgenden Einstellungen darin haben:

vi /etc/sysctl.conf

| [...] net.ipv4.conf.all.rp_filter=1 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.conf.default.forwarding=1 net.ipv4.conf.default.proxy_arp = 0 net.ipv4.ip_forward=1 kernel.sysrq = 1 net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.eth0.proxy_arp=1 [...] |

Wenn Sie /etc/sysctl.conf ändern müssen, führen Sie danach aus

sysctl -p 

Der folgende Schritt ist wichtig, wenn die IP-Adressen Ihrer virtuellen Maschinen aus einem anderen Subnetz als die IP-Adresse des Hosts stammen. Wenn Sie dies nicht tun, funktioniert das Netzwerk in den virtuellen Maschinen nicht!

Öffnen Sie /etc/vz/vz.conf und setzen Sie NEIGHBOUR_DEVS auf all:

vi /etc/vz/vz.conf

| [...] # Steuert, welche Schnittstellen ARP-Anfragen senden und APR-Tabellen ändern. NEIGHBOUR_DEVS=all [...] |

Installieren Sie vzdump:

apt-get install vzdump

Schließlich starten Sie das System neu:

reboot

Wenn Ihr System ohne Probleme neu startet, dann ist alles in Ordnung!

Führen Sie aus

uname -r

und Ihr neuer OpenVZ-Kernel sollte angezeigt werden:

root@server1:~# uname -r
2.6.32-042stab076.8
root@server1:~#

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.