Unable to build gravity tree in /etc/pihole/gravity.db_temp

Hallo,
ich habe Pi-hole auf meinen Raspberry Pi 3 Model B Plus installiert den ich vorher von Strecht auf Buster hoch gezogen habe. Auf dem Pi läuft unter anderem noch FHEM also kann ich nicht einfach mal schnell "fresh from the box" aufsetzen...

Soweit läuft Pi-hole gut doch nun würde ich gerne die Filterlisten von Firebog ergänzen doch egal ob ich alle auf einmal ergänze und update oder immer nur 3 und dann update es kommt der folgende Fehler:

[✓] Creating new gravity databases
[✓] Storing downloaded domains in new gravity database
[i] Building tree...
[✗] Unable to build gravity tree in /etc/pihole/gravity.db_temp
Error: stepping, database or disk is full (13)
[✗] Unable to create database. Please contact support.

Mit ein wenig recherche bin ich darauf gekommen das wohl /tmp voll läuft und habe die Größe in der fstab vergrößert doch das ist wohl nicht der fehler. Auch erschließt sich mir nicht welche Disk full sein soll denn während des Abbruchs habe ich überall Speicher frei!

Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/root 7,4G 2,6G 4,6G 36% /
devtmpfs 454M 0 454M 0% /dev
tmpfs 487M 1,3M 486M 1% /dev/shm
tmpfs 487M 13M 474M 3% /run
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 487M 0 487M 0% /sys/fs/cgroup
tmpfs 20M 0 20M 0% /var/tmp
tmpfs 150M 0 150M 0% /var/cache/apt/archives
tmpfs 70M 23M 48M 33% /var/log
tmpfs 500M 16M 485M 4% /tmp
/dev/mmcblk0p1 43M 25M 18M 59% /boot
tmpfs 98M 0 98M 0% /run/user/998
tmpfs 98M 0 98M 0% /run/user/0

Hier mein Debug Token: https://tricorder.pi-hole.net/fFuizrQT/

Wäre nett wenn mir mal einer auf dem Baum hilft wie ich die Listen alle rein kriege! Danke.

Mfg BK

Ich denke, du hast ein Problem mit Dateisystemfehlern. Deine Langzeitdatenbank ist auch nicht in Ordnung.

*** [ DIAGNOSING ]: Pi-hole FTL Query Database
-rw-rw-r-- 1 pihole pihole 3.1M Sep 28 15:39 /etc/pihole/pihole-FTL.db
[i] Checking integrity of /etc/pihole/pihole-FTL.db ... (this can take several minutes)
[✗] Integrity errors in /etc/pihole/pihole-FTL.db found.

Danke für den Tipp aber nach einem check mit fsck beim boot via "fsck.mode=force" beim booten kommt der selbe Fehler und die aktuelle SD-Karte habe ich auch schon ersetzt...

[✓] Creating new gravity databases
[✓] Storing downloaded domains in new gravity database
[i] Building tree...
[✗] Unable to build gravity tree in /etc/pihole/gravity.db_temp
Error: stepping, database or disk is full (13)
[✗] Unable to create database. Please contact support.

Hier nochmal ein aktueller Debug Token: https://tricorder.pi-hole.net/f3LbYKfX/

Trotzdem Danke und ich probiere gerne alle weiteren Tipps aus! Ich möchte so gerne das ganze zum sauber laufen kriegen :-/

Das verstehe ich nicht ganz, hast du nun Pi-hole auf einer neuen SD-Karte installiert und es kommen die gleichen Fehler?
Denn dein Dateisystem ist immer noch nicht in Ordnung:

*** [ DIAGNOSING ]: Pi-hole FTL Query Database
-rw-rw-r-- 1 pihole pihole 3.1M Sep 28 15:39 /etc/pihole/pihole-FTL.db
[i] Checking integrity of /etc/pihole/pihole-FTL.db ... (this can take several minutes)
[✗] Integrity errors in /etc/pihole/pihole-FTL.db found.

    Error: in prepare, database disk image is malformed (11)


