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>
This commit is contained in:
co-authored by
Claude Opus 5
parent
c484596702
commit
59e7224297
@@ -0,0 +1,243 @@
|
||||
# Alle Befehle
|
||||
|
||||
## `pvesnap`
|
||||
|
||||
Der Snapshot-Dienst und seine Verwaltung.
|
||||
|
||||
```bash
|
||||
pvesnap [globale Optionen] <befehl> [optionen]
|
||||
```
|
||||
|
||||
### Globale Optionen
|
||||
|
||||
| Option | Vorgabe | |
|
||||
|---|---|---|
|
||||
| `-c`, `--config <pfad>` | `/etc/pvesnap/pvesnap.conf` | andere Konfiguration verwenden (auch über `PVESNAP_CONFIG`) |
|
||||
| `-n`, `--dry-run` | — | nichts wirklich anlegen oder löschen, nur anzeigen |
|
||||
| `-v`, `--verbose` | — | ausführliche Ausgabe |
|
||||
| `-V`, `--version` | — | Version anzeigen |
|
||||
|
||||
### Unterbefehle
|
||||
|
||||
| Befehl | |
|
||||
|---|---|
|
||||
| `status` | Übersicht über Gruppen, letzte und nächste Läufe — **auch die Vorgabe ohne Befehl** |
|
||||
| `vms` | alle VMs und Container mit den Gruppen, in denen sie stecken |
|
||||
| `list` | vorhandene pvesnap-Snapshots |
|
||||
| `check` | Konfiguration prüfen |
|
||||
| `config` (oder `edit`) | [ncurses-Editor](../sichern/editor.md) |
|
||||
| `run` | fällige Gruppen jetzt ausführen |
|
||||
| `prune` | nur aufräumen, nichts anlegen |
|
||||
| `daemon` | Dienst im Vordergrund starten (für systemd) |
|
||||
|
||||
### `run`
|
||||
|
||||
| Option | |
|
||||
|---|---|
|
||||
| `-g`, `--group <name>` | nur diese Gruppe (mehrfach möglich) |
|
||||
| `-f`, `--force` | unabhängig vom Zeitplan ausführen |
|
||||
| `--no-prune` | nicht aufräumen |
|
||||
|
||||
```bash
|
||||
pvesnap run # was fällig ist
|
||||
pvesnap run --force -g taeglich # diese Gruppe sofort
|
||||
pvesnap run --force --dry-run # Probelauf
|
||||
pvesnap run -g taeglich -g monatlich # zwei Gruppen
|
||||
```
|
||||
|
||||
### `prune`
|
||||
|
||||
| Option | |
|
||||
|---|---|
|
||||
| `-g`, `--group <name>` | nur diese Gruppe |
|
||||
|
||||
### `list`
|
||||
|
||||
| Option | |
|
||||
|---|---|
|
||||
| `-g`, `--group <name>` | nur diese Gruppe |
|
||||
| `-a`, `--all` | auch fremde und von Hand angelegte Snapshots anzeigen |
|
||||
|
||||
---
|
||||
|
||||
## `pvesnap-explorer`
|
||||
|
||||
```bash
|
||||
pvesnap-explorer [vmid] [snapshot] [optionen]
|
||||
```
|
||||
|
||||
| Parameter | Vorgabe | |
|
||||
|---|---|---|
|
||||
| `vmid` | — | Gast direkt vorwählen |
|
||||
| `snapshot` | — | Snapshot direkt vorwählen |
|
||||
| `-l`, `--local <pfad>` | aktuelles Verzeichnis | Startverzeichnis im rechten Fenster |
|
||||
| `-p`, `--path <pfad>` | — | beliebiges Verzeichnis öffnen, ohne Proxmox zu fragen |
|
||||
| `--cleanup` | — | hängengebliebene Einbindungen lösen und beenden |
|
||||
| `-v`, `--verbose` | — | ausführliches Protokoll |
|
||||
| `-V`, `--version` | — | Version anzeigen |
|
||||
|
||||
```bash
|
||||
pvesnap-explorer # alles auswählen
|
||||
pvesnap-explorer 101 # Snapshot von VM 101 wählen
|
||||
pvesnap-explorer 101 auto-taeglich-20260809-023000 # direkt öffnen
|
||||
pvesnap-explorer --local /srv/restore # rechtes Fenster startet dort
|
||||
pvesnap-explorer --path /mnt/x # ohne Proxmox
|
||||
pvesnap-explorer --cleanup # aufräumen
|
||||
```
|
||||
|
||||
Braucht `root`, außer bei `--path`.
|
||||
|
||||
---
|
||||
|
||||
## `pvesnap-web`
|
||||
|
||||
```bash
|
||||
pvesnap-web [vmid] [snapshot] [optionen]
|
||||
```
|
||||
|
||||
| Parameter | Vorgabe | |
|
||||
|---|---|---|
|
||||
| `-P`, `--port <nummer>` | `8823` | Port, auf dem gelauscht wird |
|
||||
| `-b`, `--bind <adresse>` | `0.0.0.0` | Netzwerkadresse; `127.0.0.1` = nur lokal |
|
||||
| `-a`, `--auth pve\|token\|none` | `pve` | Anmeldeart |
|
||||
| `--require-privilege <recht>` | `VM.Snapshot` | nötiges Recht auf dem Gast |
|
||||
| `--allow-user <user@realm>` | — | dieser Benutzer darf alles (mehrfach möglich) |
|
||||
| `-t`, `--token <schlüssel>` | zufällig | Zugangsschlüssel selbst vorgeben |
|
||||
| `--no-token` | — | Kurzform für `--auth none` |
|
||||
| `-p`, `--path <verzeichnis>` | — | beliebiges Verzeichnis statt eines Snapshots |
|
||||
| `--cleanup` | — | hängengebliebene Einbindungen lösen und beenden |
|
||||
| `-v`, `--verbose` | — | ausführliches Protokoll |
|
||||
| `-V`, `--version` | — | Version anzeigen |
|
||||
|
||||
Als Dienst stehen dieselben Parameter in `/etc/pvesnap/web.conf`:
|
||||
|
||||
```
|
||||
PVESNAP_WEB_ARGS=--bind 0.0.0.0 --port 8823 --auth pve
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## `pvesnap-recovery`
|
||||
|
||||
```bash
|
||||
pvesnap-recovery # ncurses-Oberfläche
|
||||
pvesnap-recovery <befehl> [optionen]
|
||||
```
|
||||
|
||||
### Unterbefehle
|
||||
|
||||
| Befehl | |
|
||||
|---|---|
|
||||
| `live <VMID> [snapshot]` | abgeschottet starten (ohne Snapshot: der neueste) |
|
||||
| `recover <VMID> [snapshot]` | mit Netzwerk und gleicher Identität starten |
|
||||
| `list` | vorhandene Wiederherstellungen anzeigen |
|
||||
| `start <VMID>` | starten |
|
||||
| `stop <VMID>` | herunterfahren |
|
||||
| `console <VMID>` | noVNC-Adresse ausgeben |
|
||||
| `spice <VMID>` | Verbindungsdatei für `remote-viewer` |
|
||||
| `flatten <VMID>` | [vom Quell-Snapshot lösen](../wiederherstellen/loesen.md) |
|
||||
| `cleanup` | [Klone entfernen, zu denen es keinen Gast mehr gibt](../wiederherstellen/verwerfen.md#cleanup) |
|
||||
| `destroy <VMID>` | [restlos verwerfen](../wiederherstellen/verwerfen.md) |
|
||||
|
||||
### Optionen von `live` und `recover`
|
||||
|
||||
| Parameter | |
|
||||
|---|---|
|
||||
| `--newid <ID>` | VMID der neuen Maschine (Vorgabe: nächste freie) |
|
||||
| `--node <name>` | auf welchem Node sie laufen soll |
|
||||
| `--net none\|down\|on` | keine Karte / Karte ohne Leitung / voll am Netz |
|
||||
| `--resume` / `--no-resume` | Arbeitsspeicher laden bzw. bewusst kalt starten |
|
||||
| `--transfer <name>` | [Austauschlaufwerk](../wiederherstellen/transfer.md) anhängen (mehrfach möglich) |
|
||||
| `--spice` | SPICE-Anzeige (`vga: qxl`), zusätzlich zu noVNC |
|
||||
| `--usb <n>` | so viele USB-Weiterleitungen über SPICE (schaltet `--spice` mit ein) |
|
||||
| `--iso <volid>` | Abbild als CD einlegen, z. B. `local:iso/virtio-win.iso` |
|
||||
| `--memory <MB>` | abweichender Arbeitsspeicher (nicht mit `--resume`) |
|
||||
| `--cores <n>` | abweichende Kernzahl (nicht mit `--resume`) |
|
||||
| `--name <name>` | Name der neuen Maschine |
|
||||
| `--keep-binds` | durchgereichte Host-Verzeichnisse des Originals übernehmen |
|
||||
| `--no-start` | nur einrichten, nicht starten |
|
||||
| `-y`, `--yes` | Routinefragen überspringen |
|
||||
| `--force` | auch anlegen, wenn das Original noch läuft |
|
||||
|
||||
!!! danger "`-y` deckt `--force` nicht ab"
|
||||
|
||||
`recover` mit `-y` bei laufendem Original wird **abgewiesen** (Rückgabewert
|
||||
2). Siehe [Mit Netzwerk](../wiederherstellen/netzwerk.md).
|
||||
|
||||
### Optionen der übrigen Befehle
|
||||
|
||||
| Befehl | Option | |
|
||||
|---|---|---|
|
||||
| `spice` | `-o <datei>` | in eine Datei schreiben statt auf die Standardausgabe |
|
||||
| `flatten` | `--force` | auch bei knappem Speicherplatz |
|
||||
| `cleanup` | `--all` | auch Datenträger ohne Elternteil |
|
||||
| `cleanup`, `destroy`, `flatten` | `-y`, `--yes` | ohne Rückfrage |
|
||||
|
||||
### Beispiele
|
||||
|
||||
```bash
|
||||
# Kurz hineinschauen, mit Werkzeugen
|
||||
pvesnap-recovery live 101 --transfer werkzeuge
|
||||
|
||||
# Ein bestimmter Snapshot, kalt gestartet, mit Dongle
|
||||
pvesnap-recovery live 105 auto-taeglich-20260809-023000 --usb 2 --no-resume
|
||||
|
||||
# Ernstfall: Original steht, Wiederherstellung übernimmt
|
||||
qm stop 101
|
||||
pvesnap-recovery recover 101 --newid 9101
|
||||
pvesnap-recovery flatten 9101
|
||||
|
||||
# Verbindungsdatei für den Arbeitsplatz
|
||||
ssh root@pve2 pvesnap-recovery spice 9104 > vm.vv && remote-viewer vm.vv
|
||||
|
||||
# Aufräumen
|
||||
pvesnap-recovery destroy 9101
|
||||
pvesnap-recovery cleanup
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## systemd
|
||||
|
||||
```bash
|
||||
systemctl status pvesnap
|
||||
systemctl reload pvesnap # Konfiguration neu einlesen (SIGHUP)
|
||||
systemctl restart pvesnap
|
||||
journalctl -u pvesnap -f
|
||||
|
||||
systemctl status pvesnap-web
|
||||
systemctl restart pvesnap-web # nach Änderungen in web.conf
|
||||
systemctl stop pvesnap-web
|
||||
journalctl -u pvesnap-web -f
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
./install.sh [optionen]
|
||||
./uninstall.sh [--purge]
|
||||
```
|
||||
|
||||
| Option | |
|
||||
|---|---|
|
||||
| `--with-webexplorer` | Web-Oberfläche als Dienst einrichten (erfordert `--port`) |
|
||||
| `--port <nummer>` | Port der Web-Oberfläche |
|
||||
| `--bind <adresse>` | Adresse, auf der sie lauscht (Vorgabe `0.0.0.0`) |
|
||||
| `--no-start` | installieren, aber Dienste nicht starten |
|
||||
| `--no-install-deps` | `parted` und `exfatprogs` nicht nachinstallieren |
|
||||
| `--force` | auch ohne erkanntes Proxmox VE installieren |
|
||||
| `--help` | Übersicht |
|
||||
|
||||
---
|
||||
|
||||
## Hilfswerkzeug
|
||||
|
||||
```bash
|
||||
tools/get-guest-tools.sh <iso-storage>
|
||||
```
|
||||
|
||||
Holt die virtio-win-Treiber auf einen ISO-Storage — für Windows-Gäste, die
|
||||
Treiber brauchen, oder für Zwischenablage und Mauszeiger unter
|
||||
[SPICE](../wiederherstellen/dongle.md).
|
||||
Reference in New Issue
Block a user