Löschen von Snapshots, die nicht über die UI erstellt wurden

In QuTS 5.x ist es möglich, einen Snapshot als uid 0 außerhalb der Benutzeroberfläche zu erstellen. Sobald man das jedoch tut, kann man den Snapshot nicht mehr löschen.
Abgesehen davon, den technischen Support zu kontaktieren und sie Zeit damit verbringen zu lassen, das Problem zu bereinigen, gibt es irgendein Verfahren, um das zu beseitigen, was das Löschen des Snapshots verhindert? Meiner Meinung nach sollte, wenn dem Benutzer das Erstellen des Snapshots überhaupt erlaubt wird, auch das Löschen möglich sein, sofern es sich nicht um WORM handelt.

[admin@qnap share]# zfs list -r zpool3/zfs33
NAME                            USED  AVAIL  REFER  MOUNTPOINT
zpool3/zfs33                    460K  20.2T   180K  /share/ZFS33_DATA
zpool3/zfs33@:init:             104K      -   160K  -
zpool3/zfs33/RecentlySnapshot   176K  20.2T   176K  /share/ZFS33_DATA/testfolder/@Recently-Snapshot
[admin@qnap share]# zfs snapshot zpool3/zfs33@testsnapshot
[admin@qnap share]# zfs list -r -t snapshot zpool3/zfs33
NAME                        USED  AVAIL  REFER  MOUNTPOINT
zpool3/zfs33@:init:         104K      -   160K  -
zpool3/zfs33@testsnapshot      0      -   180K  -
[admin@qnap share]# zfs destroy  zpool3/zfs33@testsnapshot
cannot destroy snapshots: permission denied
[admin@qnap share]# id
uid=0(admin) gid=0(administrators) groups=0(administrators),100(everyone)
[admin@qnap share]#

Direkt über ZFS-Befehle zu erstellen scheint also keine gute Idee zu sein. Hast du versucht, die QNAP qcli-Tools zu verwenden?

qcli_volumesnapshot

Es geht nicht nur um Snapshots. Ich gebe nur ein vereinfachtes Beispiel. Wenn man SSH-Zugriff auf das Gerät hat, kann man beliebige Operationen durchführen, die dazu führen, dass der Kernel oder etwas anderes die Zerstörung verhindert. Ich hatte keine Zeit, mir alle Implementierungsdetails von QNAPs ZFS anzusehen, aber ein Punkt, der mich verwirrt, ist, dass man dem Benutzer erlaubt, die grundlegenden ZFS-Tools zu verwenden, und das führt sehr schnell dazu, dass sie feststecken. Ich habe viele Wege ausprobiert, es mit den normalen ZFS-Tools zu zerstören, aber es gelingt mir nicht.

Es gibt Situationen, in denen es „schön“ wäre, ZFS send/receive lokal zu verwenden (ich habe darüber in einem anderen Beitrag geschrieben). Auch das führt dazu, dass man das Ziel des Receive nicht zerstören kann. Vielleicht könnte QNAP eine Warnung einbauen, solche Dinge wie Snapshot, Send, Receive usw. nicht zu verwenden… Ich habe zwar ein Ticket offen, aber hier gefragt, ob jemand etwas weiß. Ich könnte zur Not immer die Festplatte ausbauen und sie in einem normalen ZFS-System löschen.

Nun, ich kann hier nicht für QNAP sprechen, aber wenn sie ihr eigenes ZFS-Süppchen gekocht haben, sind sie so oder so verloren.
Verhindern, dass Nutzer Befehle ausführen = Aufschrei
Nutzern erlauben, Befehle auszuführen, die wegen irgendeiner speziellen Eigenlösung fehlschlagen = Aufschrei

Ich würde sagen, mehr als 95% aller QNAP-Nutzer werden sich diese „unter der Haube“-Details niemals ansehen. Wenn du zu den (weniger als) 5% gehörst, könntest du entweder qcli verwenden oder einfach eine andere Distribution auf der Hardware nutzen (z. B. TrueNAS).

Es handelt sich um ein spezifisches Problem mit Snapshots. Selbst wenn Sie einen Pool komplett außerhalb der Benutzeroberfläche erstellen, können Sie nach dem Erstellen eines Snapshots nichts mehr löschen. Wenn Sie jedoch einfach einen Pool erstellen, können Sie ihn problemlos löschen, solange keine Snapshots vorhanden sind. Kann QNAP dieses Verhalten kommentieren und erklären, warum überhaupt ein Snapshot erlaubt wird, der dauerhaft Speicherplatz belegt und nicht gelöscht werden kann?

[admin@qnap share]# zfs create zpool3/cli_test
[admin@qnap share]# zfs list -t snapshot -r zpool3/cli_test
no datasets available
[admin@qnap share]# zfs snapshot zpool3/cli_test@manual_snap
[admin@qnap share]# zfs list -t snapshot -r zpool3/cli_test
NAME                          USED  AVAIL  REFER  MOUNTPOINT
zpool3/cli_test@manual_snap      0      -   160K  -
[admin@qnap share]# zfs destroy zpool3/cli_test@manual_snap
cannot destroy snapshots: permission denied
[admin@qnap share]# zfs destroy -r zpool3/cli_test
cannot destroy snapshots: permission denied
[admin@qnap share]# zfs create zpool3/cli_test2
[admin@qnap share]# zfs destroy zpool3/cli_test2
[admin@qnap share]#

