Dynamix File Integrity Plugin gibt keine Pfade/Dateinamen an


vakilando

Recommended Posts

Hallo zusammen,

 

ich habe das Dynamix File Integrity Plugin installiert und es funktioniert auch grundsätzlich.

Ich habe aber leider das Problem, dass gefundene korrupte Dateien nicht namentlich bzw. mit Pfad angegeben werden.

So ist dieses Plugin nutzlos.

Ich habe dies (neben anderen) auch schon im entsprechendem Thread angemerkt (engl. Forum) aber da gibt es keine Antworten:

 

 

Dies ist der aktuellste Syslog Eintrag:

Erste Zeile: letzte Eintrag bevor das Dynamix File Integrity Plugin loslegt.

Letzte Zeile: Beginn der Notification per Mail über das Ergebnis

Jan 13 02:59:36 FloBineDATA kernel: mdcmd (78): spindown 1
Jan 13 03:00:11 FloBineDATA bunker: Verify task for disk1 started, total files size 136 GB
Jan 13 03:30:57 FloBineDATA bunker: error: BLAKE2 hash key mismatch,  is corrupted
Jan 13 03:37:36 FloBineDATA kernel: mdcmd (79): set md_write_method 1
Jan 13 03:37:36 FloBineDATA kernel: 
Jan 13 03:49:54 FloBineDATA bunker: error: BLAKE2 hash key mismatch,  is corrupted
Jan 13 03:56:40 FloBineDATA bunker: error: BLAKE2 hash key mismatch, ng/fs.json is corrupted
Jan 13 04:00:38 FloBineDATA bunker: Verify task for disk1 finished, duration: 1 hr, 0 min, 37 sec.
Jan 13 04:00:38 FloBineDATA bunker: verified 198065 files from /mnt/disk1. Found: 0 mismatches, 3 corruptions. Duration: 01:00:37. Average speed: 37.5 MB/s
Jan 13 04:00:38 FloBineDATA sSMTP[26420]: Creating SSL connection to host

 

 

Die generierte Mail sieht so aus:

Event: unRAID file corruption
Subject: Notice [FLOBINEDATA] - bunker verify command
Description: Found 3 files with BLAKE2 hash key corruption
Importance: alert

BLAKE2 hash key mismatch, is corrupted
BLAKE2 hash key mismatch, is corrupted
BLAKE2 hash key mismatch, ng/fs.json is corrupted

 

 

Meine Config:

fip.png.da237b378fedc85da478cb96241b63f1.png

 

Irgendeine Idee was hier falsch läuft, bzw. was ich vielleicht ändern muss?

 

Link to comment

Eventuell eine unsichtbare Datei oder eine mit falschen Rechten? Weil in den Logs sieht es ja so aus als sollte da ein Dateiname stehen, aber der fehlt dann einfach:

Jan 13 03:49:54 FloBineDATA bunker: error: BLAKE2 hash key mismatch,  is corrupted


EDIT: Ja laut Quelltext wird da eine Variable gefüllt:

https://github.com/bergware/dynamix/blob/72c87e4890cb381ec07541e47423052a60bd3f06/source/file-integrity/scripts/bunker#L604

 

 echo "${hash^^} hash key mismatch, $file is corrupted" >>$tmpfile.2

 

 

bzw auch noch mal weiter unten.

 

Gefüllt wird diese Variable hier:

https://github.com/bergware/dynamix/blob/72c87e4890cb381ec07541e47423052a60bd3f06/source/file-integrity/scripts/bunker#L574

file="${line:$name}"

 

$line wird hier gefüllt:

https://github.com/bergware/dynamix/blob/72c87e4890cb381ec07541e47423052a60bd3f06/source/file-integrity/scripts/bunker#L571

while read -r line; do

 

Und kommt regulär aus $tmpfile:

https://github.com/bergware/dynamix/blob/72c87e4890cb381ec07541e47423052a60bd3f06/source/file-integrity/scripts/bunker#L612

done <$tmpfile

 

$tmpfile ist diese:

