Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Feb 2012 10:07:46 -0500
From:      Adam Coates <adam@bullseye.tv>
To:        freebsd-questions@freebsd.org
Subject:   vdevs in zpool spereated, unable to import
Message-ID:  <4F392742.1060000@bullseye.tv>

next in thread | raw e-mail | index | archive | help
I have a problem that could either be easily solved, or potentially coul 
dhave me royally screwed.

I had a FreeBSD 8.0 system crash on me, and I lost some binaries 
including zfs tools. I tried fixing with Fixit but had no such luck so I 
rebuilt world and kernel on a fresh hard drive. The old system had zpool 
raidz containing da0 and da1. Because of the crash I didn't get to 
export this pool, but when I try to import now I get this:

# zpool import tank
cannot import 'tank': one or more devices is currently unavailable

If I take I look at the list I only see this:

# zpool import
   pool: tank
     id: 4433502968625883981
  state: UNAVAIL
status: One or more devices contains corrupted data.
action: The pool cannot be imported due to damaged devices or data.
    see: http://www.sun.com/msg/ZFS-8000-5E
config:

         tank        UNAVAIL  insufficient replicas
           da1       ONLINE

if I list destroyed pools:

# zpool import -D
   pool: tank
     id: 12367720188787195607
  state: ONLINE (DESTROYED)
action: The pool can be imported using its name or numeric identifier.
config:

         tank        ONLINE
           da0       ONLINE

TADA! There's the missing drive. So what happened?

if I debug each drive...
bad drive:

# zdb -l /dev/da0
--------------------------------------------
LABEL 0
--------------------------------------------
     version=13
     name='tank'
     state=2
     txg=50
     pool_guid=12367720188787195607
     hostid=2180312168
     hostname='proj.bullseye.tv'
     top_guid=6830294387039432583
     guid=6830294387039432583
     vdev_tree
         type='disk'
         id=0
         guid=6830294387039432583
         path='/dev/da0'
         whole_disk=0
         metaslab_array=23
         metaslab_shift=36
         ashift=9
         asize=6998387326976
         is_log=0
--------------------------------------------
LABEL 1
--------------------------------------------
     version=13
     name='tank'
     state=2
     txg=50
     pool_guid=12367720188787195607
     hostid=2180312168
     hostname='proj.bullseye.tv'
     top_guid=6830294387039432583
     guid=6830294387039432583
     vdev_tree
         type='disk'
         id=0
         guid=6830294387039432583
         path='/dev/da0'
         whole_disk=0
         metaslab_array=23
         metaslab_shift=36
         ashift=9
         asize=6998387326976
         is_log=0
--------------------------------------------
LABEL 2
--------------------------------------------
     version=13
     name='tank'
     state=2
     txg=50
     pool_guid=12367720188787195607
     hostid=2180312168
     hostname='proj.bullseye.tv'
     top_guid=6830294387039432583
     guid=6830294387039432583
     vdev_tree
         type='disk'
         id=0
         guid=6830294387039432583
         path='/dev/da0'
         whole_disk=0
         metaslab_array=23
         metaslab_shift=36
         ashift=9
         asize=6998387326976
         is_log=0
--------------------------------------------
LABEL 3
--------------------------------------------
     version=13
     name='tank'
     state=2
     txg=50
     pool_guid=12367720188787195607
     hostid=2180312168
     hostname='proj.bullseye.tv'
     top_guid=6830294387039432583
     guid=6830294387039432583
     vdev_tree
         type='disk'
         id=0
         guid=6830294387039432583
         path='/dev/da0'
         whole_disk=0
         metaslab_array=23
         metaslab_shift=36
         ashift=9
         asize=6998387326976
         is_log=0

and good drive:

# zdb -l /dev/da1
--------------------------------------------
LABEL 0
--------------------------------------------
     version=13
     name='tank'
     state=0
     txg=4
     pool_guid=4433502968625883981
     hostid=2180312168
     hostname='zproj.bullseye.tv'
     top_guid=11718615808151907516
     guid=11718615808151907516
     vdev_tree
         type='disk'
         id=1
         guid=11718615808151907516
         path='/dev/da1'
         whole_disk=0
         metaslab_array=23
         metaslab_shift=36
         ashift=9
         asize=7001602260992
         is_log=0
--------------------------------------------
LABEL 1
--------------------------------------------
     version=13
     name='tank'
     state=0
     txg=4
     pool_guid=4433502968625883981
     hostid=2180312168
     hostname='zproj.bullseye.tv'
     top_guid=11718615808151907516
     guid=11718615808151907516
     vdev_tree
         type='disk'
         id=1
         guid=11718615808151907516
         path='/dev/da1'
         whole_disk=0
         metaslab_array=23
         metaslab_shift=36
         ashift=9
         asize=7001602260992
         is_log=0
--------------------------------------------
LABEL 2
--------------------------------------------
     version=13
     name='tank'
     state=0
     txg=4
     pool_guid=4433502968625883981
     hostid=2180312168
     hostname='zproj.bullseye.tv'
     top_guid=11718615808151907516
     guid=11718615808151907516
     vdev_tree
         type='disk'
         id=1
         guid=11718615808151907516
         path='/dev/da1'
         whole_disk=0
         metaslab_array=23
         metaslab_shift=36
         ashift=9
         asize=7001602260992
         is_log=0
--------------------------------------------
LABEL 2
--------------------------------------------
     version=13
     name='tank'
     state=0
     txg=4
     pool_guid=4433502968625883981
     hostid=2180312168
     hostname='zproj.bullseye.tv'
     top_guid=11718615808151907516
     guid=11718615808151907516
     vdev_tree
         type='disk'
         id=1
         guid=11718615808151907516
         path='/dev/da1'
         whole_disk=0
         metaslab_array=23
         metaslab_shift=36
         ashift=9
         asize=7001602260992
         is_log=0
--------------------------------------------
LABEL 3
--------------------------------------------
     version=13
     name='tank'
     state=0
     txg=4
     pool_guid=4433502968625883981
     hostid=2180312168
     hostname='zproj.bullseye.tv'
     top_guid=11718615808151907516
     guid=11718615808151907516
     vdev_tree
         type='disk'
         id=1
         guid=11718615808151907516
         path='/dev/da1'
         whole_disk=0
         metaslab_array=23
         metaslab_shift=36
         ashift=9
         asize=7001602260992
         is_log=0

One thing that stands out to me is that they have different hostnames. 
da0 has the box's current hostname "proj", while da1 has the previous 
box's hostname "zproj"... could this be the issue? If so, how to I 
change it in this state?

But wait, a look at dmesg reveals:

da0: 6674186MB (13668734464 512 byte sectors: 255H 63S/T 850839C)
GEOM: da0: corrupt or invalid GPT detected.
GEOM: da0: GPT rejected -- may not be recoverable.

Could the drive just be completely effed? If so, then I think I am too.

Please help!



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