[2022-10-15 09:52:00.325 877M] SQLite3 message: database corruption at line 70100 of [698edb7753] (11)
   [2022-10-15 09:52:00.325 877M] SQLite3 message: database disk image is malformed in "SELECT VALUE FROM ftl WHERE id = 0;" (11)
   [2022-10-15 09:52:00.325 877M] Encountered prepare error in db_query_int("SELECT VALUE FROM ftl WHERE id = 0;"): database disk image is malformed
   [2022-10-15 09:52:00.325 877M] WARN: Database /etc/pihole/pihole-FTL.db is damaged and cannot be used.
   [2022-10-15 09:52:00.325 877M] Database version is -2
   [2022-10-15 09:52:00.325 877M] Updating long-term database to version 2
   [2022-10-15 09:52:00.325 877M] ERROR: create_counter_table() failed!
   [2022-10-15 09:52:00.325 877M] Counter table not initialized, database not available

Du solltest ein Backup via Teleporter machen, dann eine frische SD Karte nehmen, oder ein neues OS aufspielen, Pi-hole aufspielen und das Backup wieder einspielen.

Sorry, war vielleicht etwas unverständlich. Ich habe die "alte" 4GB SD-Karte ausgetauscht indem ich ein Backup gemacht habe und dieses Backup auf eine neue SD-Karte eingespielt habe. Das heißt aber natürlich noch nicht das die neue SD-Karte nicht auch einen weg hat...
Soll ich einen neue SD besorgen und ein Backup der alten SD-Karte dort einspielen? Könnte das was bringen?

Wie genau hast Du denn das Backup gemacht?
Wenn Du einfach ein Image von der gesamten alten SD-Karte gezogen und auf eine neue SD-Karte transferiert hättest, fänden sich die Dateisystem-Fehler natürlich auch 1:1 auf der neuen SD-Karte wieder. In dem Fall hätte die neue SD-Karte nicht notwendigerweise auch einen weg. :wink:

Hallo,
ich habe ein Backup Skript das ein Image mit dd auf mein NAS weg schreibt:

dd if=/dev/mmcblk0 of=${BACKUP_PFAD}/${BACKUP_NAME}-$(date +%Y%m%d).img bs=1MB

und anschließend verkleinert:

pishrink.sh ${BACKUP_PFAD}/${BACKUP_NAME}-$(date +%Y%m%d).img

und das Image habe ich dann zurück auf die neue SD-Karte geschriebne (am Windows Rechner über Win32Diskimager).

Damit machst du eine bit-genaue Kopie deines Dateissystems und hast genau dieses Problem:

OK, gut. Aber wie behebe ich jetzt das Problem? fsck hab ich ja schon beim booten des Raspi laufen lassen und es scheint das Problem nicht zu beheben / zu finden...

Eine Neuinstallation geht schneller :slight_smile:

Du machst tun Teleporter Backup, eine saubere Neuinstallation und spielst das Backup dann wieder ein.

Hallo,
da (wie am Anfagn erwähnt) eine Neuinstallation für mich keine gewünschte Option ist habe ich die SD-Karte ausgebaut und per Kartenleser in einem alten Raspi bearbeitet.

Mit " fsck.ext4 -Dfty -C 0 /dev/sdX2" habe ich das Dateisystem repariert und dann die SD wieder in meinen neuen Raspi eingebaut.

Da das Problem aber noch immer besteht müsste es doch die SD-Karte sein, oder? Dann tausche ich als nächstes die?

Du gibst dir grad die Antwort selbst.
Pi Imager nehmen, neues RaspiOS aufspielen und installieren.
Das dauert keine 30 Minuten mit dem Teleporter Backup.

Etwas adere Weg: Image der alten SD-Karte nehmen und auf neue bügeln, Dateisystem checken / reparieren und dann hoffen das das Problem beseitigt ist.
Ich will keine neuinstallation auf Grund der diversten Systeme die auf dem Raspi laufen. Bin ja auch noch auf Buster und nicht auf Bullseye...

Dann tu dir einen Gefallen und benutze rpi clone.

Das Script legt die Partitionen richtig an und kopiert dann die Dateien per rsynch. Somit sollte es kein Problem mit dem kaputten Dateisystem geben.

OK, klingt auch nach einem Weg.

Ich fasse mal kurz zusammen:

Neue SD-Karte in Kartenleser an alten Raspi anschließen und vom neuen Raspi mit rpi clone alles per RSync kopieren. Richtig?