https://github.com/bergware/dynamix/blob/72c87e4890cb381ec07541e47423052a60bd3f06/source/file-integrity/scripts/bunker#L486

# Used for concurrent script execution
tmpfile=/tmp/$cmd.$RANDOM.list

 

Gefüllt wird die Datei mit Pfaden ab hier:

https://github.com/bergware/dynamix/blob/72c87e4890cb381ec07541e47423052a60bd3f06/source/file-integrity/scripts/bunker#L508

  if [[ $one -eq 0 ]]; then
    if [[ -z $mask ]]; then
      find "$path" -type f -name "*" $size $base -exec getfattr -n user.$hash --absolute-names "{}" 1>/dev/null 2>$tmpfile + &
    else
      find "$path" -type f \( $mask \) $size $base -exec getfattr -n user.$hash --absolute-names "{}" 1>/dev/null 2>$tmpfile + &
    fi
    waitfor $! "Scanning for files to add"
    sed -i "s/: user.$hash: No such attribute$//" $tmpfile &
    waitfor $! "Preparing for execution"
  else
    [[ -f $path ]] && echo "$path" >$tmpfile || exit
  fi

 

Die Frage ist nun was genau in der $tmpfile steckt bzw in "$line".

 

Ich würde vorschlagen den Quelltext von der Datei "bunker" so zu verändern, dass wir an diese Information kommen. Am besten ersetzt du folgendes:

log "error: ${hash^^} hash key mismatch, $file is corrupted" 1

gegen das:

log "error: ${hash^^} hash key mismatch, $file is corrupted (line is $line and name is $name)" 1

 

Das kommt im Quelltext 2x vor. Ersetze beide Stellen!

 

Weißt du wie? Einfach die bunker Datei in einen Share kopieren:

cp /usr/local/emhttp/plugins/dynamix.file.integrity/scripts/bunker /mnt/cache/sharename/bunker

 

Und dann nach der Änderung zurück:

cp /mnt/cache/sharename/bunker /usr/local/emhttp/plugins/dynamix.file.integrity/scripts/bunker

 

Danach noch mal ausführen und schauen was diesmal in den Logs steht.

 

Sind die immer noch leer, dann müssen wir uns den Inhalt von $tmpfile anschauen.

Link to comment

Eieiei, nachdem der Check fertig war, habe ich mir die Logfiles angeschaut und später ist mir der komplette Unraid Server eingefroren.

Kein SSH und kein Webinterface, VM eingefroren (mein virtueller Arbeitsplatzrechner mit durchgereichter Grafik, Tastatur/Maus).

Warum der Freeze...? Weiß ich noch nicht.

Nach dem Neustart, keine VMs mehr (ärgerlich da mein Hauptrechner eine ist...)

Grund: Die Pfade im VM-Manager ("Default VM storage path" und "Default ISO storage path:") waren auf Standard zurückgesetzt...

Naja erst mal hier egal - anderes Thema....

 

Hier das Log:

Anmerkung: ich habe einige Zeilen mit "...is missing" rausgelöscht wegen der Namen und der Länge (wieso die fehlen weiß ich auch grad nicht).

