KVM: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(Optimiere für lokale Nutzung)
 
(32 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= KVM mit LVM =
+
= 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<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>)
 +
<source>
 +
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
 +
</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 ==
 +
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
 +
* 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
  
Im folgenden Beispiel wurden zwei Logical Volumes vom Host der Maschine zur Verfügung gestellt.<br>
+
== VNC ==
Das soll der Performance auf die Sprünge helfen.<br>
+
Ist als Tool im lokalen Netz eine brauchbare Alternative.<br>
Beim Testen ist zu beachten, dass Slitaz keine virtio-Treiber an Bord hat. Dann zeigt fdisk-l nichts an.
+
Achtung: Sicherheitsbedenken!
 +
=== Keymap ===
 +
Das deutsche Tastaturlayout <br>
 +
virsh edit <vmname>
 +
* In die Zeile
 +
<graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'>
 +
"keymap='de'" hinzu fügen.
  
<code>
+
= KVM mit LVM =
kvm -m 1000 -drive file=/dev/debpc/kvm1,if=virtio -drive file=/dev/debpc/kvm1-swap,if=virtio --cdrom <zum Beispiel Core-current.iso>
 
</code>
 
  
 +
== Zwei LVs mit virtio ==
  
Diesmal ging es um I/O-Performance.<br>
+
Im folgenden Beispiel wurden zwei Logical Volumes vom Host der Maschine zur Verfügung gestellt.<br>
 +
Für gute I/O-Performance.<br>
 
Wichtig ist, das im Gast folgende Treiber geladen sind.
 
Wichtig ist, das im Gast folgende Treiber geladen sind.
  
Zeile 19: Zeile 117:
 
Wichtig: ohne boot=on startet der Gast nicht, wenn if=virtio als Option mitgegeben wurde.<br>
 
Wichtig: ohne boot=on startet der Gast nicht, wenn if=virtio als Option mitgegeben wurde.<br>
 
<code>
 
<code>
kvm -m 1000 -boot  c -drive file=/dev/debpc/kvm1,if=virtio,boot=on,cache=none --cdrom  --cdrom <zum Beispiel Core-current.iso>
+
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
 
</code>
 
</code>
  
 +
== LV im Host mounten ==
 +
Das vom der VM genutzte LV enthält eine Partitionstabelle.<br>
 +
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.<br>
 +
Am besten mit dem /dev/dm-<123> mit der höchsten Benennung anfangen.
 +
 +
==Links==
 
Meine Tests wurden durch folgende Seite inspiriert.
 
Meine Tests wurden durch folgende Seite inspiriert.
  
[http://www.carfax.org.uk/docs/qemu-virtio|qemu-virtio]
+
http://www.carfax.org.uk/docs/qemu-virtio

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