Date: Wed, 22 Dec 2010 08:31:19 -0800 From: Michael DeMan <freebsd@deman.com> To: freebsd-fs@freebsd.org Subject: Re: ZFS recovery after power failure Message-ID: <174AB79A-6767-4464-AE79-C50EFADA360E@deman.com> In-Reply-To: <AANLkTikW9gmeNcoc0XCV=BxMCmwjHfXh=sD4CdFJgzTs@mail.gmail.com> References: <AANLkTikpYhLFxTp-5ahXQcZTMC5jMTK9Ca%2B6Xq4VEhhO@mail.gmail.com> <20101219123029.GM2127@garage.freebsd.pl> <AANLkTikW9gmeNcoc0XCV=BxMCmwjHfXh=sD4CdFJgzTs@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Sergey, I am curious on the details of how you did this in case I ever need to = do it in the future. I presume what you did was... A) grab the uberblocks off of each disk to text files using dd or = something? B) find the most recent uberblocks (they should be round robin, with = incrementing transaction group numbers so fairly easy to analyze)? C) you cleared out the most recent two uberblocks on each disk by making = their transaction group (uint64_t ub_txg) to zero or something, using dd = again? D) Did you also have to recalculate the checksum (uint64_t ub_guid_sum), = or were you able to just leave it as-is and ZFS was okay, and then = subsequently just wrote out a new/valid uber block to that position in = the array as new transactions began after you were able to get the pool = remounted? Thanks, - Mike On Dec 19, 2010, at 7:13 AM, Sergey Gavrilov wrote: > I've destroyed 2 latest uberblocks and imported pool. It's ok now. > Your command don't work for me as is, but all tgx nubmers of all = labels are > the same and equal 666999 now. > Think it's already useless information. > So I saved those uberblocks. I can provide them if you need. >=20 > 2010/12/19 Pawel Jakub Dawidek <pjd@freebsd.org> >=20 >> On Sat, Dec 18, 2010 at 11:21:52AM +0300, Sergey Gavrilov wrote: >>> zpool import -F pool2 ok, but >>> zpool status -xv >>> pool: pool2 >>> state: FAULTED >>> status: The pool metadata is corrupted and the pool cannot be = opened. >>> action: Destroy and re-create the pool from a backup source. >>> see: http://www.sun.com/msg/ZFS-8000-72 >>> scrub: none requested >>> config: >>>=20 >>> NAME STATE READ WRITE CKSUM >>> pool2 FAULTED 0 0 1 corrupted data >>> raidz2 ONLINE 0 0 6 >>> da9 ONLINE 0 0 0 >>> da10 ONLINE 0 0 0 >>> da11 ONLINE 0 0 0 >>> da12 ONLINE 0 0 0 >>> da13 ONLINE 0 0 0 >>> da14 ONLINE 0 0 0 >>> da15 ONLINE 0 0 0 >>> da16 ONLINE 0 0 0 >>>=20 >>> zpool clear pool2 >>> cannot clear errors for pool2: I/O error >>>=20 >>> Is there any way to recovery data or portion of data at least. >>=20 >> Could you provide output of: >>=20 >> # apply "zdb -l /dev/da%1 | egrep '(^LABEL|txg=3D|)'" `jot 8 9` >>=20 >> -- >> Pawel Jakub Dawidek http://www.wheelsystems.com >> pjd@FreeBSD.org http://www.FreeBSD.org >> FreeBSD committer Am I Evil? Yes, I Am! >>=20 >=20 >=20 >=20 > --=20 > Best regards, > Sergey Gavrilov > _______________________________________________ > freebsd-fs@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-fs > To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?174AB79A-6767-4464-AE79-C50EFADA360E>