Jan 20 19:15:03 FloBineDATA bunker: Verify task for disk2 started, total files size 2.44 GB
Jan 20 19:16:04 FloBineDATA bunker: Verify task for disk2 finished, duration: 0 hr, 1 min, 3 sec.
Jan 20 19:33:02 FloBineDATA kernel: mdcmd (431): spindown 0
Jan 20 19:39:08 FloBineDATA kernel: mdcmd (432): spindown 1
Jan 20 19:40:01 FloBineDATA sSMTP[30105]: Creating SSL connection to host
Jan 20 19:40:01 FloBineDATA sSMTP[30105]: SSL connection using TLS_AES_256_GCM_SHA384
Jan 20 19:40:03 FloBineDATA sSMTP[30105]: Sent mail for [email protected] (221 wp108.webpack.hosteurope.de closing connection) uid=0 username=root outbytes=737
Jan 20 19:42:51 FloBineDATA kernel: mdcmd (433): set md_write_method 0
Jan 20 19:42:51 FloBineDATA kernel: 
Jan 20 19:44:46 FloBineDATA kernel: mdcmd (434): spindown 2
Jan 20 20:53:35 FloBineDATA bunker: warning: /mnt/disk2/Software/.Trash-1000/info/System.trashinfo is missing
Jan 20 20:53:45 FloBineDATA bunker: warning: /mnt/disk2/Software/Videoüberwachung/SmartVision_En_IS_V2.00.0.R.20190222.zip is missing
Jan 20 20:57:51 FloBineDATA kernel: mdcmd (435): set md_write_method 1
Jan 20 20:57:51 FloBineDATA kernel: 
Jan 20 21:03:54 FloBineDATA bunker: warning: /mnt/disk1/FloBine/.Trash-1000/directorysizes is missing
Jan 20 21:09:17 FloBineDATA kernel: mdcmd (436): spindown 2
Jan 20 21:40:30 FloBineDATA bunker: warning: /mnt/disk1/Florian/.Trash-1000/files/crossdomain.xml is missing
Jan 20 21:40:30 FloBineDATA bunker: warning: /mnt/disk1/Florian/.Trash-1000/files/GraphMLViewer.js is missing
Jan 20 21:40:30 FloBineDATA bunker: warning: /mnt/disk1/Florian/.Trash-1000/files/GraphMLViewer.swf is missing
Jan 20 21:40:30 FloBineDATA bunker: warning: /mnt/disk1/Florian/.Trash-1000/files/test.txt is missing
Jan 20 21:40:30 FloBineDATA bunker: warning: /mnt/disk1/Florian/.Trash-1000/files/troubleshooting/flobinedata-diagnostics-20201005-0722.zip is missing
Jan 20 21:40:30 FloBineDATA bunker: warning: /mnt/disk1/Florian/.Trash-1000/files/troubleshooting/syslog-192.168.1.222 - Kopie.log is missing
Jan 20 21:40:30 FloBineDATA bunker: warning: /mnt/disk1/Florian/.Trash-1000/info/crossdomain.xml.trashinfo is missing
Jan 20 21:40:30 FloBineDATA bunker: warning: /mnt/disk1/Florian/.Trash-1000/info/GraphMLViewer.js.trashinfo is missing
Jan 20 21:40:30 FloBineDATA bunker: warning: /mnt/disk1/Florian/.Trash-1000/info/GraphMLViewer.swf.trashinfo is missing
Jan 20 21:40:30 FloBineDATA bunker: warning: /mnt/disk1/Florian/.Trash-1000/info/test.txt.trashinfo is missing
Jan 20 21:40:30 FloBineDATA bunker: warning: /mnt/disk1/Florian/.Trash-1000/info/troubleshooting.trashinfo is missing
Jan 20 21:40:45 FloBineDATA bunker: warning: /mnt/disk1/Florian/Computer/.~lock.DMS_Kategorien-Tags.ods# is missing
Jan 20 21:40:46 FloBineDATA bunker: error: BLAKE2 hash key mismatch, /mnt/disk1/Florian/Computer/DMS_Kategorien-Tags.ods is corrupted (line is f515d274ae2fbe7ed77799674059efade15ff566515b0ffb400537e120e21480a73bd004a5e555db41669edf63473115adf0876b1299c78e9e77bac26c2feb09 */mnt/disk1/Florian/Computer/DMS_Kategorien-Tags.ods and name is 130)
Jan 20 21:40:59 FloBineDATA kernel: mdcmd (437): spindown 2
Jan 20 21:42:51 FloBineDATA kernel: mdcmd (438): set md_write_method 0
Jan 20 21:42:51 FloBineDATA kernel: 
Jan 20 21:45:22 FloBineDATA bunker: error: BLAKE2 hash key mismatch, /mnt/disk1/Florian/Computer/Serverkonfigurationen/unraid/Netzwerk-Infrastruktur/Netzplan_Unraid_Docker-KVM.ods is corrupted (line is 79370108d58f5442437e528d7a786c9ba07daeea50e461bc7f9760e52d6bd521b149027ae5b35ddc76c34e9a5302499d110deb6af19e65363c0cd50e9db6a93e */mnt/disk1/Florian/Computer/Serverkonfigurationen/unraid/Netzwerk-Infrastruktur/Netzplan_Unraid_Docker-KVM.ods and name is 130)
Jan 20 21:49:37 FloBineDATA bunker: checked 198059 files from source /boot/config/plugins/dynamix.file.integrity/export/disk1.export.hash. Found: 0 mismatches, 2 corruptions. Duration: 00:56:19. Average speed: 40.4 MB/s
Jan 20 21:49:37 FloBineDATA sSMTP[10360]: Creating SSL connection to host
Jan 20 21:49:37 FloBineDATA sSMTP[10360]: SSL connection using TLS_AES_256_GCM_SHA384

 

