silvesterlangen.de

Seite
Menü

OpenVZ

Was ist OpenVZ?

OpenVZ ist eine Open Source "Container Style" Virtualisierung vom Hersteller Virtuozzo, die den Kernel des Hosts verwendet. Alle "Container", also die VMs, können aber trotzdem einzeln heruntergefahren bzw. rebootet werden ohne Auswirkung aufeinander zu haben und besitzen jeweils ein eigenes Root-Konto.  Alle VMs (Gäste) verhalten sich aus Sicht der Benutzer wie eigentständige Server und könnten für eigene verschiedene Zwecke konfiguriert werden. Außerdem müssen alle Gäste Linux sein. Windows geht darauf nicht auszuführen. Dennoch hat OpenVZ seine Daseinsberechtigung, denn im Gegesatz zu KVM ist es sehr schlank, schnell und hat vor allem deutlich weniger Overhead, was dazu führt, dass sich mehr VMs auf dem gleichen Host betreiben lassen.

 

Wann und warum sollte ich OpenVZ einsetzen?

Für die Verwendung von OpenVZ bzw. Container-Virtualisierung (LXC wäre eine Alternative!) gibt es gleich mehrere Gründe. Da keine Hardware emuliert werden muss wie bspw. bei KVM, bleibt wie bereits geschrieben einiges an Overhead weg. Im Falle einer VM, die mit Linux bereitgestellt werden soll, kann man sich also viel sparen. Obendrein wird so eine VM aus einem Template erzeugt, was sehr schlank ist. Ein containerbasiertes System ist innerhalb einer Minuten, wenn nicht sogar weniger Sekunden, betriebsbereit. Die Templates sind frei zum Download und in vielen Distributionen verfügbar.

 

Das Szenario

Wir haben ein System mit ausrechend Ram, CPU (sinnvollerweise Cores > 4) und ausrechend Festplattenkapazität und möchten einen Virtualisierungsknoten bauen, der uns die Möglichkeit gibt für verschiedene linuxbasierte Projekte eine Plattform anzubieten. Diese Linuxsysteme (VMs bzw. Gäste) können für verschiedene Zwecke konfiguriert werden. Einer bspw. soll  Nextcloud bereitstellen, ein anderer ist für Postfix und so weiter.

Natürlich könnte man das alles auf einer VM installieren, aber die Unterteilung in verschiedene VMs hat gleich mehrere Vorteile. Beispielsweise fällt so das Backup der VM leichter oder im Falle eines Ressourcenengpasses lässt sich bspw. Nextcloud leichter auf einen leistungsstärkeren Wirt übertragen. Mach das mal mit einem dedizierten Server. :-)

 

Die Umgebung

Als Umgebung habe ich einen Server mit CentOS 6.10 installiert. Ausreichend Ram, CPU und Festplattenplatz sind selbstverständlich. Die Anbindung ans Netzwerk ist 1 Gbit. Die Internetanbindung immerhin noch 100/40 Mbit, was für den Betrieb der eigenen privaten Cloud ausrechend ist. Den Hostnamen und die IP-Konfiguration habe ich bereits bei der Installation von CentOS vorgenommen.

Nach der Installation von CentOS habe ich ein Update gemacht, um alle Pakete aktuell auf dem Server zu haben. Ein yum upgrade startet den Vorgang. Danach dauert es etwas. Der OpenVZ-Wirt hört auf die IP 192.168.2.110.

 

Die Installation

Nach dem Centos in der Minitmalinstallation auf dem System installiert wurde, können wir auch schon gleich mit der Installation und Konfiguration von OpenVZ beginnen.

Zunächst holen wir uns das Repository von OpenVZ rein. Das geht so:

cd /etc/yum.repos.d/
wget https://download.openvz.org/openvz.repo
rpm --import https://download.openvz.org/RPM-GPG-Key-OpenVZ

Jetzt können wir uns den VZKernel und Tools holen und installieren.

yum install vzkernel -y
yum install vzctl vzquota ploop -y

Das System sollte sich nun alle nötigen Pakete und abhängigen Pakete installieren. Nach der Installation ist ein Reboot notwendig. Danach schauen wir mit einem uname -a nach, ob der richtige Kernel geladen wurde.

 

Fertiges OS-Template

Bevor wir damit beginnen können einen Gast zu installieren, benötigen wir zunächst ein Template aus dem der Gast generiert wird. Dazu lädt man am besten einfach ein fertiges Template herunter und speicher es in /vz/template/cache/. Falls "cache/" noch nicht existiert, so legt man es schnell händisch selbst an. Dann speichert man das Template dort ab:

wget http://download.openvz.org/template/precreated/centos-7-x86_64-minimal.tar.gz

 

Die erste VM installieren

Nun haben wir also einen funktionierenden OpenVZ-Wirt und ein Template aus dem wir die VM erstellen können. Fangen wir also an.

vzctl create 101 --ostemplate centos-7-x86_64-minimal

Die VM wird nun mit der ID 101 erstellt aus dem vorhin heruntergeladenen Template.

 

Netzwerkeinstellungen vornehmen

Nun geben wir der VM eine IP-Adresse sowie einen Eintrage für den DNS, den es verwenden soll.

vzctl set 101 --ipadd 192.168.1.101 --save

vzctl set 101 --nameserver 8.8.8.8 --save

vzctl set 101 --hostname vps101.silvesterlangen.local --save

 

Festplattenbelegung begrenzen (Disk-Quotas )

Damit die VM nicht das Wirtsystem vollständig belegen kann bzw. wenn man den Wunsch hat die Festplattennutzung der VM einzuschränken, muss man sog. Disk-Quotas setzen. Dabei gibt es Hard- und Softlimits. Das Softlimit ist die eigentliche Größe, die die VM nutzen darf. Das Hardlimit ist die Kapazität ab der die VM nicht mehr auf Disk schreiben kann.

vzctl set 101 --diskspace SoftLimitG:HardLimitG --save
vzctl set 101 --diskspace 40G:45G --save

 

RAM und SWAP festlegen

vzctl set 101 --ram 1G --swap 1G --save

 

Die VM beim booten des Wirts starten

vzctl set 101 --onboot yes --save

 

Root-Passwort setzen

vzctl set 101 --userpasswd root:<hierDasPasswort>

 

Die VM starten, "betreten", usw.

Die VM hat nun eine IP-Adresse und nach dem starten mit vzctl start 101 hat ein Test-Ping  funktioniert? Prima, dann können wir uns mal darauf verbinden mit vzctl enter 101

Nun befinden wir uns innerhalb der VM und können verschiedene Dinge tun, um sie einzurichten. Natürlich möchte man die VM auch wieder verlassen. Das geschieht mit einem einfachen exit

 

Internetzugang fehlt

Wenn man erst mal auf der VPS (VM) ist, dann stellt man schnell fest, dass es keinen Zugriff auf das Netzwerk/Internet gibt. Das liegt am Wirt (OpenVZ) selbst, dessen Firewallregeln den Zugriff der VPS verhindert. Da ich hier in einer Testumgebung werkel spricht nichts dagegen die Firewall abzustellen.

iptables -F

/etc/init.d/iptables save

 

VPS auflisten mit vzlist

vzlist --all         - listet alle VPS auf, die es gibt

vzlist --stopped     - listet alle VPS auf, die gestoppt sind

vzlist               - listet alle VPS auf, die laufen.

 

 

 

weiter zu:

« vorige Seite Seitenanfang nächste Seite »
Seite
Menü
Earned Certificates:
LPIC-1 LPIC-1 LPIC-1
Powered by CMSimple | Template by CMSimple | Login