Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Aug 2014 15:40:57 +0200
From:      Patrick Proniewski <patpro@patpro.net>
To:        Martin Simmons <martin@lispworks.com>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: zdb -R question
Message-ID:  <64CCA262-71E9-4688-A725-376DFA681548@patpro.net>
In-Reply-To: <201408131020.s7DAKeCl017621@higson.cam.lispworks.com>
References:  <BEC665FB-4F91-400D-BAA2-67D978C7AC66@patpro.net> <201408131020.s7DAKeCl017621@higson.cam.lispworks.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 13 ao=FBt 2014, at 12:20, Martin Simmons wrote:

>> devices ada2 and ada3 are in ZRAID1 mirror.=20
>=20
> I think you mean just "mirror"? here.  ZRAID1 is not a term used by =
ZFS -- it
> has RAIDZ1, but that requires at least 3 drives.

Yes, you are right, it's just mirror even though I was thinking about =
raidz1


>> zpool scrub won't show any error.
>=20
> If scrub shows no errors then the blocks are not currently used.

thanks for this confirmation.


> For a start, you probably have partitions on the disk so that LBA =
(from the
> start of the disk) will not be the offset into the ZFS vdev.  =
Secondly, the
> offset passed to zdb -R should be in bytes, whereas the LBA is in =
sectors.

Before writing to the list I've tried both bytes and sectors/blocks =
without any positive result.=20

If I'm not mistaken, 460087328 sectors with a 512 byte size yields to =
235564705792 byte offset. So this command should not return "offset must =
be a multiple of sector size" error:

zdb -R zdata /dev/ada3:235564705792:512

I've used gpart to prepare the drive, so its layout is the following:

# gpart show ada3
=3D>        34  3907029101  ada3  GPT  (1.8T)
          34  3907029101     1  freebsd-zfs  (1.8T)

I'm quite lost here, with zdb.

> Try using dd on the whole disk, something like
>=20
> dd if=3D/dev/ada3 of=3D/dev/null bs=3D512 count=3D1 skip=3D460087328
>=20
> Use bs=3D4096 if your drive has 4096 byte sectors.

dd confirms that the first faulty sector is unreadable:

- faulty sector -
# dd if=3D/dev/ada3 of=3D/dev/null bs=3D512 count=3D1 skip=3D460087328
dd: /dev/ada3: Input/output error
0+0 records in
0+0 records out
0 bytes transferred in 9.761358 secs (0 bytes/sec)

- previous sector -
# dd if=3D/dev/ada3 of=3D/dev/null bs=3D512 count=3D1 skip=3D460087327
1+0 records in
1+0 records out
512 bytes transferred in 0.035261 secs (14520 bytes/sec)

- next sector -=20
# dd if=3D/dev/ada3 of=3D/dev/null bs=3D512 count=3D1 skip=3D460087329
1+0 records in
1+0 records out
512 bytes transferred in 0.032987 secs (15521 bytes/sec)


thanks,
Pat





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?64CCA262-71E9-4688-A725-376DFA681548>