Date: Mon, 12 Jun 2017 22:16:02 +0000 From: kc atgb <kisscoolandthegangbang@hotmail.fr> To: "freebsd-fs@freebsd.org" <freebsd-fs@freebsd.org> Subject: Re: Problem with zpool remove of log device Message-ID: <AM4PR05MB17148E0F416FDF75EBC8616AA0CD0@AM4PR05MB1714.eurprd05.prod.outlook.com> In-Reply-To: <0410af$1dldvp4@ipmail04.adl6.internode.on.net> References: <9188a169-cd81-f64d-6b9e-0e3c6b4af1bb@wasikowski.net> <0410af$1dldvp4@ipmail04.adl6.internode.on.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Le mer. 07 juin 2017 08:21:09 CEST Stephen McKay <mckay@FreeBSD.org> a =E9crit: > On Friday, 26th May 2017, lukasz@wasikowski.net wrote: >=20 > >I cant remove log device from pool - operation ends ok, but log device > >is still in the pool (bug?). > > > ># uname -a > >FreeBSD xxx.yyy.com 11.0-STABLE FreeBSD 11.0-STABLE #0 r316543: Thu Apr > >6 08:22:43 CEST 2017 root@xxx.yyy.com:/usr/obj/usr/src/sys/YYY amd6= 4 > > > ># zpool status tank > >[..snip..] > > > > NAME STATE READ WRITE CKSUM > > tank ONLINE 0 0 0 > > mirror-0 ONLINE 0 0 0 > > ada2p3 ONLINE 0 0 0 > > ada3p3 ONLINE 0 0 0 > > logs > > mirror-1 ONLINE 0 0 0 > > gpt/tankssdzil0 ONLINE 0 0 0 block size: 512= B configured, 4096B native > > gpt/tankssdzil1 ONLINE 0 0 0 block size: 512= B configured, 4096B native >=20 > >When I try to remove log device operation ends without errors: > > > ># zpool remove tank mirror-1; echo $? > >0 > > > >But the log device is still there: > >[..snip..] > >I'd like to remove it - how should I proceed? >=20 > Does your system still write to the log? Use "zfs iostat -v 1" to > check. I think it is probably no longer be in use and only the final > disconnection failed. >=20 > What does "zpool list -v" tell you? If you have a non-zero ALLOC > column for your log mirror and the log is no longer being used then > you may have hit an accounting bug in zfs that the zfsonlinux people > ran into a while ago. >=20 > I had this problem when I tried to remove a log mirror from a pool > I have been using for years. I solved it by tweaking the zfsonlinux > hack a bit and slotting it into 9.3. >=20 > If you apply this hack be sure to have a full backup first! When I > used it, I did my backup and a scrub then booted the hacked kernel, > issued the zfs remove command (which succeeded), reverted the kernel, > then scrubbed again. All went well. >=20 > Good luck! >=20 > Here's the patch against 9.3 (should be close even for 11.0): >=20 > Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c (revision 309860= ) > +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c (working copy) > @@ -5446,6 +5446,18 @@ > ASSERT(vd =3D=3D vd->vdev_top); > =20 > /* > + * slog stuck hack - barnes333@gmail.com > + * https://github.com/zfsonlinux/zfs/issues/1422 > + */ > + if (vd->vdev_islog && vd->vdev_removing > + && vd->vdev_state =3D=3D VDEV_STATE_OFFLINE > + && vd->vdev_stat.vs_alloc > 0) { > + printf("ZFS: slog stuck hack - clearing vs_alloc: %llu\n", > + (unsigned long long)vd->vdev_stat.vs_alloc); > + vd->vdev_stat.vs_alloc =3D 0; > + } > + > + /* > * Only remove any devices which are empty. > */ > if (vd->vdev_stat.vs_alloc !=3D 0) >=20 > Cheers, >=20 > Stephen. > _______________________________________________ > freebsd-fs@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-fs > To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org" >=20 I have this case once again. The first time it was one month ago.=20 I had to backup ma datas and destroy and recreate the pool to remove the "f= aulted" log device.=20 I'll try your patch. I hope I'll be more lucky than OP. I have to backup fi= rst again.=20 In my opinion, maybe this problem is related to a certain type of data or a= ctivity. I have my pool for few years now and added a log only some months = ago.=20 It is a little bit strange that it happened to me twice in so little laps o= f time and others are not affected.=20 K.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AM4PR05MB17148E0F416FDF75EBC8616AA0CD0>