ZFS Datenträger läuft voll

Started by heiligst, July 02, 2024, 06:32:00 PM

Previous topic - Next topic
Hallo!

Habe da eine Frage/ein Problem mit meiner OPNSense!

Habe vor einiger Zeit die Hardware gewechselt und dann bei der Neuinstallation auf "ZFS" gewechselt - damit ich vor Updates die Sicherungsfunktion "boot environments" nutzen kann.

An meiner Installation/Einrichtung selbst habe ich eigentlich nicht wirklich was geändert - mit vorigen Installationen konnte ich also mein jetziges Problem nicht beobachten.


Die OPNSense lief 78 Tage seit dem letzten Update durch - vor ein paar Tagen habe ich dann wieder mal Updates gemacht und musste beim Einloggen feststellen, dass mein Datenträger quasi voll ist!


Habe daraufhin überall wo ich es gefunden habe, Trends/Logs/... gelöscht - hat nur ein paar GB gebracht.

Jetzt einige Tage später, ist nun meine SSD völlig voll!?


Woran könnte das liegen, bzw. wie gehe ich hier am Besten vor!?


Danke!


LG

Mach ma

zfs list
bectl list
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Man sieht doch, dass der meiste Platz in /var/log belegt ist.

Also würde ich mich auf dem CLI anmelden und "du -sc --si /var/log/*" aufrufen, um zu sehen, welche Log-Dateien genau hier über alle Maßen anwachsen. Dann kann man sich die Logdateien ansehen und schauen, ob es wirklich ein Problem gibt oder ob irgendwo der Log-Level einfach zu hoch eingestellt ist.

Das kann man dann in der Web-GUI reduzieren (oder den Fehler beseitigen, falls einer da ist).

Man kann auch unter System: Settings: Logging -> Reiter "Statistics" nachsehen, ob für irgendeine Kategorie auffällig viele Einträge vorhanden sind.

Eine Möglichkeit, dafür zu sorgen, dass das Log niemals den Datenträger vollschreiben kann, ist, unter System: Settings: Miscellaneous die Logs nur ins RAM schreiben zu lassen. Dann werden die Logs nicht persistiert, aber das System bleibt dann immer lauffähig.

Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

Quote from: meyergru on July 02, 2024, 06:43:16 PM
Man sieht doch, dass der meiste Platz in /var/log belegt ist.
Hier vertust du dich. Es sind insgesamt in dem Zpool noch rund 40M frei. Alles andere ist voll. Die Belegungs-Anzeigen der einzelnen Datasets sind "belegt" und "belegt plus diese 40M" und das ins Verhältnis gesetzt.

Kann bei ZFS verwirrend sein.

Schau auf die absoluten Zahlen. / sind 432G von 432G ...

Also @heiligst - bitte die Ausgabe der beiden Befehle. Danke.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)


cd /
du -skx * | sort -rn

Und bitte copy & paste von Text in einem Code-Block und keine Screenshots. Danke.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Quote from: Patrick M. Hausen on July 02, 2024, 06:50:58 PM
cd /
du -skx * | sort -rn

Und bitte copy & paste von Text in einem Code-Block und keine Screenshots. Danke.


root@OPNsense:/ # du -skx * | sort -rn
446624422       usr
4580515 var
1731085 conf
179647  boot
8676    lib
3746    sbin
2693    etc
2688    tmp
920     bin
113     libexec
46      root
5       entropy
5       COPYRIGHT
4       dev
1       zroot
1       sys
1       rescue
1       proc
1       net
1       mnt
1       media
1       home

cd usr
du -skx * | sort -rn

... und so weiter, bis du den "Brocken" gefunden hast.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

July 02, 2024, 07:00:23 PM #8 Last Edit: July 02, 2024, 07:05:03 PM by heiligst
Quote from: Patrick M. Hausen on July 02, 2024, 06:55:37 PM
cd usr
du -skx * | sort -rn

... und so weiter, bis du den "Brocken" gefunden hast.

Hm, da kommen dann 2 ähnlich große Ordner - in die komme ich nicht rein.

