vakilando Posted January 20, 2021 Share Posted January 20, 2021 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: Irgendeine Idee was hier falsch läuft, bzw. was ich vielleicht ändern muss? Quote Link to comment
mgutt Posted January 20, 2021 Share Posted January 20, 2021 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. Quote Link to comment
vakilando Posted January 20, 2021 Author Share Posted January 20, 2021 ok, bunker angepasst. Ich habe das scheduling mal kurzfristig geändert (läuft in 5 min), weil ich nicht weiß welche der vielen Schaltflächen ich klicken soll...muss ich mal nachlesen. Quote Link to comment
mgutt Posted January 20, 2021 Share Posted January 20, 2021 Im Quelltext kommt "log "error: ${hash^^} hash key mismatch, $file is corrupted" 1" bei "Verify" und "Check" vor. Keine Ahnung wann "Verify" ausgeführt wird, aber "Check" hättest du ja in der Liste. Quote Link to comment
vakilando Posted January 20, 2021 Author Share Posted January 20, 2021 jo, das scheduling hat er irgendwie ignoriert. Jetzt läuft der manuelle Check. Quote Link to comment
vakilando Posted January 21, 2021 Author Share Posted January 21, 2021 (edited) 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 January 21, 2021 by vakilando Quote Link to comment
vakilando Posted January 21, 2021 Author Share Posted January 21, 2021 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 ................ Quote Link to comment
mgutt Posted January 21, 2021 Share Posted January 21, 2021 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. Quote Link to comment
vakilando Posted January 21, 2021 Author Share Posted January 21, 2021 Moin, nö, kein Undervolting... Hmm, hatte noch nie solche Fehler nach einem crash. Danke, Reparatur werde ich heute Abend durchführen. Quote Link to comment
mgutt Posted January 21, 2021 Share Posted January 21, 2021 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. Quote Link to comment
vakilando Posted January 23, 2021 Author Share Posted January 23, 2021 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. Quote Link to comment
mgutt Posted January 23, 2021 Share Posted January 23, 2021 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. 1 Quote Link to comment
Recommended Posts
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.