Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Jun 2011 15:32:42 -0700
From:      Edward Sutton <mirror176@hotmail.com>
To:        <freebsd-fs@freebsd.org>
Subject:   zfs mirror: 1 disk lost, corrupted other disk. crashes zfs tools and panics system
Message-ID:  <SNT105-W34F47DC90A1802CC68B0FBE6620@phx.gbl>

next in thread | raw e-mail | index | archive | help

As a disk started clicking but running slow=2C then died out=2C trying to r=
eboot the system ended up in a crash early in the boot sequence=3B not sure=
 if it was zfs related or not.=20
I managed to get back most data from the pool. It ends up with problems for=
 some filesystems created under /var. Created per instructions on http://wi=
ki.freebsd.org/RootOnZFS/GPTZFSBoot/Mirror
I then cloned the disk for further & safer play which appears as:

  pool: zroot
 state: FAULTED
status: An intent log record could not be read.
        Waiting for adminstrator intervention to fix the faulted pool.
action: Either restore the affected device(s) and run 'zpool online'=2C
        or ignore the intent log records by running 'zpool clear'.
   see: http://www.sun.com/msg/ZFS-8000-K4
 scrub: none requested
config:

        NAME           STATE     READ WRITE CKSUM
        zroot          FAULTED      0     0     0  bad intent log
          mirror       DEGRADED     0     0     0
            gpt/disk0  ONLINE       0     0     0
            gpt/disk1  UNAVAIL      0     0     0  cannot open

Going by my memory here: It fails to boot with "ROOT MOUNT ERROR". I had lu=
ck with `zpool clear=2C removing disk1=2C and mounting all pool partitions.=
 Data could be copied off but some filesystems were missing and attempts to=
 list all snapshots segfaults. Every export/import requires a zpool clear. =
Attempting a scrub lead to a panic on every import on the pool thereafter. =
Tried a -current snapshot (FreeBSD-9.0-CURRENT-201105-amd64-dvd1.iso) livec=
d mode with similar panic results to 8.2-release.

Seems the disk already imported after last restore from its dd backup. Step=
s I heard of to get to more data involve using zdb to locate IDs (from -ddd=
d?) but more than just `zdb` ends in an error such as the following run.

zdb  zroot
    version=3D13
    name=3D'zroot'
    state=3D0
    txg=3D2181411
    pool_guid=3D8313451715893809405
    hostid=3D1510368511
    hostname=3D''
    vdev_tree
        type=3D'root'
        id=3D0
        guid=3D8313451715893809405
        children[0]
                type=3D'mirror'
                id=3D0
                guid=3D14331193696332474730
                whole_disk=3D0
                metaslab_array=3D23
                metaslab_shift=3D31
                ashift=3D9
                asize=3D1996098895872
                is_log=3D0
                children[0]
                        type=3D'disk'
                        id=3D0
                        guid=3D2590809366000450414
                        path=3D'/dev/gpt/disk0'
                        whole_disk=3D0
                        DTL=3D29
                children[1]
                        type=3D'disk'
                        id=3D1
                        guid=3D13294596440516983442
                        path=3D'/dev/gpt/disk1'
                        whole_disk=3D0
                        DTL=3D631
Assertion failed: (doi.doi_type =3D=3D DMU_OT_DSL_DIR (0x8 =3D=3D 0xc))=2C =
file /usr/src/cddl/lib/libzpool/../../../sys/cddl/contrib/opensolaris/uts/c=
ommon/fs/zfs/dsl_dir.c=2C line 93.
Abort (core dumped)

Any suggestions to try to get the data back? If I can provide any useful de=
tails to get panics eliminated=2C I'd be glad to provide them but do not kn=
ow how to start. I do have some crash dumps from may 25-31. Not sure which =
of the dumps contain useful data now or that they are complete=3B attempted=
 scrub+dump on boot was going very slow so I used ctrl + C at least once.
 		 	   		  =



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?SNT105-W34F47DC90A1802CC68B0FBE6620>