KVM
Inhaltsverzeichnis
Headless Windows mit KVM
libvirt
Basic commands
KVM-Maschine auf der lokalen Maschine steuern
starten
virsh --connect qemu:///system start win-10-2-ISO
Herunter fahren per ACPI
virsh --connect qemu:///system shutdown win-10-2-ISO
Maschine abschalten (Stecker ziehen)
virsh --connect qemu:///system destroy win-10-2-ISO
VM erstellen
http://bart.vanhauwaert.org/hints/installing-win10-on-KVM.html
Vorher herunter laden https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
Das Beispiel nutzt eine logial volume. (Erstellen mit lvcreate -L75GB <VG-name> -n <LV-name>)
virt-install \
--name=windows10
--ram=8192 \
--cpu=host
--vcpus=2 \
--os-type=windows \
--os-variant=win8.1 \
--disk /dev/mapper/vms-win10,bus=virtio \
--disk /tmp/en_windows_10_enterprise_x64_dvd_6851151.iso,device=cdrom,bus=ide \
--disk /usr/share/virtio-win/virtio-win.iso,device=cdrom,bus=ide \
--network bridge=virbr0 \
--graphics vnc,listen=0.0.0.0
Als bridge nutzen wir die "out"-bridge.
Hostsystem erkunden mit
ip link
Edit config
Nachbearbeitungen am erzeugten XML-File:
virsh edit <vmname>
spice
Verbindungen per VPN sind zu langsam und nicht benutzbar.
Das mag mit den Leitungen zu tun haben, aber es hat mal funktioniert, jetzt nicht mehr,
- Zugriff auf den Windows-Host mit Spice
- Ein Linux-User, der direkt und Fullscreen in das Windows einloggt.
virsh edit <vmname>
<graphics type='spice'/> <video> <model type='qxl'> </video>
$vmname-config ertellen
- ToDo
remote-viewer $vmname-config
spice-guest-tools
- Install "spice-guest-tools" von
https://spice-space.org/downloads.html
- Bringt den "qxl-Treiber" für die Grafik mit
- "spice-agent" für copy-and-paste sowie resolution switching
Viewer
Client
remote-viewer spice://<Host-IP>:<Port>
Linux-Spice User
- Slim umstellen, dass beim Login die .xinitrc ausgeführt wird.
- remote-viewer config
~/$vmname-config
[virt-viewer] type=spice host=<your-host> port=<your-port> fullscreen=1 password=<your-password>
~/.xinitrc
#!/bin/sh remote-viewer $vmname-config
VNC
Keymap
Das deutsche Tastaturlayout
virsh edit <vmname>
- In die Zeile
<graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'>
"keymap='de'" hinzu fügen.
KVM mit LVM
Zwei LVs mit virtio
Im folgenden Beispiel wurden zwei Logical Volumes vom Host der Maschine zur Verfügung gestellt.
Für gute I/O-Performance.
Wichtig ist, das im Gast folgende Treiber geladen sind.
virtio, virtio-blk, virtio-pci
Wichtig: ohne boot=on startet der Gast nicht, wenn if=virtio als Option mitgegeben wurde.
kvm -m 1000 -boot c -drive file=/dev/debpc/kvm1,if=virtio,boot=on,cache=none -drive file=/dev/debpc/kvm1-swap,if=virtio,cache=none
LV im Host mounten
Das vom der VM genutzte LV enthält eine Partitionstabelle.
Um das LV dennoch im Host einbinden zu können, muss die Partitionstabelle des LVs erst dem Host bekannt gemacht werden
kpartx -a -v /dev/<vg>/<lg>
-a => active -d => deactivate -v => verbose
Danach sind mehr /dev/dm-<123> im System wie vor dem Aufruf. Welcher der Richtige ist, muss letztlich ausprobiert werden.
Am besten mit dem /dev/dm-<123> mit der höchsten Benennung anfangen.
Links
Meine Tests wurden durch folgende Seite inspiriert.