Ross wrote:
> I'm trying to import a pool I just exported but I can't, even -f doesn't 
> help.  Every time I try I'm getting an error:
> "cannot import 'rc-pool':  one or more devices is currently unavailable"
>
> Now I suspect the reason it's not happy is that the pool used to have a ZIL :)
>   

Correct.  What you want is CR 6707530, log device failure needs some work
http://bugs.opensolaris.org/view_bug.do?bug_id=6707530
which Neil has been working on, scheduled for b96.

> However I know the pool works fine without the ZIL as my ZIL was a ramdisk 
> and the server's been rebooted a good few times since doing that.  There have 
> been no problems mounting the pool and each time after booting if I wanted a 
> ramdisk ZIL again I just created a new one and ran zpool replace to add it to 
> the pool.
>
> The reason I exported the pool was because my ramdisk was called 'test' and I 
> wanted to replace it with one called 'rc-pool-zil'.  I didn't have enough RAM 
> to have two disks online at once so to save a reboot I exported the pool, 
> deleted the 'test' ramdisk and created my new one.
>
> The only problem is that I can't import the pool any more.  I'm beginning to 
> think I should have rebooted instead...
>   

It still would have failed.

> The output of the relevant commands is:
>
> # zpool import
>   pool: rc-pool
>     id: 11547678520047091246
>  state: UNAVAIL
> status: One or more devices are missing from the system.
> action: The pool cannot be imported. Attach the missing
>       devices and try again.
>    see: http://www.sun.com/msg/ZFS-8000-6X
> config:
>
>       rc-pool     UNAVAIL  missing device
>         mirror    ONLINE
>           c1t1d0  ONLINE
>           c2t0d0  ONLINE
>           c1t2d0  ONLINE
>         mirror    DEGRADED
>           c2t1d0  UNAVAIL  cannot open
>           c1t3d0  ONLINE
>           c2t2d0  ONLINE
>         mirror    ONLINE
>           c1t4d0  ONLINE
>           c2t3d0  ONLINE
>           c1t5d0  ONLINE
>         mirror    ONLINE
>           c2t4d0  ONLINE
>           c1t6d0  ONLINE
>           c2t5d0  ONLINE
>         mirror    ONLINE
>           c1t7d0  ONLINE
>           c2t6d0  ONLINE
>           c2t7d0  ONLINE
>
>       Additional devices are known to be part of this pool, though their
>       exact configuration cannot be determined.
>
> # zpool import -f rc-pool
> cannot import 'rc-pool': one or more devices is currently unavailable
>
> Even after a reboot I get the same error.  Creating a ramdisk again with the 
> original name doesn't seem to do anything either.  Checking the Sun error 
> message it says a top level device isn't available and the pool can't be 
> opened.  Well, the only thing it could possibly be is the ZIL, which seems 
> odd since ZFS could certainly mount the pool fine without it on boot.  Can 
> ZFS really not import a pool if the ZIL is missing?
>   

Yes.  Pending the above fix.  Prior to the fix, the separate ZIL log
was considered to be another top-level vdev.  This is why it refuses
to import, as it believes it is missing a top-level vdev instead of a
(potentially empty) ZIL.

> If so, doesn't that make this a potential issue when people do start using 
> separate media for the ZIL?  If the ZIL hardware fails for any reason do you 
> loose access to your entire pool?  What if you're using battery backed nvram 
> but power is off long enough to wipe the device?  What if a server fails and 
> you need to move the disks to a new chassis?
>
> Can anybody help me get this pool back online?
>   

If you look in the archives, there was a way to work around this
discussed a few months ago.  It isn't pretty, and the real fix is in the
above CR.
 -- richard


_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to