ZFS verschwindet magisch den verfügbaren Speicherplatz

384
Christopher Glenn Schlägel

OK, das macht mich verrückt. Wenn ich zfs auf einem System ausführte, schrumpfte meine Root-Partition mit scheinbar keiner Erklärung. Ich habe jetzt keinen Platz mehr und kann nicht finden, wo alles hinging.

Ein einfaches dfzeigt folgendes:

[root@SV02 /]# df -h Filesystem Size Used Available Capacity Mounted on rpool/ROOT/opus-2457409-2017-11-07-release 90G 6.6G 35G 16% / swap 11G 404K 11G 1% /etc/svc/volatile ... /usr/lib/libc/libc_hwcap1.so.1 41G 6.6G 35G 16% /lib/libc.so.1 ... swap 11G 4K 11G 1% /tmp swap 11G 60K 11G 1% /var/run rpool/export 90G 32K 35G 1% /export rpool/export/home 90G 86K 35G 1% /export/home rpool/export/home/open 90G 404M 35G 2% /export/home/open rpool 90G 43K 35G 1% /rpool 

Verwendet / verfügbar scheint nicht konsistent zu sein ... Der Versuch, es aufzuspüren:

[root@SV02 /]# du -sh * | sort -h | tail -10 10M root 48M lib 58M etc 141M kernel 174M platform 405M export 1.5G opt 1.5G usr 3.1G var 3.6G proc 

OK, nur ein paar Gigabyte an Daten ... dachte vielleicht an einen Schnappschuss, aber das scheint nicht der Fall zu sein:

[root@SV02 /]# zfs list -t all NAME USED AVAIL REFER MOUNTPOINT rpool 55.5G 34.6G 43.5K /rpool rpool/ROOT 38.6G 34.6G 31K legacy rpool/ROOT/C_Backup1 1.24M 34.6G 5.61G / rpool/ROOT/C_backup2 1.33M 34.6G 5.61G / rpool/ROOT/napp-it-0.8l3 3.00M 34.6G 2.10G / rpool/ROOT/napp-it-0.9e1 1.66M 34.6G 5.61G / rpool/ROOT/nfsv4 54K 34.6G 2.11G / rpool/ROOT/openindiana 18.3M 34.6G 2.02G / rpool/ROOT/opus-2457044-2015-01-31-install 65.4M 34.6G 31.6G /a rpool/ROOT/opus-2457044-2015-01-31-preinstall 1K 34.6G 5.61G / rpool/ROOT/opus-2457044-2015-05-19-pre15 45K 34.6G 6.32G / rpool/ROOT/opus-2457044-2016-10-03-backup 52K 34.6G 31.3G / rpool/ROOT/opus-2457409-2016-10-04-install 15.5M 34.6G 31.7G /a rpool/ROOT/opus-2457409-2016-10-04-preinstall 52K 34.6G 31.5G / rpool/ROOT/opus-2457409-2017-11-07-release 38.5G 34.6G 6.57G / rpool/ROOT/opus-2457409-2017-11-07-release@install 4.40M - 1.56G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-02-25-22:01:25 6.64M - 1.58G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-02-25-22:05:33 84.6M - 2.02G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-03-19-23:25:59 58.0M - 2.11G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-04-12-17:55:40 0 - 2.10G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-04-12-17:55:48 0 - 2.10G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-04-12-18:13:10 1.44M - 2.10G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-04-12-18:14:31 2.17M - 2.12G - rpool/ROOT/opus-2457409-2017-11-07-release@2015-01-31-21:55:47 15.3M - 5.61G - rpool/ROOT/opus-2457409-2017-11-07-release@2015-01-31-22:34:52 9.18M - 5.61G - rpool/ROOT/opus-2457409-2017-11-07-release@2015-01-31-22:43:54 362K - 5.61G - rpool/ROOT/opus-2457409-2017-11-07-release@2015-01-31-22:44:05 362K - 5.61G - rpool/ROOT/opus-2457409-2017-11-07-release@2015-05-19-21:49:36 227M - 6.32G - rpool/ROOT/opus-2457409-2017-11-07-release@2016-10-04-16:11:30 3.15M - 31.3G - rpool/ROOT/opus-2457409-2017-11-07-release@2016-10-04-16:34:30 936K - 31.5G - rpool/ROOT/opus-2457409-2017-11-07-release@2016-10-04-16:34:42 986K - 31.5G - rpool/ROOT/opus-2457409-2017-11-07-release@2016-10-04-16:53:00 112M - 31.8G - rpool/ROOT/pre_napp-it-0.8l3 35K 34.6G 1.58G / rpool/ROOT/pre_napp-it-0.9e1 71K 34.6G 2.10G / rpool/ROOT/sv02-4-10-14 70K 34.6G 2.10G / rpool/ROOT/sv02-4-10-14-v2 4.17M 34.6G 2.12G / rpool/dump 8.00G 34.6G 8.00G - rpool/export 404M 34.6G 32K /export rpool/export/home 404M 34.6G 86.5K /export/home rpool/export/home/open 404M 34.6G 404M /export/home/open rpool/swap 8.50G 43.0G 132M - 

