Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:virtualisierung

OS Virtualisierung unter Linux

  • Server- oder Prozess-Virtualisierung keine Voll-virtualisierer: LXC Linux Container Virtualisierung
  • System Virtualisierung / Voll Virtualisierung z.B. auch um MS Windows als Gast auszuführen. KVM Kernel bases Virtual Machine

CPU Virt Features

In der CPU Information muss entweder svm für AMD Prozessoren oder vmx für Intel Prozessoren zu finden sein.

egrep "svm|vmx" /proc/cpuinfo

Befehle auf Qemu Konsole

Strg + Alt + 2 = qemu-monitor, zum senden von Befehlen an die Virtuelle-Maschine wärend der Laufzeit Strg + Alt + 1 = schaltet zurück zur Virtuellen-Maschine

+ Snapshots + Der Zugriff auf VM-Snapshots ist sowohl über diese ID, als auch über seinen Namen möglich. Gibt es bereits einen VM-Snap­shot mit dem gleichen Namen oder mit der gleichen Nummer, wird dieser überschrieben.

(qemu) savevm vor_PatchDay

Nach dem Anlegen des VM-Snapshots können Änderungen am System durchgeführt werden. Danach kann ein weiterer VM-Snapshot angelegt werden.

(qemu) savevm nach_PatchDay

Falls es zu ungewollten Veränderungen gekommen ist können diese mit dem Befehl loadvm rückgängig gemacht werden. Es wird der Zustand des angegebenen VM-Snapshots wiederhergestellt.

(qemu) loadvm vor_PatchDay

Nicht mehr benötigte VM-Snapshots sollten gelöscht werden, da sie Speicherplatz belegen.

(qemu) delvm vor_PatchDay

Informationen zu vorhandenen VM-Snapshots zeigt im QEMU-Monitor der Befehl: (qemu) info snapshots

KVM/Qemu VM's einrichten und starten

Virtuelle Festplatten erstellen

das Image Format wird mit der Option -f angegeben, wird -f weggelassen wird das raw Format verwendet. (hier wird noch qcow genommen neu ist qcow2):

qemu-img create -f qcow suse01.img 6G
qemu-img create -f qcow2 probeimg.img 5G
qemu-img-kvm create -f qcow2 SLED11_201.qcow2 8G
Bridging mit TAP-device

folgende mögliche Befehle fügen dem NIC eine passende MAC-Adresse hinzu:

qemu -hda debian01.img -m 512 -cdrom debian-squeeze-i386-netinst.iso -net nic,macaddr=aa:bb:cc:dd:00:01 -net tap /dev/sr0 -boot d
qemu -hda debian01.img -cdrom /dev/sr0 -net nic,macaddr=aa:bb:cc:dd:00:01 -net tap -boot d
qemu -hda qemu_img/suse01.img -m 512 -cdrom SLES_11_SP1_NetVault_DR.i686-0.0.1.iso -net nic,macaddr=aa:bb:cc:dd:00:01 -net tap -boot d
qemu-kvm -drive if=virtio,file=sles11_01-clone -cdrom ../SLES_11_SP1_Vault_DR.i686-0.0.5.iso -m 768 -net nic,macaddr=52:54:00:00:00:01 -net tap -boot c &

Für 64Bit:

qemu-system-x86_64 -hda debian01.img -cdrom /dev/sr0 -net nic,macaddr=aa:bb:cc:dd:00:01 -net tap -boot d
qemu-system-x86_64 -hda debian01.img -m 512 -cdrom /dev/sr0 -net nic,macaddr=aa:bb:cc:dd:00:01 -net tap -boot d
unterschiedliche UUID's
qemu-kvm -hda /media/Sicherung/SicherArbeit/other/qemu_img/SLES11_203.qcow2 -smbios type=1,serial=ABCD123 -uuid 12345678-abcd-4321-abcd-1234567890cd -m 1024 -net nic,macaddr=52:54:00:00:00:02 -net tap -boot c &
qemu-kvm -hda /media/Sicherung/SicherArbeit/other/qemu_img/SLED11_202.qcow2 -smbios type=1,serial=DCBA321 -uuid 87654321-abcd-1234-abcd-1234567890ab -m 1024 -net nic,macaddr=52:54:00:00:00:03 -net tap -boot c &
qemu-kvm -hda /media/Sicherung/SicherArbeit/other/qemu_img/SLED11_202.qcow2 -cdrom /media/Sicherung/SicherArbeit/other/SLES-11-SP1-DVD-x86_64-GM-DVD1.iso -smbios type=1,serial=525401A -uuid 52540001-aabb-4321-abcd-1234567890dc -m 1024 -net nic,macaddr=52:54:00:00:00:01 -net tap -boot c &
Netzwerk-Boot

