Files
proxmox-snapshot-service/handbuch/docs/wiederherstellen/dongle.md
T
duffyduckandClaude Opus 5 59e7224297 Handbuch auf MkDocs-Basis, mit Bildschirmfotos aus dem Programm
26 Kapitel in vier Teilen, in der Reihenfolge, in der man sie braucht:
erst sichern, dann Dateien holen, dann ganze Maschinen wiederherstellen,
dahinter der Nachschlagteil.

Gebaut wird mit MkDocs + Material. Bewusst ohne Netzabhaengigkeiten:
keine Schriften vom CDN (font: false), Volltextsuche mit deutschem
Stemming liegt neben den Seiten. Im Notfall steht vielleicht das halbe
Netz - dann nuetzt eine Doku im Internet nichts.

  handbuch/bauen.sh              baut handbuch/site/
  handbuch/bauen.sh ansehen      Vorschau auf 127.0.0.1:8000

install.sh nimmt das gebaute Handbuch mit nach
/usr/share/doc/pvesnap/handbuch/ - falls es vorliegt. Auf dem Host selbst
wird nichts gebaut, mkdocs gehoert nicht auf einen Hypervisor.

Die 28 Bildschirmfotos sind nicht abfotografiert, sondern erzeugt: Der
echte Programmcode laeuft in einem Pseudo-Terminal gegen einen erfundenen
Proxmox-Host (Attrappen fuer pvesh, perl und rbd), pyte baut den Bildschirm
nach, heraus faellt ein SVG. Damit stimmen sie garantiert mit dem Programm
ueberein, sind reproduzierbar und enthalten keine echten Daten. Die
Werkstatt dafuer liegt unter handbuch/werkstatt/ samt LIESMICH.md.

Nebenbei: die Schlussmeldung von install.sh warb noch mit --exchange,
das mit dem eingebauten Austauschlaufwerk weggefallen ist.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-09 12:39:30 +02:00

6.0 KiB

Dongle und USB

Eine abgeschottete Maschine hat kein Netzwerk. Ein Software-Schutzmodul hängt sonst an einem USB-Server im Netz — der ist damit unerreichbar. Und ohne Lizenzprüfung startet die Warenwirtschaft nicht, aus der man gerade Daten holen wollte.

SPICE löst das. Die USB-Weiterleitung kommt vom Rechner des Bedieners, nicht über das Gastnetz. Die Maschine bleibt also vollständig abgeschottet und hat trotzdem ihren Dongle.

Dein Arbeitsplatz          Proxmox-Host              Gast
  Dongle am USB   ──SPICE──►  QEMU        ──virtuell──►  "USB-Gerät"
  remote-viewer                                          (kein Netz nötig)

Einrichten

Beim Anlegen in der Optionsmaske die beiden Felder setzen — oder direkt:

pvesnap-recovery live 105 --usb 2 --no-resume

--usb schaltet --spice automatisch mit ein.

Die Zusammenfassung sagt dann, was zu tun ist:

Vorhaben mit SPICE und USB


Verbinden

pvesnap-recovery spice 9104 -o vm.vv        # Verbindungsdatei erzeugen
scp root@10.20.0.12:vm.vv .                 # auf den Arbeitsplatz holen
remote-viewer vm.vv                         # öffnen

Ohne -o wird die Datei auf die Standardausgabe geschrieben — praktisch für eine Pipeline:

ssh root@pve2 pvesnap-recovery spice 9104 > vm.vv && remote-viewer vm.vv

Im remote-viewer dann unter Datei → USB-Geräteauswahl das Gerät anhaken. Es taucht sofort im Gast auf.

!!! success "Guest-Tools braucht es dafür nicht"

Der Dongle erscheint im Gast als gewöhnliches USB-Gerät; QEMU und der
SPICE-Client machen die Arbeit.

Die Guest-Tools (`tools/get-guest-tools.sh` holt virtio-win auf einen
ISO-Storage) sind nur für Zwischenablage, automatische Auflösung und
Mauszeiger nützlich. Für den Dongle sind sie überflüssig.

Die Verbindungsdatei ist kurzlebig: Das darin enthaltene Kennwort gilt nur für wenige Sekunden. Sie muss also zeitnah nach dem Erzeugen benutzt werden — nicht am Vortag vorbereiten.


Zwei Dinge, die man vorher wissen sollte