Scheint beim manuellen Check alles gut gelaufen zu sein.

Ich warte jetzt mal den nächsten scheduled check ab.

 

Edit: Beide genannten korrupten Dateien sind übrigens in Ordnung und lassen sich bearbeiten und speichern.

 

Edited by vakilando
Link to comment

uhh, tut zwar hier nix zur Sache, aber nach dem Absturz habe ich ziemlich oft das hier im Log:

(Backup läuft schon...)

 

Jan 20 22:05:49 FloBineDATA kernel: XFS (sdg1): Metadata corruption detected at xfs_dinode_verify+0xa5/0x52e [xfs], inode 0x62dc201d dinode
Jan 20 22:05:49 FloBineDATA kernel: XFS (sdg1): Unmount and run xfs_repair
Jan 20 22:05:49 FloBineDATA kernel: XFS (sdg1): First 128 bytes of corrupted metadata buffer:
Jan 20 22:05:49 FloBineDATA kernel: 0000000012edc20c: 49 4e 81 a4 03 02 00 00 00 00 00 00 00 00 00 00  IN..............
Jan 20 22:05:49 FloBineDATA kernel: 00000000d64d7a95: 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
Jan 20 22:05:49 FloBineDATA kernel: 000000004c41ac06: 5e 23 89 c7 0f d1 d7 2a 5e 23 89 c7 0f d1 d7 2a  ^#.....*^#.....*
Jan 20 22:05:49 FloBineDATA kernel: 000000005d40f755: 5f 53 b2 6d 22 0f ed 8c 00 00 00 00 00 00 03 9c  _S.m"...........
Jan 20 22:05:49 FloBineDATA kernel: 00000000583ca289: 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01  ................
Jan 20 22:05:49 FloBineDATA kernel: 00000000bd0765f6: 00 00 00 02 00 00 00 00 00 00 00 00 15 00 86 85  ................
Jan 20 22:05:49 FloBineDATA kernel: 000000008fb02bc1: ff ff ff ff 1d 74 d7 ed 00 00 00 00 00 00 00 08  .....t..........
Jan 20 22:05:49 FloBineDATA kernel: 00000000cf5b0472: 00 00 00 01 00 01 01 c0 00 00 00 00 00 00 00 00  ................
Jan 20 22:05:53 FloBineDATA kernel: XFS (sdg1): Metadata corruption detected at xfs_dinode_verify+0xa5/0x52e [xfs], inode 0x62dc201d dinode
Jan 20 22:05:53 FloBineDATA kernel: XFS (sdg1): Unmount and run xfs_repair
Jan 20 22:05:53 FloBineDATA kernel: XFS (sdg1): First 128 bytes of corrupted metadata buffer:
Jan 20 22:05:53 FloBineDATA kernel: 0000000012edc20c: 49 4e 81 a4 03 02 00 00 00 00 00 00 00 00 00 00  IN..............
Jan 20 22:05:53 FloBineDATA kernel: 00000000d64d7a95: 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
Jan 20 22:05:53 FloBineDATA kernel: 000000004c41ac06: 5e 23 89 c7 0f d1 d7 2a 5e 23 89 c7 0f d1 d7 2a  ^#.....*^#.....*
Jan 20 22:05:53 FloBineDATA kernel: 000000005d40f755: 5f 53 b2 6d 22 0f ed 8c 00 00 00 00 00 00 03 9c  _S.m"...........
Jan 20 22:05:53 FloBineDATA kernel: 00000000583ca289: 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01  ................
Jan 20 22:05:53 FloBineDATA kernel: 00000000bd0765f6: 00 00 00 02 00 00 00 00 00 00 00 00 15 00 86 85  ................
Jan 20 22:05:53 FloBineDATA kernel: 000000008fb02bc1: ff ff ff ff 1d 74 d7 ed 00 00 00 00 00 00 00 08  .....t..........
Jan 20 22:05:53 FloBineDATA kernel: 00000000cf5b0472: 00 00 00 01 00 01 01 c0 00 00 00 00 00 00 00 00  ................

 

