KVM: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(Headless Windows mit KVM)
(Optimiere für lokale Nutzung)
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 13: Zeile 13:
  
  
VM erstellen
+
=== VM erstellen ===
 
http://bart.vanhauwaert.org/hints/installing-win10-on-KVM.html
 
http://bart.vanhauwaert.org/hints/installing-win10-on-KVM.html
  
 
Vorher herunter laden
 
Vorher herunter laden
 
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
 
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<br>
 +
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>)
 
Das Beispiel nutzt eine logial volume. (Erstellen mit lvcreate -L75GB <VG-name> -n <LV-name>)
 
<source>
 
<source>
 
virt-install \
 
virt-install \
     --name=windows10
+
     --name=win-10-1
 
     --ram=8192 \
 
     --ram=8192 \
 
     --cpu=host
 
     --cpu=host
     --vcpus=2 \
+
     --vcpus=4 \
 
     --os-type=windows \
 
     --os-type=windows \
 
     --os-variant=win8.1 \
 
     --os-variant=win8.1 \
 
     --disk /dev/mapper/vms-win10,bus=virtio \
 
     --disk /dev/mapper/vms-win10,bus=virtio \
     --disk /tmp/en_windows_10_enterprise_x64_dvd_6851151.iso,device=cdrom,bus=ide \
+
     --disk /var/virtualbox/VirtualBoxISOs/Win10_1803_German_x64.iso,device=cdrom,bus=ide \
     --disk /usr/share/virtio-win/virtio-win.iso,device=cdrom,bus=ide \
+
     --disk /var/virtualbox/VirtualBoxISOs/virtio-win.iso,device=cdrom,bus=ide \
     --network bridge=virbr0 \
+
     --network bridge=lxc-out \
     --graphics vnc,listen=0.0.0.0
+
     --graphics spice,listen=0.0.0.0
 
</source>
 
</source>
  
 +
Als bridge nutzen wir die "out"-bridge.<br>
 +
Hostsystem erkunden mit
 +
ip link
 +
 +
=== Edit config ===
 +
Nachbearbeitungen am erzeugten XML-File:
 +
virsh edit <vmname>
 
== spice ==
 
== spice ==
Schnell
+
Verbindungen per VPN sind zu langsam und nicht benutzbar.<br>
 +
Das mag mit den Leitungen zu tun haben, aber es hat mal funktioniert, jetzt nicht mehr,
 
* Zugriff auf den Windows-Host mit Spice
 
* Zugriff auf den Windows-Host mit Spice
 
* Ein Linux-User, der direkt und Fullscreen in das Windows einloggt.
 
* Ein Linux-User, der direkt und Fullscreen in das Windows einloggt.
Zeile 54: Zeile 65:
 
=== spice-guest-tools ===
 
=== spice-guest-tools ===
 
* Install "spice-guest-tools" von
 
* Install "spice-guest-tools" von
https://spice-space.org/downloads.html
+
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
  
=== Viewer ===
+
=== Clients ===
Client
+
==== spice-viewer-gtk ====
  virt-viewer
+
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 ====
+
===== Linux-Spice User =====
 
* Slim umstellen, dass beim Login die .xinitrc ausgeführt wird.
 
* Slim umstellen, dass beim Login die .xinitrc ausgeführt wird.
  
Zeile 79: Zeile 94:
  
 
== VNC ==
 
== VNC ==
 +
Ist als Tool im lokalen Netz eine brauchbare Alternative.<br>
 +
Achtung: Sicherheitsbedenken!
 
=== Keymap ===
 
=== Keymap ===
 
Das deutsche Tastaturlayout <br>
 
Das deutsche Tastaturlayout <br>

Aktuelle Version vom 27. Juli 2018, 16:20 Uhr

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>

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.

http://www.carfax.org.uk/docs/qemu-virtio