34 Gigs verfügbar, aber wo weiß ich nicht? Bei einem Verlust und leider habe ich zfs nicht gut genug, um eine Fehlerbehebung durchzuführen. Nach dem Neustart ist es beständig und ich habe in letzter Zeit keine großen Dateien oder irgendetwas gelöscht. Denken Sie also nicht, dass es ein Prozess ist, der an irgendetwas festhält ... Jede Richtung wäre dankbar.

ZUSATZ:

[root@SV02 /]# zfs list -t all NAME USED AVAIL REFER MOUNTPOINT rpool 23.5G 66.6G 43.5K /rpool rpool/ROOT 6.58G 66.6G 31K legacy rpool/ROOT/opus-2457409-2017-11-07-release 6.58G 66.6G 6.58G / rpool/dump 8.00G 66.6G 8.00G - rpool/export 404M 66.6G 32K /export rpool/export/home 404M 66.6G 86.5K /export/home rpool/export/home/open 404M 66.6G 404M /export/home/open rpool/swap 8.50G 75.0G 132M - 
1

1 Antwort auf die Frage

1
Dan

Es sieht so aus, als gäbe es ein paar "Blattknoten" -Datensätze (keine Sub-Datasets), die den Großteil Ihrer Festplattennutzung ausmachen rpool:

rpool/ROOT/opus-2457409-2017-11-07-release 38.5G rpool/dump 8.00G rpool/swap 8.50G 

Das fasst bis zu 55G, die auf die ausgewiesenen 55,5 g ganz in der Nähe rpoolist USED. Vermutlich möchten Sie behalten rpool/dumpund rpool/swapdefinieren, wie sie jetzt sind, so dass nur rpool/ROOT/opus-...-11-07-releasedas, was Sie möglicherweise Sachen löschen können, um Speicherplatz freizugeben.

Aus einem Grund verstehe ich nicht, dass in Ihrer Ausgabe der Mountpoint für dieses Dataset aufgeführt ist /, er ist jedoch auch für eine Reihe anderer Datasets gleich. Sie können nicht mehrere Dateisysteme tatsächlich in dasselbe Verzeichnis mounten, so dass dort offensichtlich etwas durcheinander gerät. Erstellen Sie ein neues Verzeichnis, zfs mountlegen Sie das Dataset dort fest, identifizieren Sie die zu löschenden Daten und löschen Sie duanschließend einige Dateien.

Wenn Sie dort Sachen löschen, werden Sie schnell feststellen, dass dadurch kein Speicherplatz frei wird. Dies liegt daran, dass Sie auch eine Reihe von Momentaufnahmen dieses Datensatzes haben:

rpool/ROOT/opus-2457409-2017-11-07-release 38.5G 34.6G 6.57G / rpool/ROOT/opus-2457409-2017-11-07-release@install 4.40M - 1.56G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-02-25-22:01:25 6.64M - 1.58G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-02-25-22:05:33 84.6M - 2.02G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-03-19-23:25:59 58.0M - 2.11G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-04-12-17:55:40 0 - 2.10G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-04-12-17:55:48 0 - 2.10G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-04-12-18:13:10 1.44M - 2.10G - rpool/ROOT/opus-2457409-2017-11-07-release@2014-04-12-18:14:31 2.17M - 2.12G - rpool/ROOT/opus-2457409-2017-11-07-release@2015-01-31-21:55:47 15.3M - 5.61G - rpool/ROOT/opus-2457409-2017-11-07-release@2015-01-31-22:34:52 9.18M - 5.61G - rpool/ROOT/opus-2457409-2017-11-07-release@2015-01-31-22:43:54 362K - 5.61G - rpool/ROOT/opus-2457409-2017-11-07-release@2015-01-31-22:44:05 362K - 5.61G - rpool/ROOT/opus-2457409-2017-11-07-release@2015-05-19-21:49:36 227M - 6.32G - rpool/ROOT/opus-2457409-2017-11-07-release@2016-10-04-16:11:30 3.15M - 31.3G - rpool/ROOT/opus-2457409-2017-11-07-release@2016-10-04-16:34:30 936K - 31.5G - rpool/ROOT/opus-2457409-2017-11-07-release@2016-10-04-16:34:42 986K - 31.5G - rpool/ROOT/opus-2457409-2017-11-07-release@2016-10-04-16:53:00 112M - 31.8G - 