Mit der Option -boot n

qemu-kvm -drive if=virtio,file=sles11_01-clone -cdrom ../SLES_11_SP1_Vault_DR.i686-0.0.5.iso -m 768 -net nic,macaddr=52:54:00:00:00:01 -net tap -boot n &

Konfiguration auf dem Host-System

Es wird eine Netzwerkbrücke eingerichtet, hier anhand eines Beispiels mittels bonding, wobei zwei NIC's zu bond0 zusammengefasst werden und von diesen Interface aus eine Bridge gebaut wird. Inhalt der /etc/network/interfaces:

auto lo bond0 br0

iface bond0 inet manual

      slaves eth0 eth1
      bond-mode 4
      bond-miimon 100

iface br0 inet static

      address 192.168.1.12
      gateway 192.168.1.1
      netmask 255.255.255.0
      network 192.168.1.0
      broadcast 192.168.1.255
dns-nameservers 192.168.1.1
bridge_ports bond0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge stp off

AQEMU als root mit den Einstellungen starten: Reiter Network –> NIC Model „default“

		Connection Mode: "Open a TUN/TAP interface"

Häkchen bei TUN/TAP Script: /etc/qemu-ifup

Inhalt von /etc/qemu-ifup #!/bin/sh

switch=$(/sbin/ip route list | awk '/^default / { print $5 }') /sbin/ifconfig $1 0.0.0.0 up /usr/sbin/brctl addif ${switch} $1

+ weitere KVM Doku +

#!/bin/sh

ARGS=„-hda win2k.img -boot c -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=/etc/qemu-ifup -m 256 -localtime“

echo „Loading kqemu kernel module…“ sudo modprobe kqemu echo „….“

echo „Starting QEMU with…“ echo $ARGS echo „….“ exec qemu $ARGS

Wichtige Vorbereitungen für dieses Skript!

 1. Installation des Paketes bridge-utils
 2. Umstellung der Netzwerk-Konfiguration
 3. Anlegen eines Skriptes /etc/kvm/kvm-bridge
 4. Sudo-Konfiguration einrichten

Das Paket bridge-utils benötigen wird zur Einrichtung und Konfiguration einer Netzwerk-Bridge.

Die Datei /etc/network/interfaces habe ich wie folgt eingerichtet:

 # The loopback interface
 # automatically added when upgrading
 auto lo
 iface lo inet loopback
 
 # The bridge network interface(s)
 auto br0
 iface br0 inet static
   address 192.168.1.108
   network 192.168.1.0
   netmask 255.255.255.0
   broadcast 192.168.1.255
   gateway 192.168.1.1
   dns-nameservers 192.168.1.1
   bridge_ports eth0
   bridge_fd 9
   bridge_hello 2
   bridge_maxage 12
   bridge_stp off
 # eof

Das Netzwerk auf dem Host sollte damit noch funktionieren. Die Optionen kann jeder anpassen, wie er gerne möchte…

Die ausführbare Datei /etc/kvm/kvm-bridge beinhaltet folgendes:

 #!/bin/sh
 sudo /sbin/ifconfig $1 0.0.0.0 promisc up
 sudo /usr/sbin/brctl addif br0 $1
 # eof

Nun richten wir noch die Sudo-Konfiguration mittels visudo ein. Beispiel:

 %kvm ALL=NOPASSWD:/sbin/ifconfig
 %kvm ALL=NOPASSWD:/usr/sbin/brctl
 %kvm ALL=NOPASSWD:/usr/sbin/tunctl

Hier wird der Gruppe kvm voller Zugriff auf die Programme ifconfig, brctl und tunctl gegeben. (Sicher kann man die Einträge zusammenfassen, aber für mich ist das so übersichtlicher.)

Nach dem Start der virtuellen Maschine über /srv/kvm/script/kvm_sidux_start.sh, sollte jetzt in Sidux Ihr lokales Netzwerk zur Verfügung stehen. Falls auf dem Router dhcp eingerichtet ist brauchen Sie nichts tun. Andernfalls sollten Sie das Netzwerk von Hand einrichten.

Konsolen-Tool virsh

iglu:/ # virsh list Id Name Status


1 sles11-clone         laufend
wiki/virtualisierung.txt · Zuletzt geändert: 2015/09/27 19:34 von 127.0.0.1