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>
