From owner-freebsd-fs@FreeBSD.ORG Wed Dec 22 16:31:21 2010 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7E69D106564A for ; Wed, 22 Dec 2010 16:31:21 +0000 (UTC) (envelope-from freebsd@deman.com) Received: from cp11.openaccess.org (cp11.openaccess.org [66.114.41.130]) by mx1.freebsd.org (Postfix) with ESMTP id 59B7F8FC15 for ; Wed, 22 Dec 2010 16:31:21 +0000 (UTC) Received: from mono-sis1.s.bli.openaccess.org ([66.114.32.149] helo=[192.168.2.226]) by cp11.openaccess.org with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69) (envelope-from ) id 1PVRax-0006Qg-Qr; Wed, 22 Dec 2010 08:31:20 -0800 Mime-Version: 1.0 (Apple Message framework v1082) Content-Type: text/plain; charset=us-ascii From: Michael DeMan In-Reply-To: Date: Wed, 22 Dec 2010 08:31:19 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <174AB79A-6767-4464-AE79-C50EFADA360E@deman.com> References: <20101219123029.GM2127@garage.freebsd.pl> To: freebsd-fs@freebsd.org X-Mailer: Apple Mail (2.1082) X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cp11.openaccess.org X-AntiAbuse: Original Domain - freebsd.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - deman.com X-Source: X-Source-Args: X-Source-Dir: Cc: Subject: Re: ZFS recovery after power failure X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Dec 2010 16:31:21 -0000 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 >=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"