KVM ist ein Hypervisor, der auf einem Linux-Kernel aufsetzt. Dieser Kernel muss zunächst auf der Hardware installiert werden.
Hinweis: Unter ubuntu 12.04 verläuft die Installation anders als hier beschrieben!
openSSH Server
“ bei der Installation auswählen.Geführt → ganze Platte + LVM
Nutzender Anteil: 50 GB von insgesamt 500 GB
(diese 50GB sind für den ubuntuserver selbst)Nach Installation empfiehlt es sich dem user root ein Passwort zu geben, so dass man sich danach als root direkt anmelden kann:
# sudo passwd root
Nach der Installation kann man prüfen, ob der Prozessor Virtualisierungsbefehle unterstützt:
# egrep -c '(vmx|svm)' /proc/cpuinfo
Dieser Befehl sollte als Ausgabe die Zahl 1 oder größer liefen, so dass ein oder mehrere Prozessorkerne mit Virtualisierungserweiterungen vorhanden sind.
Die externe IP des ubuntu-Servers im DSL-Router-Netz ist im Folgenden 192.168.200.110. Mit dieser IP kann man nun den Ubuntu-Server per ssh oder später per Web-Interface von ConVirt kontaktieren.
Zunächst als root anmelden.
# apt-get update # apt-get dist-upgrade # apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils # apt-get install kvm-pxe
Eingaben:
Dabei wird neben KVM auch qemu und PXE für LINBO installiert. Qemu stellt die gesamte virtuelle Hardware zur Verfügung.
Quellen in der Datei /etc/apt/sources.list
freigeben:
deb http://archive.canonical.com/ubuntu lucid partners deb-src http://archive.canonical.com/ubuntu lucid partners
und dann die Pakete installieren:
# apt-get update # apt-get install convirt2 convirture-tools # apt-get install ssh kvm socat dnsmasq uml-utilities lvm2 expect
Eingaben:
ConVirt im Webbrowser aufrufen. Benutzer und Erst-Kennwort lauten beide „admin“.
http://192.168.200.110:8081
Nun einen Server hinzufügen mit „Add Server“ und folgenden Punkten:
Für die Netzwerkeinrichtung sollte man nachfolgende Datei passend editieren und nicht ein automatisches Setuptool verwenden wie z.B. „convert-tool“
.
Das Netzwerk wird in der Datei /etc/network/interfaces
eingerichtet.
Unser Ubuntu-Server hatte drei Netzwerkkarten:
eth0 | Verbunden mit DSL-Router | Management-Interface für den ubuntuserver |
eth1 | Verbunden mit internem Switch | für grünes Netz des IPCop |
eth2 | Verbunden mit DSL-Router | für rotes Netz des IPCop |
Weitere Netzwerkkonfigurationen und Hinweise siehe → KVM virtuelle Netzwerke
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.200.110 netmask 255.255.255.0 network 192.168.200.0 broadcast 192.168.200.255 gateway 192.168.200.1 # IPCop Green auto eth1 iface eth1 inet manual auto br1 iface br1 inet manual bridge_ports eth1 bridge_fd 0 bridge_stp yes bridge_maxwait 0 # IPCop Red auto eth2 iface eth2 inet manual auto br2 iface br2 inet manual bridge_ports eth2 bridge_fd 0 bridge_stp yes bridge_maxwait 0
Die Namensgebung „br1“ bzw „br2“ ist dabei frei.
„br1“ ist dann eigentlich ein Switch, an dem die Netzwerkkarte „eth1“ eingesteckt ist. In den Switch „br1“ werden schließlich auch alle Netzwerkinterfaces der virtuellen Maschinen „eingesteckt“, die mit dem grünen Netz verbunden werden sollen.
Im folgenden arbeitet man am besten an einem PC, an dem man sowohl per Browser-Web-Gui Convirt konfiguriert als auch mit einem VNC-Viewer auf die Konsolen der virtuellen Maschinen Zugriff hat. Dieser PC muss sich im Netz des DSL-Routers 192.168.200.0 befinden.
Zunächst muss das Iso der paedML-Installations-CD auf den Ubuntu-Server am besten unter /var/cache/convirt/
abgelegt werden.
Als virtuelle Festplatten werden hier aus Performancegründen LVs verwendet, die Convirt in der Volume-Group (hier „ubuntu“) selbst anlegt.
Das Web-Interface von ConVirt ist erreichbar unter:
http://192.168.200.110:8081/
Nun den Punkt „Provision Virtual Machine“ aufrufen.
Achtung: Alle Optionen am Stück konfigurieren, da das nachträgliche Verändern der Settings nicht bei allen Optionen möglich ist.
IPCop | Guest OS | Linux - Debian | ||
---|---|---|---|---|
Speicher | 512 MB | |||
Storage | Festplatte | Options | Create New Disk | |
Type | Logical Volume | |||
Location | /dev/ubuntu/$VM_NAME.disk.xm | |||
VM-Device | hda (ide) | |||
CD-Rom | Options | Use Iso File | ||
Type | Select Iso | |||
Location | /var/cache/convirt/paedML.iso | |||
VM-Device | hdc: CD-Rom | |||
Netzwerk | eth0 | verbunden mit br1 - für green | ||
eth1 | verbunden mit br2 - für red | |||
Miscellaneous | apic, acpi | 0, 0 |
paedML | Guest OS | Linux - Debian | ||
---|---|---|---|---|
Speicher | 3072 MB | |||
Storage | Festplatte | Options | Create New Disk | |
Type | Logical Volume | |||
Location | /dev/ubuntu/$VM_NAME.disk.xm | |||
VM-Device | vda (virtio) | |||
CD-Rom | Options | Use Iso File | ||
Type | Select Iso | |||
Location | /var/cache/convirt/paedML.iso | |||
VM-Device | hdc:CD-Rom | |||
Netzwerk | eth0 | verbunden mit br1 - für green | virtio | |
Miscellaneous | apic,acpi | 1, 1 |
IPCop auf Booten von CD-Rom umstellen und die Maschine starten. Das Grüne Interface wird dabei automatisch auf die ersten Netzwerkarte gesetzt, dies ist leider im Setup nicht umzukonfigurieren. Das Rote Interface so konfigurieren, als wäre es direkt mit dem DSL-Router verbunden, z.B. mit static - IP 192.168.200.111. Ansonsten alles wie im Administrator-Handbuch beschrieben.
Ggf. ein notwendiges Vertauschen der Netzwerkkarten-Zuordnung (br0 ↔ br1) mit dem Web-Interface von ConVirt durchführen.
paedML auf Booten von CD-Rom umstellen und die Maschine starten. Installation wie im Administrator-Handbuch. Dabei die „gesamte Platte“ verwenden und kein LVM, das ist in einer virtuellen Maschine nicht notwendig.
Die Installations-Iso von WinXP, Ubuntu, Win7 … unter /var/cache/convirt/
ablegen.
Win7 | Guest OS | Windows - Windows 7 | ||
---|---|---|---|---|
Speicher | 3072 MB | |||
Storage | Options | Create New Disk | ||
Type | Logical Volume | |||
Location | /dev/ubuntu/$VM_NAME.disk.xm | |||
VM-Device | hda | Win7 bootet nicht von vda, spätere Umstellung ist aber möglich dazu muss vitio-Treiber installiert werden |
||
Netzwerk | rtl8139 | verbunden mit br1 - für green | ||
Miscellaneous | apic,acpi | 1, 1 | notwendig | |
boot | n |
Auf dem Ubuntu-Server kann ein NFS-Share gemountet werden (z.B. /abc vom nasserver), das man dann an die virtuellen Maschinen weiterreicht:
# apt-get install nfs-client # mount -t nfs nasserver:/abc /mnt/abc
Genaues Vorgehen ??? … bin noch am testen …
Status der Bridges abrufen:
# brctl show
Virtuell laufende Maschine aufrufen: PROBLEM: die ConVirt-Maschinen erscheinen hier nicht!
# virsh list
Volume Group auflisten:
# vgscan
Ausgabe:
Found Volume Group "ubuntu".
Logical-Volume auflisten:
# lvscan
Ausgabe:
ACTIVE /dev/ubuntu/root 50GB inherit ACTIVE /dev/ubuntu/swap_1 2GB inherit ACRIVE /dev/ubuntu/ipcop.disk.xm 10GB inherit ACTIVE /dev/ubuntu/paedml.disk.xm 300GB inherit