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
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 SPICE Support kompiliert. Dadurch lassen sich die VMs auch im graphischen Modus recht ordentlich bedienen