Explorer: Transfer-Laufwerke auf F2; cleanup findet verwaiste Snapshot-Sperren

Zwei Luecken, die seit dem Umbau offenstanden.

1. Transfer-Laufwerke waren aus dem Explorer nicht erreichbar

F2 zeigte nur die Dateisysteme des Snapshots. Jetzt stehen die
Transfer-Laufwerke in derselben Liste - aus Sicht des Bedieners ist es
dieselbe Frage ("wo soll ich hinschauen?"), und der Weg ueber
pvesnap-recovery entfaellt.

Das gewaehlte Laufwerk landet im rechten Fenster, links bleibt der
Snapshot. Damit laesst sich direkt aus einem Snapshot auf das
Austauschmedium kopieren, das anschliessend in die wiederhergestellte
Maschine wandert - ohne Zwischenlager auf dem Host.

Ausgehaengt wird beim Verlassen, und zwar nur, was wir selbst eingehaengt
haben: ein Laufwerk, das schon vorher am Host hing, gehoert jemand
anderem. Das finally faengt auch Absturz und Strg-C ab - bliebe es
eingehaengt, gaelte es spaeter als belegt.

2. cleanup fand geschuetzte Snapshots ohne Klon nicht

Loescht jemand eine Wiederherstellung in der Proxmox-Oberflaeche, raeumt
Proxmox den Klon durchaus mit ab - aber nicht den Schutz seines
Quell-Snapshots (rbd snap protect, den setzt es beim Klonen selbst).
Zurueck bleibt ein geschuetzter Snapshot ohne Klon: die Vorhaltezeit
scheitert an ihm jede Nacht mit "snapshot is protected", und
find_orphans() findet prinzipiell nichts, weil es den Datentraeger, nach
dem es sucht, wirklich nicht mehr gibt. Dasselbe entsteht nach einem von
Hand ausgefuehrten rbd flatten.

find_stale_protections() sucht deshalb direkt nach der Ursache: jeder
geschuetzte Snapshot, an dem kein Klon haengt. Ein solcher Schutz hat
keinen Zweck - er existiert einzig dafuer, dass ein Klon seine Grundlage
behaelt. Geloest wird nur der Schutz, geloescht wird nichts. Vor jedem
Loesen wird ein zweites Mal nachgesehen, ob inzwischen doch ein Klon
daran haengt.

cleanup laeuft damit in zwei Durchgaengen und liegt neu auch in der
Oberflaeche auf Taste c - man sucht sonst lange nach einem Befehl, den
man nur im Notfall braucht.

Getestet gegen die Kulisse der Handbuch-Werkstatt: die rbd-Attrappe
kennt jetzt snap ls und children und enthaelt beide Zustaende
nebeneinander - ein geschuetzter Snapshot mit Klon (muss in Ruhe
gelassen werden) und einer ohne (muss gefunden werden).

Handbuch und README nachgezogen, zwei Bildschirmfotos dazu.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
duffyduck
2026-08-11 09:39:25 +02:00
co-authored by Claude Opus 5
parent 59e7224297
commit d9d9345d03
21 changed files with 727 additions and 88 deletions
+46 -5
View File
@@ -65,7 +65,7 @@ welcher Snapshot offen ist, unten der volle Pfad des markierten Eintrags.
| ++f3++ oder ++v++ | Datei ansehen (Text oder Hex) |
| ++f7++ oder ++n++ | neues Verzeichnis (nur im lokalen Fenster) |
| ++f6++ oder ++g++ | Verzeichnis direkt eingeben |
| ++f2++ oder ++m++ | anderes Dateisystem des Snapshots wählen |
| ++f2++ oder ++m++ | [Laufwerk wählen](#laufwerk-wahlen) |
| ++r++ | neu einlesen |
| ++f10++ oder ++q++ | eine Ebene zurück |
| ++question++ oder ++f1++ | Hilfe |
@@ -126,13 +126,18 @@ Datei erst auf den Host zu holen.
---
## Mehrere Dateisysteme
## Laufwerk wählen
++f2++ öffnet eine Liste mit zwei Arten von Einträgen:
![Die Laufwerkswahl](../bilder/explorer-laufwerke.svg)
### Dateisysteme des Snapshots
Eine VM hat oft mehr als eine Partition: `/` und `/boot`, dazu vielleicht ein
eigenes Datenlaufwerk. Hat der Snapshot mehrere brauchbare Dateisysteme, fragt
der Explorer beim Öffnen, welches er zeigen soll.
Wechseln geht später mit ++f2++, ohne den Snapshot zu schließen.
der Explorer schon beim Öffnen, welches er zeigen soll — hier lässt sich
später ohne Schließen wechseln.
!!! note "Was nicht auftaucht"
@@ -140,6 +145,42 @@ Wechseln geht später mit ++f2++, ohne den Snapshot zu schließen.
Kernel nicht kennt. LVM innerhalb der VM wird erkannt und aktiviert;
verschlüsselte Volumes bleiben verschlüsselt.
### Austauschlaufwerke
Darunter stehen die
[Austauschlaufwerke](../wiederherstellen/transfer.md). Wählt man eines aus,
wird es am Host eingehängt und **im rechten Fenster** geöffnet.
Damit lässt sich aus einem Snapshot direkt auf das Austauschmedium kopieren,
das anschließend in eine [wiederhergestellte
Maschine](../wiederherstellen/index.md) wandert — ohne Umweg über
`pvesnap-recovery` und ohne Zwischenlager auf dem Host.
<div class="ablauf" markdown>
**Der typische Fall:** Vor dem Notfall die Werkzeuge zusammenstellen. Snapshot
öffnen, ++f2++, Austauschlaufwerk wählen, die gebrauchten Binärdateien und
Konfigurationen hinüberkopieren. Beim nächsten `pvesnap-recovery` steht alles
bereit.
</div>
| in der Liste | |
|---|---|
| ohne Zusatz | frei oder bereits am Host eingehängt — kann geöffnet werden |
| `[in Benutzung von 9101]` | steckt in einer Maschine. Öffnen wird abgelehnt; siehe [Host oder Gast, nie beides](../wiederherstellen/transfer.md#host-oder-gast-nie-beides) |
Beim Verlassen des Explorers wird ein so eingehängtes Laufwerk **automatisch
wieder ausgehängt** — sonst gälte es später als belegt und ließe sich nicht in
eine Maschine hängen. Ein Laufwerk, das schon vorher am Host hing, bleibt
unangetastet.
!!! note "Ohne Snapshot"
Wird der Explorer aus der [Laufwerksverwaltung](../wiederherstellen/transfer.md)
heraus geöffnet, gibt es kein Snapshot-Fenster. Dann landet das gewählte
Laufwerk im **gerade aktiven** Fenster.
---
## Aufrufparameter