Replies: 1 comment 17 replies
|
Decode the error code first, it changes the picture.
#define ECKSUM EBADE
That explains the rest: "insufficient replicas" and "devices unavailable" are what ZFS says when it can't get a valid copy. Both mirror members are there and returning data, the data just fails its checksum. Clean SMART is expected. The drives are returning exactly what was written. What was written is bad.
The part that matters: a checksum failure on the root objset on both mirror halves. Independent disks don't corrupt identically. That's above the block layer, so either the version you briefly ran or memory. ZimaBlade has no ECC, and bad RAM does exactly this: checksum computed over already-corrupt data, then written correctly to both members. A mirror can't protect you when both copies are consistently wrong. Run memtest86+ overnight before anything else. If the RAM is bad, every further import attempt is building on corrupt arithmetic. To look without touching the pool: That gives txgs and timestamps. If any predate the upgrade, Straight answer: ECKSUM on the root objset with no valid copy either side is often terminal, and |
Uh oh!
There was an error while loading. Please reload this page.
Hello everyone. I have some issues with my system and with the help of Claude AI, I tried to fix it. but failed. This post was made with AI, claude had all my reports and contexts.
Hoping someone recognizes this signature. I have a 2-disk mirror pool that went offline unexpectedly and now fails to import with every standard recovery method, despite strong evidence the pool and data are structurally intact.
System: ZimaBlade, TrueNAS SCALE 25.10.5 (reverted back to this version after briefly running a newer update — the pool broke shortly after that update, within about a day)
Pool: 2x 4TB WD Red Plus (WDC WD40EFPX) in a single mirror vdev, ashift=12, ZFS pool version 5000 / filesystem version 5
Symptom: Pool shows offline in the UI.
zpool import(no args) correctly detects the pool as ONLINE with both mirror members ONLINE. But actually importing it — by name, with-f,-F,-FX,-o readonly=on, in every combination, withzil_replay_disable=1andzfs_recover=1set — fails every time with either:or, with readonly/-F variants:
What we've ruled out:
zdb -lon both disks shows all 4 labels intact and identical (txg=4145589at first check, latertxg=4147295), matchingguid_sumacross both disks./sys/block/sdX/ro= 0,blockdev --getro= 0).The actual reproducible signature, from
zpool events -vafter every failed attempt:This exact pair repeats identically across every import attempt, regardless of flags used.
zio_err=0x34(52, ENOMSG) on object0x125in objset0x0(the MOS/root objset) during log replay, every time.Most interesting data point:
zdb -e -p /dev/disk/by-partuuid Nirala_Main_Poolcompletes successfully:So zdb can fully load the pool's trusted config from disk, which suggests the underlying data and most metadata are intact — the failure appears isolated to processing one specific intent log record during the import path itself.
Suspected trigger: Two days before discovery, I ran
zpool import -fonce, unsuccessfully, and I'm not fully certain if it was interrupted (system was later found in a bad state, and I subsequently reverted TrueNAS to the prior version). My best guess is this left a partially-written/corrupted ZIL record referencing object0x125that log replay can't process, and which none of the standard bypass mechanisms are routing around.Question: Is there a way to force ZFS to skip/discard this specific corrupted log record (object
0x125in the MOS) during import rather than aborting entirely? Iszfs_recover=1expected to cover this class of MOS-level replay error, or is there a lower-level tool/patch needed here? Happy to provide fullzdb -e -bcsvLoutput or anything else that would help diagnose.All reactions