Concern: ZFS Mirror issues (12.STABLE and firmware 19 .v. 20)
Steven Hartland
killing at multiplay.co.uk
Sat Apr 20 15:50:41 UTC 2019
Have you eliminated geli as possible source?
I've just setup an old server which has a LSI 2008 running and old FW
(11.0) so was going to have a go at reproducing this.
Apart from the disconnect steps below is there anything else needed e.g.
read / write workload during disconnect?
mps0: <Avago Technologies (LSI) SAS2008> port 0xe000-0xe0ff mem
0xfaf3c000-0xfaf3ffff,0xfaf40000-0xfaf7ffff irq 26 at device 0.0 on pci3
mps0: Firmware: 11.00.00.00, Driver: 21.02.00.00-fbsd
mps0: IOCCapabilities:
185c<ScsiTaskFull,DiagTrace,SnapBuf,EEDP,TransRetry,IR>
Regards
Steve
On 20/04/2019 15:39, Karl Denninger wrote:
> I can confirm that 20.00.07.00 does *not* stop this.
> The previous write/scrub on this device was on 20.00.07.00. It was
> swapped back in from the vault yesterday, resilvered without incident,
> but a scrub says....
>
> root at NewFS:/home/karl # zpool status backup
> pool: backup
> state: DEGRADED
> status: One or more devices has experienced an unrecoverable error. An
> attempt was made to correct the error. Applications are unaffected.
> action: Determine if the device needs to be replaced, and clear the errors
> using 'zpool clear' or replace the device with 'zpool replace'.
> see: http://illumos.org/msg/ZFS-8000-9P
> scan: scrub repaired 188K in 0 days 09:40:18 with 0 errors on Sat Apr
> 20 08:45:09 2019
> config:
>
> NAME STATE READ WRITE CKSUM
> backup DEGRADED 0 0 0
> mirror-0 DEGRADED 0 0 0
> gpt/backup61.eli ONLINE 0 0 0
> gpt/backup62-1.eli ONLINE 0 0 47
> 13282812295755460479 OFFLINE 0 0 0 was
> /dev/gpt/backup62-2.eli
>
> errors: No known data errors
>
> So this is firmware-invariant (at least between 19.00.00.00 and
> 20.00.07.00); the issue persists.
>
> Again, in my instance these devices are never removed "unsolicited" so
> there can't be (or at least shouldn't be able to) unflushed data in the
> device or kernel cache. The procedure is and remains:
>
> zpool offline .....
> geli detach .....
> camcontrol standby ...
>
> Wait a few seconds for the spindle to spin down.
>
> Remove disk.
>
> Then of course on the other side after insertion and the kernel has
> reported "finding" the device:
>
> geli attach ...
> zpool online ....
>
> Wait...
>
> If this is a boogered TXG that's held in the metadata for the
> "offline"'d device (maybe "off by one"?) that's potentially bad in that
> if there is an unknown failure in the other mirror component the
> resilver will complete but data has been irrevocably destroyed.
>
> Granted, this is a very low probability scenario (the area where the bad
> checksums are has to be where the corruption hits, and it has to happen
> between the resilver and access to that data.) Those are long odds but
> nonetheless a window of "you're hosed" does appear to exist.
>
More information about the freebsd-stable
mailing list