USB braucht SPICE

Ohne vga: qxl legt QEMU die Weiterleitungen zwar an, aber es gibt keinen Kanal, der sie transportiert — die Maschine startet dann mit no spice port gar nicht erst.

Deshalb schaltet --usb die Anzeige automatisch mit ein.

Umgekehrt gilt das nicht: Wer SPICE ausschaltet, verliert die USB-Anschlüsse mit — ohne Kanal wären sie ohnehin wirkungslos. pvesnap sagt das dazu, statt sie stillschweigend stehen zu lassen.

SPICE und geladener Arbeitsspeicher schließen sich aus

Das ist der unangenehme Teil, und er hängt davon ab, was im Original steht:

Original warmer RAM-Zustand SPICE + Dongle
vga: std (Vorgabe) nur mit --no-resume
vga: qxl gleichzeitig

Der Grund: qxl bringt 64 MB Grafikspeicher mit, die Vorgabe 16. Der gespeicherte Zustand passt dann nicht mehr, und das Laden bricht ab:

Size mismatch: vga.vram

Die Maschine bleibt danach angehalten stehen, während Proxmox TASK OK meldet. pvesnap-recovery lehnt die Kombination deshalb von vornherein ab und nennt die Auswege.

!!! tip "Der Griff, der sich lohnt — für Produktivmaschinen"

Setz auf Maschinen, die ein Schutzmodul brauchen, **einmal** `vga: qxl`:

```bash
qm set 105 --vga qxl
```

Dann tragen alle künftigen Snapshots es mit, und im Ernstfall gibt es
warmen RAM-Zustand **und** Dongle gleichzeitig.

**Nachträglich lässt sich das bei einem vorhandenen Snapshot nicht mehr
reparieren** — der gespeicherte Zustand enthält die alte Grafikkarte. Es ist
also eine Entscheidung, die man vorher trifft oder gar nicht.

Auf der Produktivmaschine kostet `qxl` nichts außer ein paar Megabyte
Grafikspeicher.

Nachträglich umstellen

Taste ++p++ in der Detailansicht ändert SPICE und USB auch an einer bestehenden Maschine:

SPICE ein- oder ausschalten

Dann die Zahl der Anschlüsse:

Wie viele USB-Anschlüsse?

Änderung
SPICE ein oder aus Neustart nötig — die Grafikkarte lässt sich im Betrieb nicht wechseln
USB dazu oder weg sofort, solange der SPICE-Kanal schon steht

Ist ein Neustart nötig, warnt pvesnap vorher deutlich:

Warnung vor dem nötigen Neustart

… und lässt danach die Wahl, wie neu gestartet wird — siehe Damit arbeiten.

!!! danger "Bei geladenem Arbeitsspeicher"

Der ist nach dem Neustart **endgültig weg**. Wer SPICE nachrüstet, um an
den Dongle zu kommen, verliert also genau den warmen Zustand, wegen dem er
vielleicht überhaupt mit `--resume` gestartet ist.

Deshalb: die Entscheidung möglichst **vor** dem ersten Start treffen.

Höchstens 14 Anschlüsse sind möglich — mehr sieht QEMU nicht vor. Für einen Dongle reicht einer; zwei sind bequem, wenn man zusätzlich einen USB-Stick durchreichen will.


Wenn der Dongle nicht auftaucht

Symptom woran es liegt
Kein Eintrag unter „USB-Geräteauswahl" Der remote-viewer läuft auf dem falschen Rechner — er muss dort laufen, wo der Dongle steckt.
Maschine startet nicht, no spice port vga: qxl fehlt. In der Detailansicht ++p++ → SPICE ein.
Gerät angehakt, im Gast nichts Manche Dongles brauchen im Gast einen Treiber. Der gehört auf ein Austauschlaufwerk.
.vv-Datei wird abgewiesen Sie ist zu alt — neu erzeugen, das Kennwort gilt nur kurz.
Unter Linux fehlt remote-viewer Paket virt-viewer installieren.

!!! note "Der Dongle bleibt am Arbeitsplatz"

Er wird nicht in den Host gesteckt und nicht ins Netz gehängt. Genau das ist
der Punkt: Der Weg führt über die SPICE-Verbindung, die ohnehin schon
zwischen Arbeitsplatz und Maschine besteht — und nicht über ein Netz, das
die abgeschottete Maschine gar nicht hat.