Schlagwort-Archiv: openvz

OpenVZ Virtualisierung

Nachdem ich jahrelang XEN und Virtualbox als Virtualisierungsplattform benutzt hatte, teste ich momentan OpenVZ.

Ähnlich wie z.B. jails unter BSD oder Container in Opensolaris stellt OpenVZ isolierte Container für Betriebssysteme / Prozesse zur Verfügung.

Installation:

- als erstes bereiten wir das Repository vor (hier unter Centos 6.2)

cd /etc/yum.repos.d/
curl -OL http://download.openvz.org/openvz.repo
rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ
yum update

- jetzt installieren wir den Kernel

yum install ovzkernel.x86_64

 

- jetzt schauen wir, ob in /etc/sysctl.conf folgendes steht (oder tragen es ein)

net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

 

- nach einem reboot installieren wir noch ein paar nützliche Pakete

yum install vzctl.x86_64 vzquota.x86_64

 

 

  • die Distributionsvorlagen (templates) liegen in /vz/template/cache, neue können per wget von http://download.openvz.org/template/precreated/ heruntergeladen werden
  • die Konfigurationsdateien der einzelnen Maschinen liegen unter /etc/sysconfig/vz-scripts/
  • das Filesystem (ja, es kann direkt vom Host aus zugegriffen werden :-) ) der VM liegt standardmässig unter /vz/root/VPS_ID

Nützliche Befehle

  • vzctl create 101 –ostemplate ubuntu-12.04-x86_64 –config basic // erstellt eine Ubuntu-VE mit der ID 101
  • vzctl set 101 –ipadd 192.168.7.203 –save  // weist dem virtuellen Server eine IP zu und speichert diese in der config
  • vzctl set 101 –nameserver 192.168.7.1 –save // weist der VE einen Nameserver zu
  • vzctl set 101 –onboot yes –save // startet VM beim booten des Hosts
  • vzctl exec 101 Befehl // führt Befehl auf Maschine 101 aus
  • vzctl set 101 –ram 512M –save // Maschine 101 erhält 512 MB RAM
  • vzctl start / restart / shutdown / destroy / stop
  • vzctl chkpnt 101 –dumpfile /tank/vz/102dump.dump // erstellt einen snapshot der VM und speichert diese im dumpfile
  • vzpid PID // zeigt an, in welcher VM eine bestimmte PID läuft
  • vzlist // zeigt laufende VM`s mit deren ID’s

Dieses kleine script führt einen Befehl auf allen laufenden VM`s aus

  • for i in `vzlist -o veid -H`; do echo “VPS $i”; vzctl exec BEFEHL; done
  •  Beispiel: for i in `vzlist -o veid -H`; do echo “VPS $i”; vzctl exec $i uptime; done