Ich versuche zu verstehen, warum du das alles in der Kommandozeile machst, obwohl du es auch komplett in der Benutzeroberfläche erledigen könntest. Es könnte zusätzliche Befehle oder Dinge geben, die du ausführen müsstest, um das zu erreichen, was du möchtest. All das wird in der Benutzeroberfläche automatisch erledigt. Es ist sehr wahrscheinlich, dass dir etwas entgeht.

„Es geht nicht nur um Snapshots. Ich gebe nur ein vereinfachtes Beispiel.“ Ich könnte rsync.net Cloud Storage for Offsite Backups verwenden wollen, oder ich möchte lokal zsend/receive nutzen, zum Beispiel indem ich eine rekursive Kopie meines raidz2 auf eine große einzelne Festplatte (lokal) mache. Letzteres wird NICHT in der Benutzeroberfläche unterstützt und führt außerdem zu Artefakten, die man nicht löschen kann. Aber die allgemeinere Frage ist doch: Warum Zugriff auf die zfs-Utilities geben, wenn man sie nicht nutzen kann? Entweder warnt man den Endnutzer klar davor, sie zu verwenden (so wie Sie es anscheinend tun), oder man stellt eine Art Technote zur Verfügung, wie man alle QNAP-spezifischen Erweiterungen an zfs bereinigt, die den normalen Betrieb verhindern. Als ich ein QNAP gekauft habe, war ich beeindruckt, dass sie zfs verwenden, und ich habe nicht viel darüber gesehen, dass die Nutzung von der Kommandozeile aus „eingeschränkt“ ist.

Ich weiß nicht, vielleicht halten mich die Leute für seltsam, aber für mich ist der ganze Grund, warum man ein NAS hat, die Dinge einfacher zu machen.

Es wäre viel kostengünstiger und hätte deutlich mehr Rechenleistung, einfach einen soliden i9 Ultra-Computer zu kaufen, Linux darauf zu installieren, eine RAID-Karte und eine GPU hinzuzufügen und schon kann es losgehen. Dann rüstet man ihn mit Festplatten aus und hat ein Do-it-yourself-NAS. Alles an Kommandozeilen-Befehlen, die man möchte. Und man gibt deutlich weniger Geld aus. Wahrscheinlich irgendwo zwischen 1000 und 1500 Dollar weniger.

Der ganze Sinn eines NAS ist für mich, die Benutzeroberfläche und die bereitgestellten Schnittstellen zu nutzen, damit ich mir keine Sorgen machen muss, ob etwas auf der Kommandozeile funktioniert.

Nun, ich stimme deinem Punkt nicht ab, dass, wenn QNAP die ZFS-Utilities dort hat, sie auch funktionieren sollten. Ich sage nur, vielleicht gibt es da noch einen weiteren Schritt, den du übersiehst.

Nur um das klarzustellen: Die Snapshots würden im UI unter dem Ordner und nicht unter dem Volume angezeigt werden. zpool1/zfs21 würde einem Ordner zugeordnet werden, sodass Sie im UI durch das Löschen dieses Ordners auch alle damit verbundenen Snapshots löschen würden. Die Art und Weise, wie das UI den Ordner löscht, hat zusätzliche Berechtigungen, die Sie normalerweise selbst mit uid 0 in der CLI nicht hätten. Wenn Sie es jedoch auf diese Weise „beheben“, verlieren Sie alle Daten in diesem Ordner, daher sollten Sie vorher ein Backup machen. Das ist das grundlegende Problem bei der Art und Weise, wie sie die Dinge implementiert haben: Wenn irgendjemand oder „irgendetwas“ einen Fehler macht, müssen Sie alles löschen und von vorne anfangen.

Hallo,

@NA9D, mein Problem war, dass die UI und die Realität nicht mehr synchron waren.
Der Snapshot war in der UI NICHT sichtbar, aber wenn ich mit „zfs list -t snapshot“ nachgesehen habe, war er vorhanden.
Die Snapshots haben etwa 60 % der Speicherkapazität verbraucht und führten zu einer 100%igen Auslastung (was ein bekanntes Problem ist).
Ich konnte das weder über die UI noch über die CLI beheben.

Ich habe ein Ticket eröffnet und der Support hat mir mehrmals CLI-Befehle wie „zfs destroy …“ gegeben, die aber mit „Permission denied“ endeten.
Sie haben dann den 2nd Level mit Remotezugriff über die Helpdesk-App hinzugezogen.
Der Support hat irgendetwas gemacht, ich weiß nicht was, aber

  • Snapshots sind weg
  • Speicher ist wieder bei 30 % Auslastung

Ich hoffe, noch Informationen dazu zu bekommen.

Viele Grüße

Thomas