Japp, schau dir die Syntax vom Script nochmal an und dann ab zum Kopieren.

Hab per Script auf eine neue Karte kopiert und diese dann noch per fsck geprüft. Bringt nichts :frowning: Fehler ist noch da!

[✓] Creating new gravity databases
[✓] Storing downloaded domains in new gravity database
[i] Building tree...
[✗] Unable to build gravity tree in /etc/pihole/gravity.db_temp
Error: stepping, database or disk is full (13)
[✗] Unable to create database. Please contact support.

https://tricorder.pi-hole.net/KhtvJovJ/

Und hier was ich gemacht habe:

root@HDplus-CS ~/rpi-clone > sudo rpi-clone -p 256M sdb

Booted disk: mmcblk0 8.1GB                 Destination disk: sdb 7.8GB
---------------------------------------------------------------------------
Part      Size    FS     Label           Part   Size    FS     Label
1 /boot    42.5M  fat32  --              1        7.3G  fat32  --
2 root      7.5G  ext4   rootfs
---------------------------------------------------------------------------
== Initialize: IMAGE partition table - partition number mismatch: 2 -> 1 ==
1 /boot               (24.5M used)   : RESIZE  MKFS  SYNC to sdb1
2 root                (2.5G used)    : RESIZE  MKFS  SYNC to sdb2
---------------------------------------------------------------------------
-p 256M                : resize /boot to 524288 blocks of 512 Bytes.
Run setup script       : no.
Verbose mode           : no.
-----------------------:
** WARNING **          : All destination disk sdb data will be overwritten!
-----------------------:

Initialize and clone to the destination disk sdb?  (yes/no): yes
Optional destination ext type file system label (16 chars max):

Initializing
  Imaging past partition 1 start.
  => dd if=/dev/mmcblk0 of=/dev/sdb bs=1M count=8 ...
  Resizing both destination disk partitions ...
    Resize success.
  Changing destination Disk ID ...
  => mkfs -t vfat -F 32  /dev/sdb1 ...
  => mkfs -t ext4  /dev/sdb2 ...

Syncing file systems (can take a long time)
Syncing mounted partitions:
  Mounting /dev/sdb2 on /mnt/clone
  => rsync // /mnt/clone with-root-excludes ...
  Mounting /dev/sdb1 on /mnt/clone/boot
  => rsync /boot/ /mnt/clone/boot  ...

Editing /mnt/clone/boot/cmdline.txt PARTUUID to use 7d3ce40d
Editing /mnt/clone/etc/fstab PARTUUID to use 7d3ce40d
===============================
Done with clone to /dev/sdb
   Start - 12:50:55    End - 12:56:26    Elapsed Time - 5:31

Cloned partitions are mounted on /mnt/clone for inspection or customizing.

Hit Enter when ready to unmount the /dev/sdb partitions ...
  unmounting /mnt/clone/boot
  unmounting /mnt/clone
===============================

root@HDplus-CS ~/rpi-clone > fsck.ext4 -Dfty -C 0 /dev/sdb2
e2fsck 1.44.5 (15-Dec-2018)
Durchgang 1: Inodes, Blöcke und Größen werden geprüft
Durchgang 2: Verzeichnisstruktur wird geprüft
Durchgang 3: Verzeichnisverknüpfungen werden geprüft
Durchgang 3A: Verzeichnisse werden optimiert
Durchgang 4: Referenzzähler werden überprüft
Durchgang 5: Zusammengefasste Gruppeninformation wird geprüft

/dev/sdb2: ***** DATEISYSTEM WURDE VERÄNDERT *****
/dev/sdb2: 68404/460560 Dateien (0.4% nicht zusammenhängend), 586535/1841637 Blöcke
Benutzter Speicher: 1404k/0k (79k/1326k), Zeit:  6.54/ 1.32/ 0.52
I/O read: 98MB, write: 27MB, rate: 19.11MB/s

Hab mich nun final doch dazu entschieden das System neu mit Bullseye aufzusetzen und was soll ich sagen: Geht alles und nach etwas gefrickel laufen auch alle "alten Systeme" die schon vor Pi-Hole auf dem Raspi waren.

Ich danke euch für eure Tipps und eure Geduld :slight_smile:

1 Like

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.