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>
90 lines
2.8 KiB
Markdown
90 lines
2.8 KiB
Markdown
# Nachschlagen
|
|
|
|
Der Teil zum Blättern, wenn man schon weiß, was man sucht.
|
|
|
|
<div class="grid cards" markdown>
|
|
|
|
- **[Alle Befehle](befehle.md)**
|
|
|
|
Jeder Unterbefehl und jeder Parameter der vier Werkzeuge.
|
|
|
|
- **[Alle Einstellungen](konfiguration.md)**
|
|
|
|
Jeder Schlüssel der INI-Datei, mit Vorgabe und Bedeutung.
|
|
|
|
- **[Tastenkürzel](tasten.md)**
|
|
|
|
Alle Tasten aller Oberflächen auf einer Seite.
|
|
|
|
- **[Speicherarten](speicher.md)**
|
|
|
|
Was Ceph, ZFS, LVM-thin und Datei-Storages jeweils können.
|
|
|
|
- **[Fehlersuche](fehlersuche.md)**
|
|
|
|
Meldungen, ihre Ursachen und was dagegen hilft.
|
|
|
|
</div>
|
|
|
|
---
|
|
|
|
## Wo was liegt
|
|
|
|
| Pfad | |
|
|
|---|---|
|
|
| `/etc/pvesnap/pvesnap.conf` | die Konfiguration |
|
|
| `/etc/pvesnap/web.conf` | Parameter der Web-Oberfläche |
|
|
| `/var/lib/pvesnap/state.json` | wann welche Gruppe zuletzt lief |
|
|
| `/var/lib/pvesnap/recovery.json` | Merkliste der Wiederherstellungen |
|
|
| `/var/lib/pvesnap/transfer/` | Austauschlaufwerke (Abbilddateien) |
|
|
| `/run/pvesnap/mnt/` | eingebundene Snapshots |
|
|
| `/run/pvesnap/transfer/` | am Host eingehängte Austauschlaufwerke |
|
|
| `/usr/lib/pvesnap/` | Programmcode |
|
|
| `/usr/local/bin/pvesnap*` | die vier Werkzeuge |
|
|
|
|
---
|
|
|
|
## Rückgabewerte
|
|
|
|
Für Skripte:
|
|
|
|
| Wert | |
|
|
|---|---|
|
|
| `0` | in Ordnung |
|
|
| `1` | abgebrochen (Rückfrage verneint) |
|
|
| `2` | Fehler in der Konfiguration oder in den Parametern |
|
|
| `3` | Proxmox-Fehler |
|
|
| `4` | Laufzeitfehler |
|
|
| `130` | mit ++ctrl+c++ abgebrochen |
|
|
|
|
---
|
|
|
|
## Aufbau des Programms
|
|
|
|
```
|
|
pvesnap/
|
|
config.py INI lesen und schreiben, Gruppen- und Globaleinstellungen
|
|
schedule.py Berechnung des nächsten Termins
|
|
naming.py Namensschema und Beschreibungs-Vorlagen
|
|
proxmox.py pvesh-Anbindung (Inventar, Snapshots anlegen/löschen)
|
|
engine.py Auswahl der Gäste, Anlegen, Aufräumen
|
|
daemon.py Hauptschleife, Signale, Sperren
|
|
state.py merkt sich die letzten Läufe
|
|
preflight.py prüft die Umgebung (root, /etc/pve beschreibbar, /root)
|
|
cli.py Kommandozeile
|
|
curses_util.py gemeinsame curses-Bausteine
|
|
tui.py ncurses-Konfigurationseditor
|
|
snapfs.py Snapshots einbinden und mounten (rbd/zfs/lvm/qcow2)
|
|
explorer.py Zwei-Fenster-Explorer im Terminal
|
|
recovery.py Snapshot als Maschine starten (Klone, Konfiguration, Aufräumen)
|
|
recovery_ui.py ncurses-Oberfläche und Kommandozeile dazu
|
|
transfer.py Austauschlaufwerke: anlegen, ein-/aushängen, Verriegelung
|
|
transfer_ui.py deren Bildschirm (Taste v in pvesnap-recovery)
|
|
web/ Web-Oberfläche zum Herunterladen
|
|
```
|
|
|
|
Alle vier Werkzeuge teilen sich `proxmox.py`. `snapfs.py` liefert Explorer und
|
|
Web-Oberfläche einen ganz gewöhnlichen Pfad, sodass sie nichts über Ceph, ZFS
|
|
oder LVM wissen müssen; `recovery.py` geht den anderen Weg und überlässt das
|
|
Klonen der Storage-Schicht von Proxmox selbst.
|