@2016-10-04-16:53:00Schauen Sie sich den letzten an, - 31,8 G von den 38,5 G werden von diesem Snapshot beibehalten. Es sieht so aus, als würde die meiste Verwendung zumindest zurückgehen @2016-10-04-16:11:30, daher sollten Sie (zumindest) diese Snapshots löschen und den Großteil Ihrer Daten zurückgewinnen:

rpool/ROOT/opus-2457409-2017-11-07-release@2016-10-04-16:11:30 3.15M - 31.3G - rpool/ROOT/opus-2457409-2017-11-07-release@2016-10-04-16:34:30 936K - 31.5G - rpool/ROOT/opus-2457409-2017-11-07-release@2016-10-04-16:34:42 986K - 31.5G - rpool/ROOT/opus-2457409-2017-11-07-release@2016-10-04-16:53:00 112M - 31.8G - 

Wenn Sie die noch älteren Schnappschüsse nicht benötigen, können Sie sie auch löschen. Als allgemeine Empfehlung empfiehlt es sich, Schnappschüsse nur so lange aufzubewahren, wie Sie sie brauchen, und nicht auf unbestimmte Zeit, da Sie irgendwann versehentlich etwas Großes in einem von ihnen festhalten und in eine Situation wie diese geraten können.

OK löschte ALLE Schnappschüsse. Nicht benötigt Ich habe damit gerechnet, um Platz zu schaffen, aber nicht? Das ist irgendwie, wo ich neblig bin, obwohl ... rpool / ROOT / opus-2457409-2017-11-07-release unter / installiert ist, aber das sagt, dass es 34.6G gibt. während der df sagt, dass es voll ist. Das Du zeigt einen sehr geringen Verbrauch, so dass ich wirklich nichts zu löschen habe. WAS besetzt die 38.5Gi-Schätzung, muss ich herausfinden, aber wie? Christopher Glenn Schlägel vor 5 Jahren 0
@ ChristopherGlennSchlägel es sind nicht nur die Schnappschüsse - der Mountpoint scheint mir nicht korrekt zu sein, wie ich oben erwähnt habe. Haben Sie versucht, das FS irgendwo anders zu montieren und darin zu suchen? Wenn ja, was hast du gefunden? Dan vor 5 Jahren 0
Werde es jetzt versuchen ... Wenn ich das in ein anderes Verzeichnis mounte, werden die aktuellen Mounts nicht unterbrochen? Wenn dies das aktive Root-Dateisystem ist, möchten Sie nichts riskieren, da dies ein Produktionsserver ist ... Christopher Glenn Schlägel vor 5 Jahren 0
@ ChristopherGlennSchlägel Sie könnten auch versuchen, einen Klon zu erstellen und diesen irgendwo zu montieren, damit Sie dessen Inhalt mit / vergleichen können. Wenn sie identisch sind, müssen Sie Ihre Frage mit der neuen Ausgabe von zfs list -t all aktualisieren. Dan vor 5 Jahren 0
hat gerade die Ausgabe für den ursprünglichen Beitrag hinzugefügt Christopher Glenn Schlägel vor 5 Jahren 0
@ ChristopherGlennSchlägel: Sehen Sie immer noch Probleme? Es sieht so aus, als hätten Sie jetzt eine Menge mehr freien Speicherplatz auf `rpool` - von 34,6 G verfügbar vor bis 66,6 G jetzt verfügbar. Dan vor 5 Jahren 0
* Der Mountpoint für dieses Dataset wird als / aufgelistet, ist aber auch für eine Reihe anderer Datasets gleich. * Keine Sorge. Der Mountpoint ist nur eine ZFS-Eigenschaft. Das bedeutet nicht, dass das Dataset tatsächlich gemountet ist. Dort würde es gemountet werden, falls ZFS es mounten wollte. Anscheinend gibt es eine Reihe verschiedener [Boot-Umgebungen] (https://docs.oracle.com/cd/E23824_01/html/821-2726/gkwcz.html), die auf dem System des OP konfiguriert sind. Andrew Henle vor 5 Jahren 0