root@OPNsense:/usr/bin # du -skx * | sort -rn
42521   lldb
42449   c++
28381   ld.lld
10305   lldb-server
5969    llvm-objdump
5937    llvm-nm
5769    llvm-ar
3481    llvm-readelf
2689    llvm-profdata
2441    llvm-addr2line
2365    gcov
2309    llvm-objcopy
1993    llvm-size
433     openssl
309     ex
297     apropos
245     c++filt
233     llvm-strings
229     flex
153     bmake
137     less
137     dtc
121     bc
121     awk
113     ztest
113     ftp
105     readelf
105     netstat
101     telnet
77      unzstd
77      objcopy
73      byacc
69      systat
61      wg
61      edit
61      ctfconvert
57      truss
57      nm
53      rpcgen
53      localedef
53      addr2line
49      m4
49      lzcat
49      cu
49      ctfmerge
49      bsnmpget
45      top
45      sort
41      patch
41      gunzip
41      drill
41      bsdtar
37      mkimg
37      kdump
37      find
33      tftp
33      pmcstudy
33      pargs
33      iscsictl
33      indent
33      diff
33      dialog
33      bsdiff
33      ar
29      sed
29      lpr
25      vmstat
25      unifdef
25      lprm
25      lpq
25      gprof
25      crunchgen
25      crontab
25      bunzip2
25      bsdcpio
21      zinject
21      vtfontcvt
21      pr
21      nc
21      mt
21      mkcsmapper
21      install
21      host
21      hd
21      finger
21      fetch
21      egrep
21      diff3
21      at
17      zstream
17      unzip
17      tr
17      tail
17      sockstat
17      size
17      sdiff
17      rpcinfo
17      nfsstat
17      mkuzip
17      mkesdb
17      ministat
17      login
17      file
17      elfdump
17      ctlstat
17      ctfdump
17      ctags
17      chpass
17      chat
17      cal
17      banner
13      xo
13      xargs
13      whois
13      whereis
13      wall
13      usbhidctl
13      usbhidaction
13      uptime
13      units
13      ul
13      su
13      strings
13      smbutil
13      script
13      rs
13      rfcomm_sppd
13      reset
13      readlink
13      rctl
13      printf
13      posixshmcontrol
13      opiepasswd
13      man
13      logger
13      locate
13      locale
13      limits
13      lesskey
13      last
13      killall
13      jot
13      join
13      ipcs
13      ipcrm
13      getent
13      getconf
13      getaddrinfo
13      gencat
13      gcore
13      fstat
13      fmt
13      env
13      dpv
13      cut
13      csplit
13      crunchide
13      compress
13      col
13      cmp
13      btsockstat
9       yes
9       xstr
9       write
9       who
9       which
9       what
9       wc
9       vis
9       users
9       unvis
9       uniq
9       unexpand
9       uname
9       tsort
9       truncate
9       tput
9       touch
9       time
9       tee
9       tcopy
9       tabs
9       split
9       soelim
9       showmount
9       seq
9       rwho
9       rwall
9       rusers
9       ruptime
9       rup
9       resizewin
9       renice
9       proccontrol
9       printenv
9       pathchk
9       paste
9       passwd
9       opiekey
9       nl
9       nice
9       newkey
9       newgrp
9       mktemp
9       mkstr
9       minigzip
9       lzmainfo
9       lzdec
9       lsvfs
9       look
9       logname
9       logins
9       lockf
9       lock
9       lessecho
9       leave
9       ldd
9       lastcomm
9       lam
9       ktrdump
9       ktrace
9       ident
9       iconv
9       head
9       groups
9       getopt
9       fold
9       file2c
9       expand
9       etdump
9       elfctl
9       du
9       dirname
9       crypt
9       cpuset
9       comm
9       column
9       colrm
9       cksum
9       chkey
9       chgrp
9       cap_mkdb
9       c99
9       bzip2recover
9       bthost
9       bspatch
9       bsdcat
9       brandelf
9       beep
9       basename
9       backlight
9       b64encode
9       b64decode
9       asa
9       apply
5       znew
5       zmore
5       zforce
5       xzdiff
5       unifdefall
5       tty
5       true
5       stdbuf
5       shar
5       revoke
5       rev
5       protect
5       perror
5       pagesize
5       opieinfo
5       nohup
5       mkfifo
5       mkdep
5       mesg
5       lp
5       lorder
5       lesspipe.sh
5       keylogout
5       keylogin
5       gzexe
5       fsync
5       false
5       clear
5       c89
5       bzegrep
1       zstreamdump
1       timeout
1       tar
1       pkill
1       pgrep
1       ld
1       cpio
1       chsh
1       chfn
1       bzless
1       alias
1       CC

July 02, 2024, 07:12:00 PM #9 Last Edit: July 02, 2024, 07:13:32 PM by meyergru
Kannst Du mal den Output von "zpool status -t" zeigen?

Und in welche Ordner "kommst Du nicht rein"?
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

Quote from: meyergru on July 02, 2024, 07:12:00 PM
Kannst Du mal den Output von "zpool status -t" zeigen?

Und in welche Ordner "kommst Du nicht rein"?

root@OPNsense:/usr/bin # zpool status -t
  pool: zroot
state: ONLINE
config:

        NAME        STATE     READ WRITE CKSUM
        zroot       ONLINE       0     0     0
          nvd0p4    ONLINE       0     0     0  (untrimmed)

errors: No known data errors



In die Ordner lldb + c++.

Egal welche Logs ich lösche, ich gewinne kaum Speicherplatz.

In /usr/bin werden die 446 G nicht stecken. Was ist denn die Ausgabe von dem

cd /usr
du -skx * | sort -rn
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

Versuch mal "df --si ; zpool set autotrim=on zroot; zpool trim zroot; sleep 30; zpool status -t; df --si"
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

July 02, 2024, 07:39:20 PM #14 Last Edit: July 02, 2024, 07:44:52 PM by Patrick M. Hausen
Lasst mich doch bitte mal machen ...

Guckt mal den "zfs list" output an. Da sind 431 G REFER in dem Dataset, dass unter / gemountet ist und davon ist *nichts* nennenswertes in irgendeinem anderen Dataset.

Aus der ersten Ausgabe von

cd /
du -skx * | sort -rn

sieht man, dass das alles unterhalb von /usr liegt.

Also als nächstes:

cd /usr
du -skx * | sort -rn

Und bitte die Ausgabe.

Mein Verdacht: da schreibt irgendein Plugin irgendwo unter /usr/local irgendwas voll. Wissen wir aber noch nicht.

/var/log ist komplett irrelevant - ich verweise wieder auf die Ausgabe von "zfs list".

Und Snapshots sind es auch nicht, deren Platz würde nämlich in der Ausgabe von "du" gar nicht auftauchen. Wir haben aber >400 G in /usr ...
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)