====== Virtualisierung auf dem minad.de Server ====== ===== Erstellen/Nutzen der Virtuellen Maschinen ===== ==== auf der Shell ==== === 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.de.debian.org/debian/dists/unstable/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.de.debian.org/debian/dists/unstable/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 ==== mit dem virt-manager ==== Der virt-manager ist eine GUI die sowohl lokale als auch remote laufende Hypervisor verwalten kann. === Einrichten der Verbindung === {{:virtmanager_wiki1.png|}} {{:virtmanager_wiki2.png|}} === Erstellen einer VM === ===== Forwarding für die NAT-Netzwerkverbindung ===== (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") ==== Bisherige Forwards ==== ^ VM-hostname (IP) ^ Anwendung ^ Port ^ | brot-vgentoo (192.168.100.183)|rtorrent|10797-10799 + udp:10797| | brot-vgentoo (192.168.100.183)|ssh|10722| | brot-torvm (192.168.100.190)|ssh|59022(->22)| | brot-torvm (192.168.100.190)|tor|59030,59001| | brot-pyhole-ircbot (192.168.100.231)|ssh|60022(->22)| | brot-owncloud (192.168.100.161)|ssh|61022(->22)| | brot-owncloud (192.168.100.161)|ssh|61080(->61080)| | brot-webpy-dev (192.168.100.217)|ssh|62022(->22)| | brot-webpy-dev (192.168.100.217)|http|62080(->80)| | brot-webpy-dev (192.168.100.217)|https|62443(->443)| ===== verwendete Software ===== 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 [[http://spice-space.org/|SPICE]] Support kompiliert. Dadurch lassen sich die VMs auch im graphischen Modus recht ordentlich bedienen