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

177 lines
6.0 KiB
Markdown

# 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](einrichten.md#die-optionsmaske) die beiden
Felder setzen — oder direkt:
```bash
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](../bilder/dongle-vorhaben.svg)
---
## Verbinden
```bash
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:
```bash
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](arbeiten.md) ändert SPICE und USB auch an
einer bestehenden Maschine:
![SPICE ein- oder ausschalten](../bilder/recovery-spice.svg)
Dann die Zahl der Anschlüsse:
![Wie viele USB-Anschlüsse?](../bilder/recovery-usb.svg)
| Ä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](../bilder/recovery-neustart.svg)
… und lässt danach die Wahl, **wie** neu gestartet wird — siehe
[Damit arbeiten](arbeiten.md#neu-starten).
!!! 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](transfer.md). |
| `.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.