Link to comment

Nutzt du Undervolting? (Frage wegen dem Crash).

 

Xfs Fehler sind "normal" nach einem Crash. Array in den Wartungsmodus und Reparatur per Kommandozeile durchführen.

 

Erst mit "lsblk" alle auflisten. Dann mit "xfs_repair -v /dev/md1" und dann md2 usw die Platten reparieren lassen. Der korrigiert dann eigentlich nur Metadaten.

Link to comment
10 hours ago, vakilando said:

/mnt/disk1/Florian/Computer/DMS_Kategorien-Tags.ods is corrupted (line is f515d274ae2fbe7ed77799674059efade15ff566515b0ffb400537e120e21480a73bd004a5e555db41669edf63473115adf0876b1299c78e9e77bac26c2feb09 */mnt/disk1/Florian/Computer/DMS_Kategorien-Tags.ods and name is 130)

 

Gut, das funktioniert also schon mal.

 

10 hours ago, vakilando said:

Beide genannten korrupten Dateien sind übrigens in Ordnung und lassen sich bearbeiten und speichern.

 

Erhält man vom Parity Check auch nach einer regulären Dateiänderung eine "corrupt" Warnung oder nur wenn sich das Dateidatum / Größe nicht geändert hat?

 

Normalerweise ist eine Änderung ja ein erwünschten Verhalten. Was dagegen unerwünscht ist, wenn man die Datei nicht anfasst und sie sich trotzdem ändert.

Link to comment
On 1/21/2021 at 7:24 AM, vakilando said:

Reparatur werde ich heute Abend durchführen

Das "heute Abend" ist heute Abend geworden....

 

Nach der Reparatur gibts erst mal keine XFS-Fehlermeldungen mehr im Log. Nur das hier:

Jan 23 22:01:04 FloBineDATA kernel: md: recovery thread: P corrected, sector=45242728
Jan 23 22:01:04 FloBineDATA kernel: md: recovery thread: P corrected, sector=45242872
Jan 23 22:01:04 FloBineDATA kernel: md: recovery thread: P corrected, sector=45242936
Jan 23 22:01:04 FloBineDATA kernel: md: recovery thread: P corrected, sector=45243056
Jan 23 22:01:04 FloBineDATA kernel: md: recovery thread: P corrected, sector=45243112
Jan 23 22:01:04 FloBineDATA kernel: md: recovery thread: P corrected, sector=45243128
Jan 23 22:01:12 FloBineDATA kernel: md: recovery thread: P corrected, sector=47713720

Ich beobachte das weiter, danke @mgutt.

 

Bezüglich des eigentlichen Themas des Threads wegen der fehlenden Pfadangaben "BLAKE2 hash key mismatch, is corrupted" beobachte ich auch weiter.

Bisher kam nichts mehr.

Link to comment
11 minutes ago, vakilando said:

Nur das hier:

 

Das kommt durch einen Parity-Check, der Änderungen festgestellt hat. Dh die Parität war nicht in Ordnung bei diesen Sektoren. Das kann bei einem Crash durchaus passieren, darf aber nicht im laufenden Betrieb auftreten.

 

12 minutes ago, vakilando said:

Bisher kam nichts mehr.

 

Denk dran, dass wenn du das Plugin aktualisierst, deine Änderung nicht mehr vorhanden ist. Die müsste man dann erneut einbauen.

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.