KVM: Unterschied zwischen den Versionen
HK (Diskussion | Beiträge) (→VM erstellen) |
HK (Diskussion | Beiträge) (→spice-guest-tools) |
||
Zeile 76: | Zeile 76: | ||
=== spice-guest-tools === | === spice-guest-tools === | ||
* Install "spice-guest-tools" von | * Install "spice-guest-tools" von | ||
− | https://spice-space.org/ | + | https://spice-space.org/download.html |
* Bringt den "qxl-Treiber" für die Grafik mit | * Bringt den "qxl-Treiber" für die Grafik mit | ||
* "spice-agent" für copy-and-paste sowie resolution switching | * "spice-agent" für copy-and-paste sowie resolution switching |
Version vom 27. Juli 2018, 14:46 Uhr
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
Die Seite bietet auch nützliche Infos
https://docs.fedoraproject.org/quick-docs/en-US/creating-windows-virtual-machines-using-virtio-drivers.html
Bei der Installation muss im Partitionsprogramm des Installers der virtio-Treiber von der virtio-win.iso geladen werden.(Siehe bart.vanhauwaert.org)
Das Beispiel nutzt eine logial volume. (Erstellen mit lvcreate -L75GB <VG-name> -n <LV-name>)
virt-install \
--name=win-10-1
--ram=8192 \
--cpu=host
--vcpus=4 \
--os-type=windows \
--os-variant=win8.1 \
--disk /dev/mapper/vms-win10,bus=virtio \
--disk /var/virtualbox/VirtualBoxISOs/Win10_1803_German_x64.iso,device=cdrom,bus=ide \
--disk /var/virtualbox/VirtualBoxISOs/virtio-win.iso,device=cdrom,bus=ide \
--network bridge=lxc-out \
--graphics spice,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>
Optimiere für lokale Nutzung
- image compression='auto_glz'
- streaming mode='filter'
<graphics type='spice' autoport='yes' listen='0.0.0.0'>
<listen type='address' address='0.0.0.0'/>
<image compression='auto_glz'/>
<streaming mode='filter'/>
</graphics>
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/download.html
- Bringt den "qxl-Treiber" für die Grafik mit
- "spice-agent" für copy-and-paste sowie resolution switching
Clients
spice-viewer-gtk
Nur als proof-of-concept gedacht, funktioniert er momentan besser (auch lokal) als der remote-viewer.
spicy -h 192.168.2.40 -p 5900
remote-viewer
Verbindungsaufbauten dauern im Vergleich zu spicy eine gefühlte Ewigkeit.
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
Ist als Tool im lokalen Netz eine brauchbare Alternative.
Achtung: Sicherheitsbedenken!
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.