libvirt_qemu_kvm

This is an old revision of the document!


Virtualisierung auf dem minad.de Server

Erstellen einer VM

 sudo virt-install -n user-vmname -r 500 --cpu host --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=virtio26 --disk /var/lib/libvirt/images/user-vmname.img,device=disk,bus=virtio,size=2,sparse=false,format=raw -w network=default,model=virtio --graphics spice,listen=127.0.0.1,port=61234 --video qxl --channel spicevmc --noautoconsole --location http://ftp.debian.de/debian/dists/testing/main/installer-amd64/

* -n → Name der VM * -disk → Image wird angelegt beim erstellen der VM, die größe ist mit size=1 angegeben, in Gigabyte * –graphics vnc,listen=127.0.0.1,port=9999999 → port immerwieder neu setzen, am besten im hohen 60000er bereich * –location → statt nem iso wird über netz gebootet. Im Beispiel wird Debian testing genommen, andere URLs siehe:

       Fedora/Red Hat Based
           http://ftp.uni-kl.de/pub/linux/fedora/linux/releases/16/Fedora/x86_64/os/
       Debian/Ubuntu
           http://ftp.us.debian.org/debian/dists/testing/main/installer-amd64/
       Suse
           http://download.opensuse.org/distribution/openSUSE-current/repo/oss/

Verbinden mit dem VNC client

  • Den Port der VNC verbindung von minad auf den Rechner leiten ( SSH ;) )
  • Um die Umstände in Zukunft zu vermeiden, Portforwarding nutzen

Der virt-manager ist eine GUI die sowohl lokale als auch remote laufende Hypervisor verwalten kann.

Einrichten der Verbindung

Erstellen einer VM

 (iptables -I FORWARD -m state -d 192.168.100.1/24 --state NEW,RELATED,ESTABLISHED -j ACCEPT) wird beim Systemstart automatisch gesetzt.
 iptables -t nat -I PREROUTING -p tcp --dport 65022 -j DNAT --to-destination 192.168.100.78:22

Das Gastsystem hat in dem Fall die IP 192.168.100.78, Dienst ist in dem Fall ssh :) Die erste Zeile ist für das Forwarding von Paketen auf die virbr0 (hat die IP 192.168.100.1, siehe “ip addr show”)

VM-hostname (IP) Anwendung Port
brot-vgentoo (192.168.100.183)rtorrent10797-10799 + udp:10797
brot-vgentoo (192.168.100.183)ssh10722
brot-torvm (192.168.100.190)ssh59022(→22)
brot-torvm (192.168.100.190)tor59030,59001
brot-pyhole-ircbot (192.168.100.231)ssh60022(→22)
brot-owncloud (192.168.100.161)ssh61022(→22)
brot-owncloud (192.168.100.161)ssh61080(→61080)
brot-webpy-dev (192.168.100.217)ssh62022(→22)
brot-webpy-dev (192.168.100.217)http62080(→80)
brot-webpy-dev (192.168.100.217)https62443(→443)

Zur Virtualisierung wird KVM und die damit zusammenhängenden Tools verwendet :) Das heisst im Endeffekt

  • KVM virtualisiert die CPU
  • Qemu kümmert sich um den Rest der Hardware
  • Libvirt (daemon) als Interface um die VM's zu verwalten

Qemu ist mit SPICE Support kompiliert. Dadurch lassen sich die VMs auch im graphischen Modus recht ordentlich bedienen

  • libvirt_qemu_kvm.1333355615.txt.gz
  • Last modified: 2012/04/02 08:33
  • by brot